I was recently asked: “how do you rate the skills of a web developer?” It’s a tricky question.
Is it knowledge? Not necessarily. Knowing how something should work is no substitute for application of those skills and solid coding experience.
Experience then? Not always. Past experiences do not prove future productivity or an ability to grasp different languages and concepts.
Productivity? That’s difficult to quantify. I’ve known incredibly quick developers who, in their haste, produced shoddy code or focused on their own interests rather than the project’s requirements.
Could it be the quality of code? To some extent, but quality code does not always result in a usable system which is delivered on time and on budget.
In reality, good developers need all those skills but I consider the following traits just as important — if not more so…
Good developers are interested in IT. They want to know how things work. They’re eager to learn new technologies. They want to pull code apart. They’re not content to use code libraries without understanding the underlying techniques.
By contrast, some developers are happy to finish a project in the shortest time with the minimum of effort using whatever code they can cobble together. They may produce quicker results, but there’s a drawback…
Attention to Detail
Good developers can apply their skills throughout the development life-cycle.
Prior to coding, good developers provide business analysis, observations, feedback and suggestions. They consider user journeys and solve problems effectively. They simplify interfaces rather than adding unnecessary complexity.
From a technical level, they understand portability and do not necessarily rely on dependencies present on their development machine. They realize a web application may be on a different domain. They appreciate that it may not be installed in the “MyApp1″ folder. They consider the issues PHP5.4 code will cause on some hosts. They know international language support may not be required today, but make sure it can be added in future versions. They place configuration options in one file or location. They support all browsers. They add good comments. They make good notes. They thoroughly test. They make it easy for other developers to adapt their code.
Above all, a good developer writes code which works and doesn’t require frequent maintenance.
Obviously, everyone reading SitePoint falls into this category, but what do you think? How do you rate developers? How does your company rate you?