A Little More Than Language Skills

What do you look for when you hire a PHP programmer? Or a Java developer? I would like to ask this question to someone putting out an ad for one. I have believed that language expertise is necessary, but not sufficient. Unfortunately, I have not been able to concretely and generically say what else is required. So let me list some abilities, other than the language skills, I expect in a 2-3 years experienced PHP programmer. He/She should:

  • understand the basic request-response system of the Web
  • know HTML and should be aware of Web standards
  • know I18N and L10N
  • differentiate between client-side and server-side programming/scripting
  • install and setup the local development environment, including the Web server and required tools, libraries or frameworks
  • setup the debug environment
  • use a version control system
  • use a bug tracking system
  • use at least one editor as an expert for development
  • use at least one OS effectively enough to complete development tasks
  • communicate with the team
  • ask doubts and questions

I am sure this will turn out to be a subset if you consider it in the context of a particular project.

Note that the list does not talk of any programming language expertise. They are populary called adminsitrative and project management tasks. However, from a team member perspective, I am just expecting someone who knows a real world project setup, at least the minimal one.

Also note that we can easily replace PHP with another language that can be used for Web programming – Python, Java, Ruby, … Because it is not about the programming language. In this case it is about practial Web development. But how many times do we use this while interviewing people? The advertisements, the telephone round, the written tests and even the face to face interviews hover around the programming language.

I do not mean to say that language expertise is unimportant. However, learning programming languages can happen through education. Whereas these abilities can be gained only through first-hand experience. If you want to test a programmer’s experience this list will help you get the true picture. And if you are a programmer, be assured that unless you develop these abilities, you will not be able to be productive with your language skills.

Discussion [Participate or Link]

  1. Binny V A said:

    Nice list. I would add a ‘must know CSS’ requirement as well.

    Now let me see what I can do about the ‘know I18N and L10N’ requirement. That’s the only reqirement I fail in.

  2. William said:


    I would add to the list :
    – Test Driven Development
    – know some Design patterns, and understand the idea of using it

    And I think that “communicate with the team” and “ask doubts and questions” are not really measurable in an interview, and it dependes really much on the organization environment and how activities like meetings are promoted to create the opportunity to people interact and act as a team.

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.



Abhijit Nadgouda
iface Consulting
+91 9819820312
My bookmarks


This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.