(UPDATE: I podcasted this blog at DevZone)
Yesterday on FaceBook, someone asked this question.
What does it take to get a talented person to join a startup.
Here was my response to them, expanded a bit since I’ve got more room here.
I don’t pretend to speak for all professions here, just developers. Accountants, sales people and phone sanitizers will all have different reasons for joining a startup. However for developers, the answer is not difficult; to attract the best talent you have to pay attention to a few details.
1: Respect them and their opinions.
If a developer thinks that you think you have it all figured out then he/she won’t be very happy. Most developers thrive on technical challenges. They need to know that you need them to solve your technical challenges. They also need to know that you will listen to them when they do solve it. If you’ve got it all figured out then you don’t need a developer, you need a coder, someone who will come in and write the code you spec.
2: The tools to do the job.
A lot of people will tell you that developers need toys. I think this is myth. Developers don’t need cute cube toys. They don’t mind them but it’s not a job requirement. Developers do need the proper tools for the job. There are a lot of places you can cut corners when starting a company, hardware for your developers should not be one of those places. Developers will push a computer harder than anyone else in your company, period. So give them the tools they need to do the job.
A red flag to any developer you interview is seeing the CEO walking around with a fully loaded MacBook Pro while other developers are working with last years Dell “Specials”. I’ve seen it happen before. Great hardware should not be a badge of honor, the higher up in the company you go, the better the computer you get.
To developers, hardware is the tool they use to get the job done. So give them the right tools, let them do the job. If you don’t know what the right tools are, ask them. most developers are happy to tell you what they will need to get the job done. it
Oh and never trust a developer that, when presented the opportunity in an interview to ask questions, does NOT ask what kind of hardware they will be working on.
3: Freedom to create
Most developers are more artist than engineer. They like to create elegant solutions. If they see that you are not open to innovative solutions then they will most likely not be interested in the job. This does not mean you need to just throw a developer a problem and assume they can solve it. Developers need a structure to work within. Make sure that all potential developers you interview know that you have a process in place for development and innovation. Let them know that you are not just going to throw the problem at them and expect them to immediately understand all the issues surrounding it.
4: Freedom to work where they please.
If you want to find the best talent, you have to look outside of your geographical region, no matter what region you are in. When you do find the right person, let them stay where they are. Chances are good that they live where they do because they like it. Why force an upheaval on them when it’s not necessary. Technology now affords managers all the tools necessary to manage remote workers. I’ve said it before and I’ll say it again, any manager who feels that they have to have everyone in the same room to manage them, is a poor manager.
This segues nicely into the “cube farm” argument. I’ve had many managers explain to me why it’s best if we shovel developers into a cube farm because the close interaction makes for better collaboration. To this I always give a resounding “bunk!” Cube farms are a detriment to good software development. Collaboration between your developers is important. These days however, most of that can be accomplished with the right software tools. Developers need a door they can close. An office, where where he or she can escape the steady drumbeat of corporate life is one of the greatest gifts you can give a developer. Working remotely, from home, the locally owned, non-chain coffee shop, or even in the park on a nice day, are usually much cheaper solutions than office space.
That’s my list of details you have to pay attention to if oyu want to attract the best developers. The thing that this list doesn’t cover, but is an important off-shoot of this conversation is that top talent likes top teams. To build a great team you have to be willing to follow the old adage “Hire Slow, Fire Fast”. If you do finally find a developer that meets you criteria and you feel can fit in with your company, hire them and welcome them to your team.
This doesn’t, however, end the process. It should be obvious to you very soon whether you have made the right choice or not. While respecting local labor laws, don’t hesitate to admit you’ve made a hiring decision mistake and let a developer go.
Until next time,