You are likely aware of how to frustrate the valuable developers you employ. As Business.com CTO Robert Swisher astutely points out, there are at least 10 ways to piss off your developers, who have become some of the most sought-after talent. The other side of the coin exists, however, as there are only a few crucial guidelines to follow if you want to build a culture which attracts and retains the finest developers.
Today’s engineers are akin to modern Leonardo Da Vincis who marry artistic vision with efficient function, as opposed to the past held stereotypes like Dennis Nedry in Jurassic Park (the obnoxious and aloof programmer who shut down the park only to be tragically devoured by a crafty Dilophosaurus). Like artists, programmers need to feel comfortable and appreciated in order to realize their greatest works.
An effective development team helps your company deliver the right product at the right time. They understand the needs of your clients and build software to adeptly solve common problems. Engaged developers provide unique and valuable ideas to your product team and automate tedious processes, which can in turn save crucial time for your company. Is there anything a great developer can’t do?
The key to an effective and engaged development team is your ability to keep them happy and motivated. Here are the top ways to do that:
The only thing rising faster than food inflation is the need for quality developers in an increasingly complex technological marketplace. If filling your break room with Diet Double Mountain Dews, Red Bulls, and beef jerky entices your developers to take necessary break-time away from their desks, it’s absolutely worth the price of regular trips to Costco.
For those on a bootstrap budget, it’s better to spend your snack money on providing readily available quality coffee. Coffee is the lifeblood of any serious development team and during those epic 14 hour coding trances you’ll be happy you had yours flown in from Kona.
Spend whatever remaining snacks budget you have on kegged beer. Sometimes a pint of beer with colleagues will create that a-ha! moment for stumped coders. Besides, work can get stressful; it’s always a great idea to encourage your team to relax and take a nice break to refresh over drinks. It’s good for the soul and it promotes team culture.
Allowing developers to work on the platform they are most comfortable with is one of the biggest material perks you can provide your team. Many (fanboys) love shiny Apple products, others love their custom-built nerd machines that run Linux, some may even get weird with it and use Windows machines. Don’t judge. Encourage them to build the set-up of their choosing, even if it requires hooking them up with three monitors (yes, they’ll actually use them all and still bring in one from home out of need).
Developers sit at their desks more than anyone else in your office and bad posture can create all sorts of long-term negative health effects. In fact, engineers sit on their office chairs longer than they sleep on their $2000 mattresses at home. Let them choose their chair and they’ll be stoked (and healthier for it).
Provide the Right Tools for the Job
If an engineer asks you to buy a license for software, it’ll most likely make them more efficient which means shipping more features out the door. The same goes for their bizarre keyboard & mouse of choice. Walk through a top tech company’s engineering department and you’re guaranteed to see keyboards that look like they came off the bridge of the Battlestar Galactica. (Fun fact, one of our team members swears by the Kensis Advantage keyboard) Providing developers with the tools they need to succeed tells them that you value and trust investing in them.
Limit interruptions as much as possible
Software development requires a focused creative and mathematical mind. It’ll take a developer three times as long to get back into the zone as it did for her to answer your trivial question, so be mindful of bothering them. Try to only come to developers if you’ve exhausted all other avenues when searching for a solution.
Trust them with the whole picture
While you think you’ve done everyone a favor by breaking down your needs into hyper-specific requirements to prevent confusion, if you neglect to communicate importance of these features you’re only getting partial value from engineering. Developers are amazing analytical thinkers who love to find better ways of meeting your needs so be sure they understand what specific need is driving their work.
Liberate, Don’t Isolate
Make sure you’re involving the stakeholders before a feature is about to be released to the public. When you isolate the developers from the rest of the company, they will end up building something that doesn’t meet anyone’s expectations; frustrating everyone in the process.
The natural back-and-forth that engineers have with stakeholders during development will organically evolve the project into something that will assuredly be useful. Nothing makes a developer happier than knowing his work is being used.
Developers are so well paid because of their brains, so let them use it! Introduce the team to a set of problems and let them decide for themselves how best to solve it. As long as periodic check-ins are happening, good developers will thrive in an environment that encourages the team to take control over their development process. Allow them the freedom to make a difference.
Invest in technical and career development
Whether it’s sending the developer to conferences and off-site training or more affordable options like hosting tech meet-ups where the community can educate peers on new technologies it’s important that you are taking an active investment in the career development of your engineers.
Try offering 20% flex time where you encourage your team to think creatively outside of the box to advance new technologies on whatever they want. Think of this as a way for engineers to keep their coding saws sharpened so they don’t fall behind on the rapidly shifting world of technology.
While every company is different and may not be able to splurge on $1000 office chairs, the one thing every business can do to make their developers happy is provide them with a trusting environment that nurtures creative solutions, healthy collaboration, and autonomous architecture decision-making. Like other humans, software engineers appreciate kind words for a job well done such as after a successful feature deployment.
Developers grow frustrated only hearing about the things which don’t work and how quickly they should be fixed. Put this into practice immediately and watch the culture change.
Be warned: If you insist on isolating engineers with the intentions of squeezing every ounce of production out of them like robots, no amount of LAN parties, dank beer, or massaging chairs will keep them with your company for long.
The best developers (and people) value trust. If you trust them with the freedom to get to the root of the problem they’ve been hired to solve, they will happily reward you with loyalty and high quality software!