Daniel Tenner wrote a great post in his Inter-Sections blog about how to hire a computer programmer. If you’re a young entrepreneur who is involved in a technology business, eventually you’ll likely need to hire a programmer. Either you don’t have the programming skills yourself and you need someone to help or you have the background but can’t continue to be the person doing every job in the company and you’ll need to hire to expand.
Here’s a summary of what Daniel looks for when hiring a programmer:
#1 : Passion
“In my corporate experience, I met a kind of technical guy I’d never met before: the career programmer. This is a person who’s doing IT because they think it’s a good career. They don’t do any programming in their spare time. They’re shocked when they find out I have a LAN and 3 computers at home. They just do it at work. They don’t learn new stuff unless sent on a training program (or motivated by the need to get a job that requires that technology). They do “programming” as a day job. They don’t really want to talk about it outside of work. When they do, they talk with a distinctive lack of enthusiasm. Basically, they lack passion.”
#2 : Self-teaching and love of learning
“Programming is the ultimate moving target. Not a year goes by without some new technology robbing an old, established standard blind and changing half the development universe. This is not to say that all good programmers pick up these changes and ride the bleeding edge. However, there’s a class of programmers that will never, ever pick up a new technology unless forced to, because they don’t like learning new stuff. These programmers will typically have learnt programming at university, and expect to get by on whatever skills they picked up there, plus whatever courses their company is willing to send them on.”
#3 : Intelligence
“Some business people assume that lack of social tact and lack of intelligence are the same. Actually, intelligence has several facets, and emotional/social intelligence is only one of them. Good programmers aren’t dumb. Ever. In fact, good programmers are usually amongst the smartest people you know. Many of them will actually have pretty good social skills too. The cliché of the programmer who’s incapable of having a conversation is just that – a cliché. I’ve been to a few meetings of the London Ruby User Group and I can say that with only a very few exceptions, most people there are smart, talkative, sociable, have varied interests, etc. You wouldn’t look at them chattering away in the pub and think “what a bunch of geeks!” – at least until you approach a group and realise they’re talking about the best way to design a RESTful application with a heavy UI frontend.”
#4 : Hidden experience
“This is correlated with the “Passion” point, but it is such a strong indicator that I’d like to emphasise it with its own point. I started programming when I was about 9, on a Commodore 64. I then migrated onto the PC, did some Pascal. When I was 14 I wrote a raycasting engine in C and Assembler, spent a large amount of time playing with cool graphic effects that you could get your computer to do by messing directly with the video card. This was what I call my “coccoon stage”. When I entered that stage, I was a mediocre programmer, and lacked the confidence to do anything really complicated. When I finished it, I had gained that confidence. I knew that I could code pretty much anything so long as I put my mind to it.”
#5 : Variety of technologies
“This one’s pretty simple. Because of the love of learning and toying with new technologies that comes with the package of being a “good programmer”, it’s inevitable that any “good programmer” over the age of 22 will be fluent in a dozen different technologies. They can’t help it. Learning a new technology is one of the most fun things a programmer with any passion can do. So they’ll do it all the time, and accumulate a portfolio of things they’ve “played around with”. They may not be experts at all of them, but all decent programmers will be fluent in a large inventory of unrelated technologies.”
#6 : Formal qualifications
“This is more a of non-indicator than a counter-indicator. The key point to outline here is that formal qualifications don’t mean squat when you’re trying to recognise a good programmer. Many good programmers will have a degree in Computer Science. Many won’t. Certifications, like MCSE or SCJP or the like, don’t mean anything either. These are designed to be accessible and desirable to all. The only thing they indicate is a certain level of knowledge of a technology. They’re safeguards that allow technology recruitment people in large corporations to know “ok, this guy knows java, he’s got a certification to prove it” without having to interview them.”
What I would add: Running an online business myself I have had my fair share of programming hires. I generally liked to start working with someone on a small project and then expand from there. See if they deliver on time or deliver excuses. See if they come up with their own creative suggestions or work strictly inside the box. See if they are doing just the bare minimum or if they are working to give you the best end outcome possible.
A good programmer should be able to understand what it is that you are trying to accomplish and translate that into effective code. If they take the time to understand your business then they will likely bring up suggestions and ideas for modifications that you hadn’t considered before. A good programmer is worth his / her weight in gold if you run an online business and I hope you find this list of suggestions valuable!
What has your experience been when hiring programmers?





