Just PHP will give you nothing… unless you upgrade yourself

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
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….


  1. 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

  2. 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

  3. 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 !


  4. 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…

  5. 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.

    Xavier Gomes

  6. 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?

  7. 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

  8. 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.

  9. Hasin is the man, who can even make ME interested abt PHP thing by writing this sort of write ups!!!

    salute to him!!!

  10. 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. 🙂

  11. 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??

  12. 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 🙂

  13. 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.

  14. 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 .

  15. 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..]

  16. 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.

  17. 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,

  18. 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

  19. 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

  20. 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

  21. 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.

  22. 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.

  23. 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.

  24. 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.

Leave a comment

Your email address will not be published. Required fields are marked *