“Developers! Developers! Developers!” Steve Ballmer made this chant infamous, but the fact remains that developers are the lifeblood of software companies. This is especially true for web startups, where a good developer can be the difference between success and failure.
Most leaders understand this on an intellectual level. They know that good developers — especially those equipped for the startup world — are hard to find and even harder to keep. But in the day-to-day shuffle, it’s easy to take your developers for granted. This can be a fatal mistake.
Major companies like Google and Intuit (not to mention other startups) are always looking to poach rock-star developers, so it’s more important than ever to keep your developers satisfied.
Here’s 5 tips for hiring developers and how to make sure they’re productive:
1. Manage your expectations when hiring developers.
Businesspeople often try to tell developers how long it takes to do things, but this approach doesn’t make any sense. It would be like developers telling you how long it should take you to raise your next capital round.
Understand that no one has ever built your exact requirements before — otherwise, you wouldn’t need to build anything. You will change your mind after the project begins (as you should), and things will come up that no one thought about before. That’s the reality of building complex software — and most custom software is complex.
Having unrealistic deadlines not only frustrates developers, but it has the potential to disappoint shareholders who might not realize how many unknowns there are when it comes to building software. Communicate with your developers throughout the project to stay on top of any obstacles or unforeseen circumstances that may require a shift in deadlines and expectations. Everyone is working toward the same goal; the road may just be longer than expected.
Work together with your developers to create mutually realistic estimates. Better yet, use Scrum agile methodology and build out your stories with complexity levels. Using an agile framework provides a continuous gauge on the anticipated completion dates based on the team’s actual “velocity” on the project. This “velocity” takes into account delays on feedback, internal politics, level of cooperation, and possible tool setbacks.
2. Pay developers well. Well, of course you’re paying your developers, but make sure you’re paying them enough. If your programmers feel like they’re not being paid what they’re worth, they won’t be as motivated to work hard. Pay them enough to take the money issue off the table entirely.
3. Challenge your developers. Programmers, especially the best ones, are driven, creative people always looking for the next interesting problem to solve. The best developers will get bored if they don’t have a challenge every now and then.
Let your programmers build something in a new framework or build out an internal tool to help your business operations. Intuit challenges all its employees to come up with game-changing ideas during its “unstructured time,” and Facebook has a long tradition of all-night hackathons, where the only rule is that developers must work on something different from their day jobs. You could even consider giving them free time on Fridays to build whatever they’d like — that’s how Google made Gmail, after all.
4. Let your developers make decisions. Good developers will be adults if you let them. If you create extremely tight policies and highly structured environments for developers to work within, you’ll limit innovation, creativity, and motivation. Like Daniel Pink wrote in “Drive,” “People need autonomy over task (what they do), time (when they do it), team (who they do it with), and technique (how they do it).” So give them some autonomy.
You should also implement a framework in which developers can give input on the direction of a product. Make sure they have ownership of the idea or product. At Path, all employees have access to the social network’s source code, and they’re encouraged to make changes if something is broken or if they have an idea to improve the user experience.
5. Give developers a sense of direction. As the leader of your company, it’s your job to come up with the vision and communicate it to your employees. If they don’t know why they’re doing what they’re doing, they won’t be as motivated. Give your developers a driving purpose that they can get excited about. For everyone to be in it together, everyone must know exactly what “it” is.
Implementing these key steps can help put your developers into a state of flow. You can do this by giving them meaningful projects, ensuring that they have the ability to set their own schedules around their peak performance times, allowing them to customize their working environment, and challenging them. Otherwise, you might want to start learning Ruby yourself.
Zach Ferres is the CEO of Ciplex, a full-service interactive agency that helps clients succeed online by creating award-winning digital solutions for online marketing, E-commerce and content management systems, and social network platforms. Follow them on Twitter.