My thoughts on business. The companies that I contribute to and the ones that I just take an interest in. Industry trends, specific shops or the art of running a business. All in a random mix.
Tuesday, 7 August 2012
Hiring
We’re in the process of onboarding the first batch of employees at Admazely. It’s pretty awesome. Because they’re pretty awesome. There’s four of them in addition to the founding team but I’ll get back to that.
The process of finding, vetting, convincing and onboarding them has been one that has given me a lot of things to think about when it comes to the people I want to work with and the company I want to create.
I think some of it might be useful for other startup founders looking to expand their teams. And maybe to people thinking about joining Admazely some day.
The hiring process for a startup
First let me talk a little bit about the hiring process for a startup like ours. It’s tough in many ways and it’s a really delicate balance in so many different ways.
For instance, once you’ve raised money you have VCs breathing down your neck to deliver results. So you need a team in place the second you’ve raised. But of course you cannot bring the team onboard before you have the money. On the other hand, you cannot afford to wait until you have money before you start recruiting. Dilemma!
We tried to strike the balance by starting our recruitment process in November or December of 2011. Before we had a term sheet from our investor. But we felt pretty comfortable that we would get one and raise money, so we started talking to people, knowing that it would take time to find the right people, time for us to convince them and for them to convince us. So we represented a certainty of securing our funding that we didn’t always feel ourselves entirely. We didn’t lie to anyone about our financial position. Ever. But we made sure to let candidates know that we were confident about the prospects of getting the money we were looking for.
Even though we started early, we ended up learning a very hard lesson: hiring takes time. It takes a hell of a lot longer than you expect. So start early and be prepared to spend a ton of time and energy on it.
Another balance surrounding the timing aspect is finding the right people and finding them quickly enough. The better people the harder to find and convince them. The A players (I hate the term but haven’t come up with anything better myself – so will use it for now) are rarely out there looking for jobs. We decided to approach them. And be where they are. To build a brand in the developer community for ourselves and Admazely. We talked to people we believed to be great. Asked them for advice and connections. Invited strangers in for coffee on the odd chance that they might be a good fit – or know someone else who could be. We built relationships with people we might not want to hire now but would consider working with down the road.
And we decided early on that we didn’t want to hire people that weren’t A players. I believe that this was probably the most important decision we made because it ended up determining our approach to everything. It meant that we accepted taking battles with our board for not meeting our hiring deadlines (and consequently our development deadlines – because obviously we expected things to move faster). It meant that we turned down some very talented people. We literally interviewed more than one hundred people. We probably looked at close to a thousand CVs, Github repositories and LinkedIn profiles.
I don’t know if it was worth it. But I hope so. The next few months will probably prove me either right or wrong.
The company we’re building
Asking someone to join your startup is asking them to take a huge leap of faith. No matter how obviously brilliant your idea is, it’s an extremely risky bet for an outsider. We kind of knew but found out that we really had to learn to tell our story in order to get potential colleagues excited about what we’re building. It takes careful thinking and it takes practise.
As we talked to each other and as I pondered the answers to the many questions people asked us, the vision for what I wanted to build emerged.
Talent
Throughout my career (before Admazely) I’ve hired quite a few people, either as a hiring manager or as part of a group selecting a candidate for a given role. Probably around 30 or 40 in total. And I’ve worked with a few hundred people across the companies I’ve been at.
The difference between the exceptionally talented individuals and the kind-of-talented people has been an order of magnitude. Working with brilliantly bright people is so much more fun and rewarding. Working with the highest calibre talent means getting so much more done. It means getting to solutions that are significantly better.
Before Admazely I probably hired less than a handful of people that I believe to be of that calibre. There are a lot of fair reasons for compromising when in a hiring situation. One could be that you’re pressed for time – that there’s a project I desperately needed staffed. Or that the applicants I’ve received simply weren’t any better and it felt as if I needed to choose between them.
And every time I chose someone not awesome I knew it at the time. I was rarely honest with myself – came up with explanations that he or she had a bad interview or that I was just too sceptical – but every time it came back to bite me in the ass. And the handful of people that I got right proved that being ultra diligent is indeed worth the effort.
So early on, we set the barrier of only wanting to hire extremely talented people. I know that every startup founder says that he or she has a world-class team. They rarely do. They are fooling themselves and trying to fool everyone else too.
When I look around our office this morning and see the people in the room I only see people that are capable of doing things that I will never be. Computer scientists and mathematicians. PhD’s and dropouts. Students and scholars. Everyone here was coveted or highly appreciated by good companies when they decided to join us.
Attitude
In my opinion as important as talent. The knee-jerk reaction for most companies looking to fill a role is to look for someone who has done the job before. It used to be my starting point. Because that way you’ll feel confident that the person you hire can do the job. The problem with this approach is that you get people who are not stepping up to a new challenge. You get people who can essentially switch on their autopilot. You get people who take a job with you because you offer a better salary, better perks, your office is closer to home, their old boss was an asshole, etc.
I look for something entirely different today. I look for people who have done something that has given them a foundation for doing what I want them to do here – but who need to take a significant step to do what they need to do here.
In one case that has meant needing to learn a new framework (node.js), which was entirely acceptable because this individual has the concept of minimalistic evented architecture deeply ingrained in his development DNA. In another case it has meant needing to learn to work in an agile team environment after only working solo, which was entirely ok since this individual has curiosity and eagerness to learn-and-teach written all over him.
It has meant challenging people to take more personal leadership of themselves. More responsibility for product architecture.
In essence I have only hired people who have a little something to prove. To themselves or to the world. A little chip on their shoulders. Willing to take a risk. Willing to optimise the level of the challenge in front of them, not the stack of money going in to their bank account every last-of-the-month.
People with substantial egos who look a the proverbial Mount Everest and boldly claim that “of course I can get up there!” without knowing all of the unknowns in the equation first.
So while we are a quite diverse team when you look at backgrounds, we are quite similar in that one respect.
Our new guys
As I mentioned in the beginning of the post, we took a pretty long-haul approach to finding the right people. Not a single one of them are the outcome of a traditional job-posting-and-application-process.
Ollanta ended up on our radar via David’s Stockholm network. He was bored in his current job and looking for a challenging adventure. He (almost) majored in physics and math and minored in computer science. He took machine learning courses at Standford in his spare time. For an improvised six-hour programming challenge, he wrote an evolutionary algorithm in Haskell on a train ride from Stockholm to Copenhagen. The sheer combination of talent and self-confidence He’s the funniest Swedish guy I’ve met (yes David, he’s funnier than you). One of his interviews was a 48-hour session in Copenhagen that famously saw him getting shitfaced-drunk with Sylwia and David before and after a round of marathon pair-programming.
I was introduced to Chris via a person whom we interviewed and with whom we had very elaborate discussions about joining us. We maintained a close conversation and because we had managed to convey a small bit of our vision and enthusiasm, Chris started talking to us. Despite being a Java-programmer at heart he has maintained his curiosity experimenting with NoSQL databases and a bit of Ruby. And he’s the Giorgio Armani of code: less is more. He’s anal about this stuff and that’s why it’ll be so awesome to have him and David co-architect our platform. The fact that he founded (and obviously bankrupted) a micro beer brewery does make me doubt his sound judgement sometimes.
In early June, David gave a guest lecture on node.js at the Computer Science Department of Copenhagen University. It was a cool afternoon. Lots of people there, lots of interesting questions and discussion. Afterwards, Nicolai came and talked to us. His opening line was “well, once there’s a talk at DIKU (CompSci Dept @ Cph Uni) on something, you know it’s becoming mainstream – so I suppose node.js is officially rubber stamped now”. As a third-year student (interrupted by a year of fulltime work) his unpolished talent is second to only his self-confidence.
Being very active in the node.js open source community, David has a good overview of it. And that’s how we got in touch with Andreas. Still a high school student we were surprised to see the level of quality in his code and the fact that he was contributing to some of the core modules in node.js. Curious as we were, we invited him in for coffee (proverbial coffee since he doesn’t drink the real stuff) wanting to get to know him. He already had a work-remotely-gig lined up, but we figured that he might want to sit amongst other people working rather than sitting at home (we already have a another very gifted javascript programmer in a similar situation sitting here – we like to think it’s good karma). As it turned out, he liked us and vice versa. And now he’s part of the team.
Afterthoughts
For us hiring is an ongoing process. We’re hoping to hire more people within the next few months and we’re already talking to some of the ones we are considering. And whom we hope are considering us.
An important difference now compared to six or nine months ago is that we now have a pretty clear way to articulate what we’re looking for and what we have to offer. We’ll still be having a lot of informal coffee-talks (or first dates if you will) with people. Some we won’t want to hire and some we might consider. But I have come to realise that one of my most important tasks is to facilitate that we talk to the best people. So we know them and they know us.
I would encourage every startup founder to do the same.
Subscribe to:
Posts (Atom)