I recently had a conversation with someone about what type of people a start-up company should hire. I obviously weigh the importance of technology more heavily than most people, but I'm of the opinion that one of the first hires any company makes should be a CTO (or just a developer if we're being honest).
The purpose of this blog post is to discuss the merits of different types of developer hires. Here are some assumptions:
- The company isn't directly in the technology industry. If it's a tech company, then it goes without saying that one of the founders should be the CTO. If you're starting a tech company and none of the founders have strong technical skills, then you need to go back to start and try again.
- The company will only hire one developer for now. This person needs to be able to handle all technical needs for the foreseeable future.
- The company has enough funding to pay a very high salary, but they aren't swimming in money so they need to shoot for the best value possible.
- The founders don't have any connections to someone that would be a good fit. If you know someone that you can trust, that makes the decision a lot easier.
Considering these assumptions, I see two main hiring questions: (1) How much money can you really justify spending on a tech guy, and (2) what is the appropriate balance of experience vs. talent.
Let's start with the second question (weird, right?). One important thing to be aware of when deciding between experience and talent is your own ability to measure both qualities. Raw talent is pretty easy to judge when it comes to technology. Any strong developer should be able to show you something they've built. It could be a web app, a video game, or a school project. Whatever it is, you should be able to play around with it and decide if this person has the technical skill you're looking for.
Experience seems a little harder to gauge because it is almost entirely intangible. Working at a company doesn't necessarily provide "experience" unless a person is actually faced with challenging problems that they can learn from. A resume is helpful, but there's just no way to know how a candidate will perform in the real world. I've also never really believed that references are trustworthy.
Having said all that, I think experience is potentially much more valuable than raw talent, mostly because a candidate can only gain valuable experience if they are already talented. However, because I don't think anyone is any good at evaluating experience, I would probably try to hire someone that has ridiculous technical chops with the expectation that they will need to be managed by a non-technical person.
Presumably, the company already has a leadership team with lots of business experience. These people should be knowledgeable enough to guide a 22 year old programmer. The main mistakes a young developer might make are almost entirely business related (poor communication skills, lack of end-user focus, etc.) and a non-technical person can help with that. The opposite is not true. If you hire an experience developer that isn't a technical rock star, they will eventually run into a tricky tech problem that they won't be able to solve.
You might be wondering why I'm acting like experience and talent are mutually exclusive. That gets us to the first question we originally asked: how much should this developer cost? I think a company can hire great talent right out of college for about $80k per year. Great experience will cost more like $120k per year. Both will cost $250k or more. I just don't think it's worth paying that premium for experience that other members of the company already have (for the most part).
An added perk to hiring a young person is that there is a small chance they will end up being truly remarkable. You pretty much know the ceiling for a 35 year old. If they're looking for a $120k salary, that means they're only worth $120k. A 22 year old might be worth $500k, but nobody knows that yet so they have to prove themselves. When a talented 22 year old asks for $80k, that's their floor, not their ceiling.
So obviously every case is different, but if I had to give general advice it would be to hire the most talented young person you can find. Make sure a founder or manager will have time to carefully oversee this developer so that his or her inexperience won't be much of a problem, and hope that over the next few years, this person grows into the CTO your company really needs. If that doesn't happen, hire a real CTO when the company is more mature and can justify the cost.
What do you think? If you have to speak in generalities, what type of person makes for a good early technical hire?