Hire the best: advices from the founder of StackOverflow

Which is the most common advice startupers take? Hire the best! It is true – perfect team can get a run-of-the-mill idea and transform it into the world-best product. However, cofounder of Stack Overflow and the author of the blog Coding Horror JEFF ATWOOD thinks there is some weak spot in this approach.

***

We play with concepts taking to the team the best of those being near instead of hiring best of the best. It is right time to forget the idea of making people stay in the office to carry out any more or less important work (at least in IT sphere). If you recruit people from all over the world, and not only those living in a certain city or those ready to move, only then you can really say you hire best of the best. I am sure that internal structure of modern companies should correspond to the project audience. If you want the audience from all over the world, why do you have staff from one city only?

“Show me the work” vs “show-up at work”

lets do
The fact that somebody shows-up at the office every day, does not mean he works.

It is much more efficient to rate the work done:

  • How many features were implemented by the worker during the last week?
  • How many bugs did he fix?
  • How many times did he communicate with the Client?
  • How fast the code was written? How compact is it? Can the code be easily supported?

At Discource commit logs are always analyzed at GitHub in order to understand if the quality of the work done is high. You might use Asana or Basecamp, tools do not matter. The only important thing is to let your people feel they have done the useful work. I do not care when our employees come to work or what their day plan is. I feel no concern for their place of residence (excellent Internet connection is a must). I even do not care about the way they work. If you employed the best, let them prove this fact by their work and their results. How do you learn everything is going well if you use this approach? When the person you employed can see a problem (a slight defect or serious bug) and is full of initiative to fix it – then it is all right. When you feel even giving people a carte blanche (to make mistakes as well) — only then everything will work.

Hire basing on results of a test project

If you really want to understand how comfortable will be working with a certain candidate, involve him into a test project. Ideally, your test project should be a real consulting task hourly rated, with definite tasks and goals. Choose the project that can be finalized in a couple of days or in one-two weeks. Let the candidate decide where to work – office or home. At StackOverflow we had some open components, so we could give our candidates a possibility to work at our wish list ideas. As a result, abilities to independently work, clearly and distinctly communicate with us and deliver necessary functionality in determined terms were the measures of success.

If the test project goes smooth, great – now you have a top qualified candidate able of really doing some things. Till now, I have never met a candidate, who made out the test project and then flubbed in his future work.

Hire from your community

Many times I have got convinced that cultural compatibility is much more important for ultimate success than abstract skills. But how can you create this culture having your team members in different places? Not every business has users and followers of what they do, but in case you have, run through brick walls but hire people from this community only! These guys probably understand what you do even better than you; they are already loyal to your company and its philosophy.

A couple of users made a mod to your game? Experienced forum users answer the freshers’ questions on your forum? Some engineer found a hole in your security and let you know? Here are the people you must hire! To raise the prospect of a successful deal, start supporting such developing talents from the very beginning, giving them more time, offering some special benefits, give a public rap for achievements.

Even if your startup is small and your product has not been introduced to the market, there is still a chance. Hundred to one there exist other communities corresponding to your idea of what the product should be and which category of people will use it. Try to find such a community and communicate with its members. Tell them what you do, how useful it may be to them, and how exactly they can help.

There is one unexpected idea as well – try to find a community, which members are extremely unsatisfied with the state of affairs in the industry and in your field at the moment. It can be difficult to come in touch, but if you succeed to explain, that the market anticipates eagerly for your product, they will support you off hand.

Use public communication tools every day

When you have distance workers, it is important to communicate all the time. There are several fundamental things to be implemented in any company using remote workers services:

Online-chat

You will need a tool letting you send comments to your remote workers on going and receive responses fast. This tool should be easy to use and available to all team members 24/7. Hipchat, Slack, IM, IRC, some web-tools, laser pointers, smoke signals, a carrier pigeon, telephone made of tins with a cord – it does not matter. What matters is for this tool to be used by everyone.

 Online Bulletin Board

 Your remote workers certainly know details of their projects, but what about other activities going on? How do they learn about updates, announcements, where do they read meetings summaries arranged in the office? That’s what you need the bulletin board for. There should be a possibility to subscribe for notifications about every post or look through the web discussions. Every team member should receive automatic weekly/daily reports this way.  The important issue is that all of the notifications and mails should contain really important information. The moment your worker thinks something like “will read this trash when I have time”, this tool stops working. Here is how such a tool may look:

example

Audio and video chat

videochat

 

When you find out that you write and read kilobytes but are still not satisfied with communication vividness and clarity, use audio. This way you see the “shades” like body language and facial gestures lost when chatting. I recommend arranging video chats at least once per week.

Monday team reports

On Mondays every team should provide you with a brief on the following:

  •  What was done during the week
  • Plan for this week
  • What are the blocks underway

This info should be published as a weekly email-digest. If you do not have teams, this work can be done by each developer, though reasonability in this case is doubtful.

Meeting minutes

Every time you take part in some “meeting” take records. What were the topics? What were the decisions? What are the following steps? Of course, all of this should be published on the bulletin board or chat for everyone to read. Now let’s discuss the aspects remote work will not cover.

Brainstorming

brainstorming

I guess, this is the most important. Being present in the room with people creating new things, possibility to see colleagues’ faces, hear their voices – is crucial for ideas generation. Such meetings are usually very infrequent. And when you really need to arrange them, it can be an “Annual team picnic” for the whole team.

Mentorship

Mentorship means many questions from a junior and answers from a senior. The senior engineer will be under strain giving frequent feedbacks remotely. We decided not to hire people requiring a mentor. We believe in young talents, but remote teaching is impractical. Employing remote workers take self-sufficient guys or do not take any. A less experienced person can be reliable and deal well with remote work, but if the skill level of team members is too different, it will cause a product efficiency loss.

If your strategy is to develop juniors into seniors, you will need to spend time when they work together. Pair programming is a great option.

I am sure that remote development represents the future of work. Should we spend a bit of time to understand how to realize this way in every certain company – it will give great results. Future is now. So what are we waiting for?

In the article has been used material from page.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>