Thursday, July 31, 2008

Approach 3: the path to hiring great talent

A big part of my role right now at FreshBooks is hiring software developers. We’re trying to grow this team, to be able to meet the challenges of our expanding business, and that means hiring hiring hiring.

I’ve talked before about the importance of finding great people. But I wanted to talk here about a potential strategy for doing so. I call it “Approach Three”.

Steve Yegge has an interesting take on the problem, and identifies two basic approaches to finding superhero-level developers:

Approach 1: Get Lucky

Approach 2: Ask Everyone in the Whole World

He recommends #1, reasonably enough. I agree that it’s far more likely to yield positive results. Desperate attempts to network are doomed to backfire since anyone can see through that sort of self-centered socializing.

I think there’s a third approach.

Approach 3: Be Awesome

Great people can recognize not-great people really well — that’s one of the skills you need to acquire if you want to be truly great at anything. If you want to be an awesome tennis player, you need to learn how to evaluate other tennis players so that you don’t spend your time playing against crappy players who can’t teach you anything.

So you need to be awesome. The best strategy for finding awesome people is to spend your time making yourself more and more awesome. The great thing about Approach 3 is that even if you don’t find anyone at all, you’re more awesome than you were. Which makes it even easier to attract even AWESOMER people.

Getting Awesome

Start with recognizing that software developers are not factory workers — software isn’t something you assemble, it’s something you design. The energy that generates it is creative, not mechanical.

Here at FreshBooks we’re focusing on a few key things to increase the awesomeness of our team. We’re making sure our developers get chances to work on stuff they think is important. We’re making it easier and faster to deploy safely and reliably. We’re now managing business priorities separate from day-to-day task management. We’re making sure our developers get to spend the majority of their time solving problems in code, rather than sitting in meetings or filling out forms. Or waiting.

It’s working out. Increasingly we get resumes from people who say, “I’ve heard fantastic things about your company — it sounds like the sort of place where I want to work.”

And there’s a very clear correlation between people who say that and people who seem pretty awesome.

Down the road, what we need to do is to focus externally as well — not just being more awesome, but finding better ways to broadcast that awesomeness. But that can’t take away from our basic need to be awesome. Without that, our broadcasting is just phony PR, and the truly awesome ones will see right through it.

In other news, FreshBooks is hiring. If you’re awesome, click here.

Sunir kicked ass editing this. The original post is over at the FreshBooks blog.