In Response to ‘Where did all the PHP developers go?’
at 7.55amIn response to this post by Leonid Mamchenkov about the lack of good PHP developers in Cyprus I thought I would share my thoughts about the experience that the company I work for has had in recruiting a PHP developer to work on our web applications in the UK. We have had great difficulty targeting the quality of developer that we need for our large scale business applications and have come to the conclusion that it’s partly due to the lack of good web developers in the market. We have had a wide variety of applicants but very few have been anywhere near the quality we have been looking for (so far).
There are a lot of ’script kiddies’ around who claim to be advanced developers just because they have made a few websites that use a scripting language and a database. Very few seem to have any knowledge of MVC, frameworks, design patterns, version control or even fundamental concepts like OO and basic commenting and documentation techniques. Like Leonid we would settle for even a few of these skills.
I don’t believe that these problems are necessarily specific to PHP (I may be wrong) but probably the web development industry in general. One of the main problems is the lack of respect for web development by computer scientists and academics. Coming from a university that teaches what I would call pure computer science (by that I mean concepts, thought processes, theory and techniques rather than any particular technologies or programming in a specific language) I was staggered to find, at the end of my degree, that out of my hundred or so fellow students I was one of the only ones going into the web development industry as a career. There were some who had an interest but it was always considered a secondary skill which would be a bonus feature on their CV rather than their main selling point. Web development, particularly with scripting languages (including PHP, Ruby and Python), is not considered to be a ‘proper’ profession for someone with that level of qualification. Java is the exception to the rule as it seems to be the language of choice for many universities to teach the principles of programming and is therefore accepted by its students as an appropriate tool on which to base their career path.
There are quite a few universities that teach the more practical aspects of computer science and some even specifically web development but our experience is that many of their graduates have learnt either .Net or Java but nothing else. The former often do not seem to even be aware of programming tools outside of the safe and cosy Microsoft ecosystem. I am not criticising these universities or the languages that they teach but I do feel that other languages and tools are under-represented in academia.
In response to Leonid’s criticisms of PHP I do agree that one of its problems is its ease of use and the fact that it is newbie safe. There is no doubt that this does attract a lot of beginners to the community. However with the right training and experience there is no reason why these beginners can’t become great programmers, even if they do stick to PHP.
I also think it is unfair to say that it is an ‘ugly language’ although it most certainly can be if not used well. It certainly can’t be criticised for not being ‘convenient’ especially when used with PEAR or a good framework. In my opinion Java is more of an ugly language to read and certainly some of it’s libraries have been forced into its ‘everything is an object’ approach even where it is not appropriate. I admit that PHP is somewhat inconsistent in its function naming and the combination of native functions, procedural code and objects in its documentation but this is becoming easier to ignore with projects such as PEAR and the Zend Framework. PHP is a rapidly maturing language which in the last few years has become a very realistic candidate for developing large scale applications. Yes, it has its weaknesses and can be used to write horrible code but any language can, if put in the wrong hands. The problem here is not PHP itself but the type of people who claim to be good at it.
I think as a community there needs to be more work done to raise the profile of PHP, and web scripting in general, within academia. There are a lot of misconceptions about web scripting and its applicability to large projects and computer science theory. The industry is very young and its power only just being demonstrated. In order to keep moving forward we need more benchmarks and qualifications for developers so we can really separate the excellent and the good from the truly awful. Less time spent searching for the people our projects need is more time creating new and innovative applications.