A good PHP programmer will understand technical requirements and clarify any uncertainty. A great PHP programmer goes the extra mile to understand the business requirements driving the technical requirements.
A good PHP developer structures code clearly, adding comments to clarify functionality where required. A great PHP developer’s code is so clear and concise that his comments are few and valuable – they are no longer needed to explain and caveat code.
A good PHP programmer selects an appropriate framework for a project based on development time and efficiency. A great PHP programmer selects a framework based on long term business goals.
A good PHP programmer considers security concepts when writing code. A great PHP programmer thinks like a hacker at every level, from the application’s business logic right to the code itself.
A good PHP developer tests his code against technical requirements before delivery. A great PHP developer tests his code against business requirements, uses common sense and logic to foresee changes and suggests them in advance.
Anyone can learn to be a good PHP developer, but a great programmer has a different mind-set altogether. A great programmer is worth his weight in gold. He saves the business five times his own salary through his productivity and efficiency, automating repetitive tasks, building a code repository, and applying his skill and ability where it would be most beneficial for the Client.
Where the Client’s language is not the programmer’s first language, the programmer should make the extra effort to clarify and understand requirements. This is critical, especially with offshore development projects.
While the Client goes out to look for “the best” PHP programmer, what he’s really looking for is one who will best meet his business needs – not one that writes the most elegant code or who has worked with the most frameworks. Therefore, an experienced PHP programmer not only excels in PHP programming itself, but ensures that his overall work product is in line with business requirements, processes and policies.
Let’s look at what goes wrong most often in working with PHP programmers –
Time and cost overruns, often significantly. A great PHP programmer is mindful of budgetary constraints and project milestones. If a well-crafted PHP application is delivered on the newest and most cutting edge platform, yet has missed the Client’s final agreed deadline by two months, the project is likely a failure.
Future application constraints can sometimes be crippling. A good PHP programmer is able to build an application to specification. A great PHP programmer can integrate future direction in to the application, allowing improvements and upgrades to happen with ease, rather than requiring significant effort and code refactoring.
Scope creep. This is where the scope and requirements will continue to grow and evolve whilst the project is under way, leading to often significant extra cost and code refactoring. A good PHP programmer works diligently to the Client’s requirements, whereas a great PHP programmer factors in broad possible direction changes and consults with the Client on changes throughout.
Ambiguous specification. Often, specifications contain requirements that can seem obvious to the Client but mean something totally different to the programmer. “The admin section will contain a feature to manage the newsletter signup list, and send targetted mailshots.” The Client may be envisioning a full CRM, search functions, and a full rich editor based mailing list manager. The developer on the other hand may have an HTML table list with no pagination, and a plain text box to allow the operator to enter a message to the subscribers. A great programmer will clarify ambiguity in depth with the Client rather than making assumptions.
Lack of testing, QA and security planning. Testing, quality assurance and security can not be implemented as an afterthought, but must be engineered into all stages of the development process. A Client should not find out at delivery stage that their project does not function as they had expected. A Client should not face 25% increase in budget to begin testing and quality assurance. A Client should not deal with security weaknesses and limitations because they have not been factored in to the project. An experienced PHP programmer will foresee this in advance
To be a great PHP programmer; experience, business awareness, logic and communication skills are all essential.