With so many courses out there encouraging people to learn coding and become developers, you'd be forgiven for thinking software development is a glamourous profession that will bring you wealth and fame beyond your wildest dreams. But this isn't going to be the reality for most developers. While being a developer may earn you a decent wage, a lot of the job involves repetitive tasks that can easily lead to boredom. So how do you keep developers motivated and engaged? One CTO thinks he has a pretty good idea on how to stave off boredom for his team of developers.
Bored worker image from Shutterstock
Boredom could be more damaging to employees than stress, leading to a lack of energy and dissatisfaction. Developers are prone to boredom because, let's face it, coding can be quite boring at times. Then you have to review and test the code. Unless you're working on some exciting project or at an innovative start-up, chances are your day-to-day work as a developer can often be quite dull.
Bruno Marnette, CTO for programming education app company Enki, reflected on this in a recent company blog post. He is in charge of managing the company's group of developers. Having previous been a full-time developer himself, he has some insight into why developers get bored and what can be done to prevent this.
Here are some of the key reasons he cited for developers becoming bored with their jobs. He also laid out solutions that he has implemented in his own company to combat those issues:
A project lasts for too long
Marnette recounted an experience he had in his first job as a developer:
"My team was working on preparing and serving financial data through a convenient API. It was exciting at first because of the complexity and the scale of the data. I learned about high-performance data analysis and API design. But after one year, we were still working on the exact same dataset, with the exact same technologies. I was becoming a specialist of something too specific. There was nothing new for me to learn."
His fix for this is having a rotating roster where he prevents anybody from working on the same code, product or dataset for more than three months. To facilitate this, Enki promotes a full-stack culture where each developer is able to work on any part of the company's code base.
"Another factor of prevention is to discuss these things constantly," Marnette said. "We have direct, open, one-to-one discussions each week. If a developer starts feeling too comfortable or too specialised, it’s time to rotate."
Coding involves a lot of copy and pasting
Marnette talks about how in his previous jobs, a majority of his code was made up of content copied from resources like Stack Overflow and existing scripts. He remembered how repetitive it became and how little he learnt during that time of his life.
What he does now at Enki is make the development team get together and review each other's code.
"If someone spent a week writing not-so-creative code, we try to understand why," Marnette said. "Sometimes, the root of the problem is technical. We may be doing more scripting or configuration work than we should. In this case, we add more automation. Other times, we did the copy/paste for a reason. In this case, we try to share the load of boring work to get done with it."
Some managers look at developers as code monkeys, preferring to give instructions to developers with a "just do it" attitude. The developers themselves may not even understand what they are writing the code for because they've been left out of the bigger picture discussions.
"But a developer who stops caring about the important decisions and the reasoning behind them is a developer ready to change their job," Marnette said. "The main thing needed is a culture that encourages open discussions. With a regular forum to debate, strategise and plan as a team what needs to be done. And to preserve such a culture, everyone in the team must be vigilant."
What do you think about Marnette's advice? Are you a developer who is plagued by boredom? Let us know in the comments.