I’ve spent years trying to explain to clients, and businesses that a person that understands the syntax of a programming language, is not the same thing as someone who knows how to code properly in that language.
I’ve recently come across a number of businesses that have developed code based solutions (either apps, or websites) that have been very happy with what they were given but find pretty fast that there are issues with scalability or stability or maintainability or just that their developer sods off somewhere.
The ability to code in a language is not what you should look for in a developer. You should look for an understanding of how the systems should be used, the best practices, good understanding of libraries (although not always vital), a rounded understanding of external technologies other than the one they are using. Without those, you are really taking a risk on a coder.
It’s like asking for someone that speaks French, and someone turns up who’s got GCSE French, been there three or four times, and has a French/English dictionary. Capable to a point and they might be able translate whatever it is you need, but it’s unlikely they will do the same job as either someone with a much broader understanding, multiple languages and has lived in Paris for 3 years.
Simply put, the best developers are aware of the extra things that turn good code into great code and develop with these things in mind. That does have an interesting effect though…
Really good developers take more time, and therefore cost more
A really good developer will probably produce a good amount of code in a similar time, but it is much more likely to be maintainable (someone else could take it on), stable (if you use it, it’s probably going to last longer) and scalable (more users before you need to upgrade) than an average developer.
Things like the ability to create tests, the ability to understand how to code into a cloud environment, and the ability to understand how to create documentation are all things that you should look for in coders.
Then there is the X Factor of a great programmer. When you find one of them, even if they are twice the price, they are probably worth it, so don’t begrudge them their fee.
So when making decisions about who to use for a development job, get someone who knows how to code to make the decisions about who should get the job.
Because when you only go on price, you are probably making a bad business decision.