I have been working with PHP for more than 3yrs (I believe still I am beginner in this category) – I was present in several interview board. Which things disappointed me most is the “lack of eagerness” to learn what comes new. Sometime developers thinks that learning Only PHP will help them to get lucrative jobs!! OMG
Specially in BD most of the time PHP developers plays multiple roles in the companies, they are developer, they are template designers, they are HTML coders, they are DBA, they are PMs….what the heck. Only few companies have different people for these roles.
How far you can go just learning PHP (RAW code, in ancient style, that means PHP+HTML together, yak!!)? You have to have knowledge in CSS, JS, Frameworks, Multiple DBS
When it comes the question of CSS, you should maintain a list of websites where from you can get updates. Dont learn the CSS from book, but goto websites and see what is happening… If you are still using Tables to design ur pages, let me say man, it sucks. Got any idea about Liquid Layout?? not yet?? OMG
Lets go for JS. Javascript is simple yet powerful language (I better say a mandatory one for web application developers) to learn. Unless u have proper knowledge in JS, its very hard to develop “usable” web 2 apps. But wait, I never meant RAW JS. you have to have some basic skills on basic javascript, but dont spend time for re inventing the wheels. Go for popular libs like Prototype, jQuery, Moo, Mootools, Scriptaculous, Dojo, Rico…. Why you are sitting man?? go learn them.
MySQL becomes very popular by last couple of years becoz of it’s performance. By the meantime PostgreSQL also developed a lot. Now its hardly a factor between them, if you talk abt performance. Beside that I must say postgre is much more mature, feature rich and thats why it is called “open source oracle”. Never wait for only MySQL. Learn postgreSQL. And it is also necessary to learn atleast one of the embedded database like SQLite. Dont ever think that SQLite is less powerull. You can develop amazing apps using simply SQLite, with some “hacks” and “optimizations”
Team development attitude is another important thing. If you are introvert, restricting and never share your knowledge with others, you dont cost a dime. What is the value of yor knowledge unless you explore it? Also you must posses a very friendly attitude while you are working in a team. Dont think your team mates are your competitor but they are just working with you to build a big result together….nothing personal. Participate in forums and write blogs.
If you are PHP developer and think you have learned enough already, let me give some suggestions. Please DONT think you have finished learning. Everyday there are new release from PEAR, PECL and many other providers. Please learn useful packages from PEAR. Also learn the following
1. ezComponents
2. Zend Framework (dont mix framework with the MVC concept.. MVC is just a part of Zend Framework)
3. Popular opensource packages
4. PEAR
5. Templating engines like Smarty, Savant
also keep yourself uptodate from the following sites
1. www.phparch.com
2. www.phpmag.net
3. www.phpmagazine.net
4. www.ajaxian.com
5. www.mashable.com
6. www.programmableweb.com
7. www.planet-php.org
Please Please Please – Upgrade Yourself….
Hey! Nice article!
I think this is very helpful for us to upgrade ourself with the latest tools within a short time.
Its excellent, this only comes from you. Thnx for helping us
Great Article !!!!!!
Basically Hasin write such a great thing we developer nothing note this thing
if we are not upgrade ourself then nothing to do in develpment and the learning is the process of life ………………………..and sharing of knowledge
is the main thing .
I hope we developer upgrade ourself
hello friend ,amazing and eye opening post you have delivered this time and honestly it realized me about my current knowlegde level and thanks to you for providing links where we can get latest updates of our field as i was searching any proper place for that purpose, honestly its realy timely for me and hope it would be for others,INSHALLAH, thanks for helping us alot
Very cool blog entry. Thanks Hasin for always helping and inspiring us!
Thanks Hasin Vi
Although written in a rather aggressive mode, this writeup surely will push the PHP programmers out there in BD to re-think about their current standing.
I agree with Hasin bro regarding the continuous knowledge development phenomena – you gotta know whats happening around in order to keep pace with the world. And don’t just keep yourself in the national boundary, the whole world can be your prospective job market.
I will emphasize on another important issue: Use frameworks. Pick a good framework that suits your coding style and stick with it. If possible, contribute to the development of the framework. In that way, you’re not only using the code for better performance, you’re also helping others to do so. Find a comprehensive list here. (telling about me, I’ve chosen Code Igniter).
Keep the learning rolling !
Emran
I think you are not only a good PHP expert but also a good man indeed ! I appriciate highly your attitude to share knowledge with everyone. I don’t work in PHP but i feel to get knowledge from you many ways. Please carry on…
I review myself to your article, and found lot of lacks inside me. Really this article is great for review of a web programmer !! I hope any programmer can stand to the latest technology from this article.
Wish hasin can write this type of article every week for developing us. Keep it up.
Thanks
Xavier Gomes
great topic Hasin bhai. here i don’t know about prototype like jQuery, Moo, Mootools, Scriptaculous, Dojo, Rico.. etc. and in template Savant is unknown. thanks i will start learning now and thanks for these link of website..
Bring backs old memories. One year back, in some group, at some time I said something like this.
You were right that time Omar, atleast in some issues. I misinterpreted that time, sorry for that….
hi hasin bhai,
great !!!!
Hasin,
You are a BOB and please do not compare yourself with others. You are playing since 3 years in this field and besides your job, I found you like to play with technology with your own wills. Most of the software companies of BD are running by Dumb people and delivering stupid outputs. For example have a look at any Bangladeshi Governmental web site. But still they are accepting that.
When demand will come, solution will take birth in the developer/engineer’s mind, but if their is no demand, how would they know what to learn!!! Silly na? But this is the fact. In my point of view, your company has best demands for experts, if you take interview and give your feedback to the applicant on the spot then they may feel they need to learn something more.
What do you think?
Hello Hasin,
Nice article, though everything was perfectly correct according to programming and programmer point of view. but you can’t blame or point a developer who are not upgrading themselves… In India i have observed lot of developers working 12-15 hours a day for their employers. and those are basically service providers who want everything to be completed in next to no time.
and more over there is lot of confusion amongst the developers regarding frameworks, personally i am impressed by codeignitor ( which you suggested me )
I hope this article will give lot of motivation to those kinda developers.
Thanks again on behalf of everyone as i am referring lot of people to read this article
to be solid and reliable in any subject, you need both width and depth. to succeed in any subject, it is not the passion or skills in that subject that will make your success. it is all about your passion for learning, and your skill in absorbing and utilizing new knowledge!
and text books? they are often out of date before they leave the printing press… what you need, and what hasin says, is that you should be a curious reader and contributor in top forums and other places where the experts gather, and follow the conversation, not the printed instructions.
you have to live what you learn and learn as you live.
Hasin is the man, who can even make ME interested abt PHP thing by writing this sort of write ups!!!
salute to him!!!
I like Arild’s comments. We should say something like that to the applicant on the interview board when the applicant cannot meet your demands. That may make them a but enthusiastic about technology. 🙂
I am thinking I am still a child in PHP.
Thanx Hasin Vai for inspiration.
good arty .
tnx . !
Omi, I do the same thing for all my interviews. When they cant answer anything or answer it wrong, I tell them the correct one. 😀
In PHP view, I fully agree with this article.Self learning is the best way to get back on action.We are already way behind from the other world,this gap should fill up.I think software company also have some responsibility to make good people.
What about the PHP conference??
very different post Hasin bhaia….hope you won’t mind if I add this article in my wordpress as a link 🙂 and its just too very useful post for people like me who’s just a beginner he he…:) thanks again 🙂
Hasin bhai,
many many thanks to you that you wrote like that articles. It’s will help me in future and i learn something from your post.
Inshallah, i will try to upgrates myself.
gr8 Post 🙂 Keep up your Good Works 🙂
Hasin bhai, indeed its a great article. it tells the sorry tale of the PHP programmers in our country. It is also true for other programmers too not only php. we have very little interest to know new things. Our software companies and the projects we have also somewhere related for this. Its only you who can improve yourself. Thank you once again for reminding this .
True! Learning only core php is like reading only one page of the ‘programming’ encyclopedia. And exploring the web/PHP technologies/open sources is like reading 10 more pages. To read more pages, you may need to step out of web/PHP. To read some ‘strang’ pages, you may even need to close your eyes. BTW, many pages are still blank.
[I should mention that Tahmid Munaz (my friend) referred me to this article..]
Hasin Bhai, This article really illustrates the present alarming situation of our maximum developers but indeed there is a chance for those who can follow your guideline.
Thank you for aware us,sharing your thoughts and to do lists. We will appreciate this kind of firing articles more from the people like you who are the pioneer in the industry.
wow hasin bhai, nice write up.
Bro i wanna add up few topics which are leaking in most of the php developers. i belief most of the PHP developers are producing dirty fast code (not 30th first night ;)) it is because of the following reasons:
(my suggestion are enclosed with in ‘–>’ context)
1. less concentration of DRY (Don’t Repeat Yourself)
–> Create each fragment as reusable module (for example: latest_comments.php, latest_user.php, latest_news.php etc..)
2. Search those code which u have written more than once
–> Separate them. (keep them in separate reusable file)
3. Keep your business logic away from presentation layer
–> you don’t need to follow any strict design pattern like MVC, MVP. just plain solution is enough. Use php class to manage your business rules.
4. Use any good framework, it doesn’t mean you have to use java or Ruby on rails like framework. Better go for simple and productive framework.
5. Use library from trusted parties (hope zend is growing up its huge libraries on many aspect), PEAR is obviously great choice.
6. Don’t think all running web application is 100% accurate, and never ever grab their design and code. Better use your own sense and create a colorful stuff… meet your own client requirements.
7. Don’t mix up PHP with java or these kinda technologies
–> The way php works and the way Java works are not same, and better not compare both. Never ever try to implement all design patterns which are successful on Java EE platform. PHP is great for its simplicity. Java is great for its complexity.
8. Go for better object orientation, but it doesn’t mean you have to restrict everything with in a bunch of classes.
–> PHP is not intended to develop for this purpose. Rather follow php related performance tuning stuff.
9. Always keep your data access layer separate from raw or presentational php coding
10. Always go through open source projects, where you can learn how big projects are managed by human beings.
My few suggestions:
1. Keep a separate file for all SQL queries. for example:
(#) file: sql_index.php
——————
$select_users = ‘select * from User’;
$delete_user_by_id = ‘delete from User where userID=?’;
$select_comments = ‘select * from Comment’;
$delete_comments = ‘delete from Comment’;
(#) file: sample_usages.php
———————
…..
$result = mysql_query( $select_user);
…..
—> Benefit is, when you want to solve cross database related issue, you can resolve it very frequently (though you can write Data Abstraction Layer dependent code)
2. Presentational files (which files are used to render web UI) should keep their logic through few helper functions (rather hard embedded code). For example:
(#) File: test.php
——————
title ?>
(#) File: replace_test.php
—————-
3. Limit frequent database access.
–> Go for caching system, use PEAR cache or any cache solution from PECL. For more optimized and challenging solution go for DSO related caching solution, whenever you will need multiple server It will give you a big hug. Go for MemCache, as it has been proven for several years.
4. Grow your knowledge on Software engineering.
5. Explore your idea, you can become a good developer but you can’t become a good idea creator unless you explore and dive inside the deep sea of knowledge.
6. Travel as much place as you like, it will help you to grow up a good sense of creativity. (I have to start it … 😀 )
7. Don’t forget to adopt little stuff from TDD (Test driven development), dig these terms: unit test, fixture etc…
8. Try to work on agile team. Enforce your PM to learn about agile related stuff. Select the best agile methodologies which are most suitable for your company. (Agile comes with a bunch of options, scrum, XP, rup and many stuff)
9. While you writing your code, always think, your code will be verified by some guy, who is very strict and who will surly scream because of your poor writing… :p (anyway, if u feel your code is nice … just send me. during my week ends I will check it up… obviously I will come with a set of good criticize 🙂 )
10. Learn, Dig, Seek and Dive in “KnowSea”
11. Use change management tools, (Subversion, bug tracking system and project planning tools)
(hasin bhai apologized for Big comment :p)
Best regards,
great article. After long expecting I got a good suggestion for my career.
thanks Hasin vy
Hasin bhai,
Thats really great.
Hasin Vai,
Thanx 4 such this importent things.
I think, It’s realy helpful 4 all bd php developers.
@all developers:
Did u try ECLIPS IDE ? at : http://www.eclips.org/
Its an free IDE to work work with php, html, javascript, css, java and much more.
—–Thanx all
Dear Hasin,
Well Written Piece. Keep up the great work..
Really very good article!!
NIce article!!
Oh! Good article
Thanks.
Hi Hasin Bhai,
Many many thanks for ur article. I hope that article will help us & I want to learn more about Webpages design from you. Hope you will give us many article about this.
Again many many thanks.
Note : May I contact with you. If you r living in Dhaka city plz Hasin Bhai give me ur contact number, then I will try to contact with you.
Allah Hafaz
Alauddin Ahmed
I fully agree with this. I think you can add another link in no 8 here:-
http://www.readymadesearch.com/
Ron
This really was a great article for someone trying to get started in entry level in PHP.
“Learning only core php is like ….”
Cited as quotable metaphors-analogies in Metaphor-Analogy Archive”.
Thank you.
i need all php material updated
Sorry for being late to comment this marvelous post,Though i comment very ofetenly but i wasn’t able to stop commenting this time for such eye catching Post,that is realy a nice help for beginners like us to choose a good and right path,Thanks
With all respect, but I ignore blogs like yours than contain text like this:
“to design ur pages”
“becoz of it’s”
You lose all credit with this, at least with me.
Great article for the web developers.
No doubt from me,if someone follow this trend , he could be a very good learner and future expert in web development .
Thanks a lot hasin vai for such a great article.
very interesting, but I don’t agree with you
Idetrorce
In supporting. You always like it. But there are other ways and methods.
[…]great post[…]
gr8 Post Keep up your Good Works
Very interesting information! Thanks!
Thanks, very interesting
keeping your self update is very important. I it necessary for every web developer especially PHP developers to stay in touch with latest incoming technologies. Mean while i think php.net is the site to look for new technologies.
Thank you very much. This was a great help.
…
Hi.
Interesting article.
Thank you
And how to subscribe to RSS?
Great article, thanx for information 🙂
____
oo / / \ \
(_, \ / \ _ / \
\ \ _/ _ \ _/ >
/_ /подарки \ _\
Hi, just read this post. Thank you!
из пустого в порожнее…
nice list you have here… thanks
Very interesting and beautiful blog! Thanks you!
Хороший сайт
respect
Very interesting and informative blog, thanks you !
Поставьте Akismet
hey.. nice article… i agree.. since new version keeps coming up… we must upgrade ourself too…
D’une manière intéressante quoi que ces sujets avaient l’air s’il y avait tout au contraire ? ? Certes le sujet nécessaire, mais je pense qu’en dispersant nos remarques nous par rien nous ne contribuerons pas spécialement.
Thanks, useful material. Has added your blog in bookmarks.
As they say this not frighten anybody. Here are just interested in how it will happen. Surely everything will be just as now
There are other ways and methods!
Yes, clearly Tasty noni
The good site very interesting!!! Write to a thicket, it is pleasant to me!
vaia thank you ank valo likasen.