Can you help me write an article on hiring a good programmer?
I wanted to try and raise some awareness, perhaps even educate recruitment agencies and employers, on how to employ a decent candidate - at the moment they're focusing on the wrong things... Being a good developer, this is a frustrating - the way recruitment agencies are behaving right now I could easily be beaten into a position by a developer that ends up costing the employer a LOT of money with bad practices... I've seen it over and over again.
I'm not sure exactly how I'd go about doing that... but I thought I'd, at least, make a start by writing an article that they could understand.
Perhaps you guys would consider bouncing ideas of it, giving me feedback, perhaps writing and little yourselves, and give me ideas about other things I could say? Analogies to make it simpler to understand from a laymans point of view would be great too?
How to hire a good developer
Recently I had the very unpleasant experience of dealing with recruitment consultants who are pitching their clients as unfriendly pretenders, concentrating in completely the wrong area.
I wanted to write something to raise awareness in employers and recruitment agencies.
Think about this from the point of view of photography...
You wouldn't turn down a David Bailey or a Richard Avedon (two of the greatest photographers of all time) because they haven't used a Canon EOS 5D Mark III camera [in the last few months] and yet, this is exactly what's going on today in software.
For the last 15 years I've been working, primarily, with the language Visual Basic. To write software we use something not dissimilar to Microsoft Word... Like Microsoft Word, this software (Visual Studio) has been through many, sometimes yearly, releases - the language, just like the English language, has barely changed though. Despite this, everyone is concentrating on which years' version has been used and whether that version specifically was used recently...from the point of view of a good software developer, trying to get through the firewall of agencies, it's like the whole world has gone mad.
So, how do you hire a good developer? Should you give them a test? Get them to write software? Sure, that's not a bad idea... what you really need to do is concentrate on programming principles.
Let's think about this from the point of view of building a house.
You form a solid foundation so the house doesn't slide away or get penetrated by damp, you use a spirit-level and plumb-line to make sure the structure and walls are straight and true, you mix your mortal to the correct ratio to make sure the walls don't crumble and fall down - it there's space for storage you include it, make a roof that won't blow off and include windows so we can see out - and you don't totally wall-up internal spaces that could be used otherwise.
Just like building a house: when we start writing software we do so from a position of formlessness and can literally throw piles of bricks into a swamp, leaving space in the middle and toss a bit of cardboard on top for a roof - just crawl through a gap if you can find one!
In the case of software, though, it's not easy for a layman to assess what's there because the structure isn't visible... and just like a house it can be very costly if it's built badly!
Fortunately there are a set of timeless principles programmers can employ to make sure your house stays up forever, is energy-efficient, uses natural and electrical lighting to good effect, and if you want an extension or swimming pool later that'll be no problem! Need more power-sockets? In a flash, no compete rewrite required!
Ask your new developer about the following subjects, if what they say sounds familiar, it comes across that they implement these ideas into their software and (even if they baffle you a bit) they sound authoritative on the subjects, you’re sure to be on the right track. If you’re not a technie this is going to be a judgment call. If you want to know the difference between a pretender and someone who really knows: many programmers I’ve worked with in the past would be speechless about these and you’d certainly notice a lack of experience/authority on the subject – if you asked me about these I’d be quite passionate about them.
…content coming soon etc.
DRY (Don't Repeat Yourself)
KISS (Keep it Simple Stupid)
SoC (Separation of Concerns)
POLA (Principle of Least Astonishment)
Last edited by considered; October 23rd, 2013 at 03:56 PM.