This is the third and concluding part of our short series on what to look for when hiring a PHP programmer for your company. In part #1 we took a look at ensuring the programmer was vigilant against SQL injection vulnerabilities. In part #2 we reviewed code formatting & commenting practices. For this final portion we will tackle a set of topics more directly related to your business’ intellectual property interests.
As a programmer develops a firm understanding of a language, they begin to tire of ‘re-inventing the wheel’ as it were, and start to standardize common functionality such as database connections, input validation, template output, and other monotonous tasks. A benefit to standardization is that the programmer learns how to be more efficient with programming by saving themselves time creating redundant functions and classes used every project.
Most programmers will opt to use what may be considered industry standard frameworks for their various needs. For example, the Zend Framework is a robust programming framework maintained by a company formed by the creator’s of the core PHP scripting engine. Similar frameworks such as CakePHP focus not only on organized standardization of code but also provide methods to enhance rapid application development. If your needs are more focused, say specifically needing a database framework, PEAR::MDB2 will provide exactly the functionality you need and nothing more.
There’s no direct answer to “which framework is the best?” or “should I use a robust framework such as Zend or merely components such as PEAR::MDB2?”. Ultimately the developer should decide what is the best route for any given project and try to be consistent in their usage. Such consistency project-to-project allows a developer to refine their skills with a few frameworks rather than testing the ‘flavor of the week’ framework and never truly learning how to take advantage of one or two frameworks as well as possible.
A consideration to be made for a company before choosing to implement any framework or other shared code-base is to understand the licensing restrictions or requirements. As part of your developer’s role at a company, they should be competent to explain basic licensing terms to you regarding any given project. With a plethora of different open-source licenses available, it’s important that a developer will choose code that can be utilized in whatever method your company is monetizing its products. For instance, if an application is using a GPL-licensed portion of code, your company may be required to submit the source code for your application back to the community. For certain business models this is not an ideal situation.
Further, when a developer uses their own framework, be sure to understand if you as their employer are licensing their code or if you are restricted to modify the code after their departure. Certain sticky legal situations can be created by hiring a developer who is writing code for you with their previously built framework. Take the time to get your development agreement hashed out before a developer starts to work for you, understanding all legal concerns related to code licensing.
We hope that you have enjoyed our series on hiring a PHP programmer and that you have gained insight as to what to look for when you hire your next employee. If there are further topics you’d like to hear about, feel free to e-mail us at firstname.lastname@example.org.