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?
















Evan, I enjoyed your article. You made some great points. I have not expanded enough to warrant hiring programmers. but you can find some great programmers here on the web. I have just started out and I need all the help I can get, knowledge wise. I started out mentoring James Brausch. He thrives on the idea that Traffic + Copywriting + Product= Successful Internet Business. I have learned a tremendous amount from him so far. Also, thanks to blogs like these I will continue to learn more. Keep up the good work Evan.
A (more than) few words on hiring developers…
Good developers are easy to find, but people who understand what you’re trying to do and are fanatically committed to do things better isn’t. We look for talent and the ability to learn vs experience as a rule of thumb. It’s hard to break bad habits of developers with more experience. Again, there’s no single answer as it is usually dictated by the needs of the project, level of expertise you currently have, etc.
I own a Chicago-based offshore development firm and we talk to lots of startups that outsourced development work… and now they’re disgruntled and unhappy with their vendors. So when we work with clients our developers have to be super sharp (to make up for the natural bias against cheap offshore developers) Our focus isn’t on technology as much as it is on our problem solving attitude. We’re not the biggest, we’re not the cheapest, and we aren’t rocket scientists… but we’re tenacious as heck.
On the flip side, hiring developers is a headache. We run into the following problems:
1). Newbie developers are a good long-term investment, but there’s a steep learning curve associated with hiring and nurturing them into superstars.
2). Experienced developers have big egos and have usually picked up a lot of bad habits over the years. Breaking these habits isn’t worth the headache.
3). Bad developers like to inflate their credentials and salary histories. We’ve gotta be really meticulous here and test them like crazy.
4). All-star developers aren’t sitting on the street with a ‘Hire Me’ sign on their chest. We have to build a company that attracts great talent… or at least people with the potential to be great. It costs a lot of money, but it’s worth the investment in the long-term.
5). Once you’ve got great developers, you have to keep them stimulated or they’ll drop you like Jessica Simpson dropped Nick LaWhatsHisFace. The pressure is on me (the marketing wing of the house) to find clients that are doing cool, innovative stuff.
6). Convincing our good developers to graduate into PM’s and coach the next generation of talent. This requires more convincing for some than for others, but it means we have to understand their true aspirations.
The list goes on… but it definitely keeps us busy. We’re currently looking for 3 developers at our offshore center in Pakistan. It’s bittersweet because Pakistan’s outsourcing industry is still in its infancy so attrition isn’t as bad as in India… but finding good talent is still pretty hard.
Unless I invent the next million dollar fad a la Pet Rocks, Sea Monkeys, Tickle Me Elmo… I’m gonna have to figure out how to hire good developers.
Raza Imam
http://BoycottSoftwareSweatshops.com
It’s a great article. As a computer programmer myself, I think it’s also important to hire people with energy (young ones do great, but olders of course too). Young programmers don’t need such a high pay and may prove to be as good as senior ones, in fact, they are probably more passionate.
Just my opinion
http://www.websoda.net
I found a really good guide to hiring programmers - http://www.ictc-ctic.ca/uploadedFiles/Human_Resource_Tools/hr_guide_e.pdf.pdf - it is long but it is very worth the read.
I’d have to agree with “CurlyBrace”… hiring people with energy is only a good statement, and it’s a catchy thing to say, but is that really what separates great programmers or software development companies from the rest? I’d say, there should definitely be pioneers in the team, people who get new ideas into the team, new technologies, inspire, and make a project more fun than work, but there’s so much more to it that ultimately will determine success of your project, whether it’s a simple website or a complex software application: from methodologies, to team structure, resource alignment, proper planning and prototyping, testing and quality assurance processes, etc., etc., etc. I’d say in this day and age go by public opinion - go to guru.com for example and find a top ranking developer in a category of your interest - for example, I went to guru’s Web Design and Internet Marketing category - #1 vendor on guru is Zallas Technologies, http://www.zallas.com, 15 five-star reviews, excellent portfolio, Google them just in case
and you’re good to go.