What makes a professional programmer?
I recently got an email question put to me by someone wanting to know what makes a professional programmer:
Since I have started my career, I have been working for managers who really don’t know how to program. I have been improving myself through tutorials and books. However, I still don’t know whether i’m a good programmer or just better than the guys i’m working with.
Can you tell me what makes a good programmer? Better yet, please tell me what level should a PHP programmer be at after three years of development?
The short answer:
A good programmer is able to put out clean code that works and is easy to update. Simplicity is a sign of professionalism in any profession or discipline.
In the same email, he continues to ask:
Can you give me a list of books or subjects I should know by now (three years of development). Any advice you give would be much appreciated.
Beyond PHP basics (and the core functionality), I would suggest that PHP programmers should work to learn the following:
- Object Oriented PHP
- Learn about design patterns. Important ones include: MVC, decorators and factories.
- Learn an MVC framework like the Zend Framework or PHPCake etc …
- Get deeper into PHP; understand how it works under the hood. This will help you later on when trying to decided how to most effectively build applications.
Notes:
Like any other language, PHP sometimes gives you a few ways to do the same thing. It makes sense to learn the advantages and disadvantages of each for the sake of optimized code. For example, PHP provides a few different ways to interface with MySQL … you have the classic libs but you also have new object oriented methods.
When it comes to learning design patterns, it might be easier to learn a PHP framework at the same time. Why? Many of these frameworks often times provide great examples of popular design patterns.
Final comment:
Though the above is ideal, I’ve have seen many PHP programmers who don’t have half the skills I mention above, but were still effective programmers who got the job done.
Stefan Mischook
www.killerphp.com
Thanks for the article. This really helps.