Actionable suggestions to keep your developers happy
Software developers (and hardware engineers too…we love you guys) are some of the brightest individuals in the workforce. The nature of their role requires them to use logic and creativity to address some of the toughest issues in the never ending sea of problems that might arise with a piece of technology. They love their jobs because tackling complicated problems is exactly the challenge they crave.
Staff engineers on more than just one project
You may think that the best way to optimize your developer’s time is to assign them to one specific project or task. Like any of us, motivation dwindles if we’re doing the same thing every day. Google famously implemented 20% time to allow its engineers to work on whatever problems interest them most, 20% of the time.
Try allowing them to work on other projects of their choosing, especially if the work they normally do doesn’t particularly contribute to anything innovative. Are you experimenting with new ideas? Has your sales team been requesting features that are constantly put off given your massive roadmap? Prioritize this list and let your engineers work on solving some new problems.
“Spread pain evenly”
Per Philip Su’s suggestion, if you have one or two dedicated developers working on bug fixes or answering support tickets, you may consider implementing some kind of rotation process that assigns this responsibility to other engineers so that everyone on the team gets to work on the exciting part of your business.
If you must have one person in charge of the monotonous part of the job, consider publicly recognizing them for their work once in a while. When I worked for Yodle, people were constantly singled out by getting free lunches or a round of applause for being the first person to schedule 3 appointments after a long day of cold calling. For people like me who hate cold calling (I’ve only met one person that actually enjoys the process…my old boss, Matt…he’s a beast) it was a great motivator to get through the work.
Invest in automation
I know you have a mountain of feature requests you need to attend to, but if you start to notice that certain processes are becoming someone else’s full time job, it might be time to invest in automating these processes.
As enterprise software continues to grow in popularity, there’s bound to be a solution out there that can automate at least part of your business — solutions that improve functions like infrastructure monitoring, rapid prototyping, versioning, etc. are designed to allow your talent to focus on the most important part of their job — moving the business forward.
When considering new software to implement, always think about how much time you might save for your developers. A solid engineer can command at least $100/hr for their time — do you really want them spending this time doing none mission critical work?
Outsource the boring stuff
Are your engineers spending countless hours replying to low level support questions? Are there design/development projects that could have a significant impact on the business but are currently being ignored given other priorities? It may make sense for you to invest in an off shore team that can take a first pass at some of these problems, before involving your core engineering team.
The key to successfully outsourcing web development projects is appropriately vetting the team you ultimately bring on. While initially you do need to put in some time to rigorously interview your prospective offshore development team, many of these professionals are seasoned in solving exactly the problems that you have. In the long run, the cost savings could be tremendous and your in-house team will begin to sense that you value their time.
Most companies have an endless amount of processes that could be optimized, and there’s a good chance that everyone from Sales/Marketing to Engineering is asking for additional resources from their leadership. Keep in mind that in a tech focused company a lot of times the buck stops with the engineering team — remember, they’re the one’s that have to make sure that everything’s running smoothly, even if it means waking up at 2:00 am to investigate a server issue.
So consider testing out some of these approaches to ensure that you have a more productive, motivated, and engaged engineer team — it will be worth the time investment.