What you need to know to be a PHP developer

 

If you want to be a web developer it is not enough to simply know PHP (or ASP.net if you go that way). It is important to also know which skills are most in demand for a web development role.

I decided to find out so did a search for PHP on a variety of UK based recruitment sites. In total I tallied 60 positions for their required/optional skills and ordered by the number of times each appeared.

Here are the top 10 skills that you want in 2013 if you are to be a PHP developer, the percentage is the number of jobs that ask for the skill:

  1. PHP – 100% (kind of makes sense a PHP developer would need to know PHP)
     
  2. MySQL – 78.8% (By far the most popular of the database options, only alternatives mentioned were SQL and PostgreSQL each under 10%)
     
  3. HTML – 73.1% (Helpful for putting that PHP onto actual web pages)
     
  4. CSS – 71.2% (Make those web pages look pretty)
     
  5. Javascript – 69.2% (Add some function to those web pages. Most of those mentioning Javascript also mentioned jquery, two mentioned mootools)
     
  6. LAMP – 28.8% (Creating sites on Apache Linux)
     
  7. OOP – 26.9% (Object Oriented Programming, most did not mention it by name but mentioned frameworks like zend, symfony, cakephp etc. I also tallied these individually but each reached under 10% with Symfony and zend each getting 7%)
     
  8. Subversion – 21.2% (The oldest of those generally used still rules the roost, GIT was the only other one mentioned with 9.6% of the ads asking for it)
     
  9. AJAX/JSON – 19.2% (allowing us to send and receive data in the background of our web pages)
     
  10. XML – 17.3% (XML is another markup language that enables things like rss feeds and is both human and machine readable)

Just below these ten we have mentions of actual products with WordPress, Drupal and Magento developers all in demand.

Number eleven though is something you either have or you don’t… communication skills. Good luck shy guys.

While this is a small sample set gathered over a single day in January 2013 this top 10 makes a lot of sense. Only one job asked for any type of certification (and they said they would pay for the applicant to get it if they were successful but lacking it), several asked for degrees but were generally unpicky about the subject, the majority asked for experience. Get coding!

Forever learning

In my past job, I was the sole IT person in the company and so it gave me ample opportunities to learn new things. A large number of these, however, were unrelated to my ideal path as a web developer and so that learning at times stagnated for periods of up to six months. Being on my own also meant that I didn’t have the opportunity to share and develop these findings with anyone else, this perhaps lessened my ability to expand that learning beyond the basics. I am definitely glad of the skills I picked up with various types of hardware and software including network storage, indesign and filemaker. All these things potentially have uses in the future but I was unable to maintain pace with developments in websites.

When the opportunity came for us to take a year out while my wife completed her masters in America I decided it was a good chance to catch up. In my little basement in Denver I have been setting myself the task of filling in these knowledge gaps that have developed over time. A lot of this will come from learning by doing and a lot of it from reading.

The key areas I am looking to improve in are as follows:

  1. Web Design: My websites are never the prettiest. I understand that and want to fill in the gaps so that they can look better. I will be doing this through reading, trial and error and by trying out some online code schools like codecademy, codeschool and treehouse.
  2. Leadership and Management: I have been running a small business for three years but have no real management training. My goal is to work through Personal MBA by Josh Kaufman along with as many other business books as I can. I will read relevant biographies and case studies of businesses and people in my sector. I will then put these lessons into action with my small company.
  3. Mathematics: I always enjoyed maths in school but I was also aware of the growing holes in my knowledge as I worked through the curriculum. For example, until a month ago, I could never do long division or long multiplication. I feel that filling in these gaps and expanding my knowledge will help me down the road with my programming. I will use Khan Academy to work through these gaps.
  4. Computer Science: I did an A Level in IT but a lot of the syllabus was poor and outdated. It also didn’t dwell deeply on how a computer does what it does and I want to learn that. I have enrolled in a couple of edx classes to help me along this learning path.

I have created a new category on my blog so that you can track my progress, I will be putting reviews and brief notes of the books that I read, links that I find helpful and other information that should allow it to be shown what I am learning along the way. My aim is to come back from America knowing more and with a renewed hunger to never stop learning.