This is the second in a series of articles on the operational side of running startup - once you’ve found product-market fit and raised VC cash, how do you go about building a business?
The first post in this series, on the hiring process, assumes you have a sufficient number of quality applicants. Once that’s true, hiring becomes a process optimisation problem - it might take a bit of effort to get right, but there aren’t too many unknowns. On the other hand, attracting top-quality developers to your company in the first place is a much tougher proposition.
In the long-term, you will attract outstanding talent if you;
build a successful company with a strong vision
working on interesting technical challenges
with other outstanding developers
who value software development as a professional trade.
The often-omitted final step is to tell people about it! You could have the best culture in the world, but you won’t attract applicants if no-one knows about you.
Github is one of the best in the business when it comes to attracting great talent. People like Zach Holman and Tom Preston-Warner blog profusely and tour the world talking about software development. But, underlying every article and presentation is this message; Github is an awesome place to work.
Since not every company can spend hundreds of thousands a year flying people around the world for conferences, or fit their reception area out as a replica of the Oval Office, I wanted to share a few actionable tips for the first-time founder. These shorter-term fixes will provide value disproportionate to their cost. There are also a few gotchas - common practices that do more harm than good.
Provide top-quality equipment
Dollar-for-dollar, high-quality equipment was consistently the most sought-after perk when we’ve surveyed developers, above a swanky office, fancy snacks, and even salary. It makes sense to invest here.
Some simple maths backs this up - depending on experience, you might pay anywhere from £30,000 to £70,000+ for a software developer in somewhere like London. Upgrading from a standard MacBook air to top-of the range model plus Thunderbolt display will cost you an additional £1,500. You’d need to achieve a 1.9% productivity gain (based on a £40k salary and a 2-year equipment lifetime) to pay back the investment. If this equipment reduces the running time of your test-suite by two minutes, you’d save about 4 days a year which, alone, is worth about 1.8% productivity boost.
 4 days = 2 minutes * 5 runs a day * 225 working days per year
It then costs, conservatively, £5,000 to attract and hire a single developer. If top-quality equipment has any impact on hiring or retention, you’ve suddenly made a profitable investment. You also get to take lots of cool photos of your working environment and post them all over twitter and your hiring page - remember that telling people is the most important part.
Interesting observation; while we still let people choose their equipment, we strongly encourage people to choose between the MacBook Pro and Air. We’ve had several people originally opt for various flavours of Linux, but they’ve all swapped over to Macs within 12 months. The homogeneity means that equipment will work anywhere in the office - swapping desks to work with a new project team simply means plugging into a new Thunderbolt, rather than lugging tonnes of equipment around. It also means that useful internal tools & scripts that we’ve developed are more likely to work out-of-the-box.
Work on awesome side-projects
We’ve found that having the engineering team take a couple of days off work to hack on a fun side-project can be a great recruitment tool. Not only does it increase morale and let you try out new technologies, it also provides you with great content for blogging & conference talks.
The best example is our pool-ball tracker we built at GoCardless. We mounted a webcam above our office pool table, and used OpenCV libraries to track the position of the balls. The ball coordinates were fed into a rules engine which then scored the game. It got a great reception on Hacker News and elsewhere, and resulted in an extra 9,000 unique visitors to our site on a single day. And it was awesome fun.
Other examples are our GoCardless-branded beer and Raspberry Pi projects.
Our only failure here was a Spotify-powered office music system - we just never got around to blogging about it. As with everything on this list, it’s only effective if you tell people about it.
Technical & Culture Blogging
This is the single greatest recruitment tool we’ve found. If you’re using any kind of technology at all, or have views on development best-practices and startup culture, you should be able to write compelling content that will do well on places like Hacker News and Reddit. It’s also more more repeatable and has a higher ROI than side-projects, because it doesn’t require half-a-dozen people to take multiple days off work.
For example, one particularly incendiary article on ditching Responsive Web Design garnered 34,000 unique visitors on a single day. We’ve had several applicants explicitly mention this article during interviews, even 9 months down the line.
Often, the key to getting traction on somewhere like Hacker News is choosing a punchy title and taking a slightly more extreme position (See “Hours are Bullshit”) that you might otherwise do. Interesting technical posts do well, too.
From a practical point of view, make sure you host the blog on your company’s domain (SEO benefits), mention your company’s name and link to your hiring page in an inoffensive way.
Open-source your tools
As a technology startup, you’ll be successful if you’re closer to your market & customers than your competitors, and you’re able to respond more quickly to their needs. As such, giving away tools that make you more productive initially seems counter-intuitive, but it’s not. Depending on your market, your competitors are likely to be slow-moving incumbents. If they’re still struggling with Visual Basic .Net and SOAP APIs, releasing a new Ruby deployment tool isn’t going to help them much.
Even if that’s not the case, open-sourcing useful little tools will dramatically help your recruitment processes - Github are the authors of the well-known Ruby tool Resque, for example.
At GoCardless, we’ve not been as good as we’d like at open-sourcing our tools, but that’s changing. We’ve just released Hutch, a Ruby tool for RabbitMQ, and some development widgets for Dashing. Next on the list is a neat little tool written in Go that makes it simple to spin up multiple services in a local development environment.
When you open-source your tools, don’t forget to tell people about it! At the very least, it’s a nice thing to do for the ecosystem.
Speak at meetups & conferences
This is really an extension of the previous three points - take all the great content you’ve produced from your fun side-projects and open-source contributions, and package them up into neat 20-minute presentations with some interesting slides.
It’s great for your engineers’ personal development, and it really helps spread your name around the relevant communities. You don’t need to spend a lot of money on flights around the world, either. Many cities have very vibrant user-groups which hold meetups every few weeks - there’s an Angular JS group in 50 cities around the world, for example.
Encourage all of your engineers to attend - and make sure you’re wearing your company t-shirts! It’s a great opportunity to talk to other like-minded developers about the interesting technology you’re using.
These are five pretty simple things you can do to increase the number of quality applicants. The most important factor is simply to get your name out into whichever community you’re trying to recruit from. If you spend a couple of weeks building a cool new tool, don't forget to spend the final hour or two writing a blog post about it.
I’d love to hear about other tips people have - you can follow the discussion over at Hacker News