What software developers hate

Take a look at this unscientific survey to discover some ways to keep developers happy. A few are even simple.

What software developers hate
PeopleImages.com - Yuri A / Shutterstock

No one thinks software development is easy, but who would have thought it could be hard in so many different ways? Evans Data estimates there are 26.9 million software developers globally. Recently more than 100 of those developers weighed in on Ali Spittel’s question, “What’s the most difficult part of your job as a developer?”

I expected the answers to mostly coalesce around a few key themes, but the responses were highly varied. It’s worth digging into them to see how your company can improve life for your developers.

Scope creep

Sometimes we love our developers too much. We rely on them (the new kingmakers and queenmakers) to innovate and to keep innovating. As Kyle Shevlin notes, “The constant threat of scope creep from product and design” makes life difficult for developers. This stems from a healthy confidence in developers’ talents, but scope creep translates into bloated software, which is hard to maintain, something Sofiene Salem highlights. Couple this with “unrealistic deadlines set by non-developers,” as Brian Shimkus stresses, and you end up in double trouble.

Developers also dislike “misalignment on the team in terms of what we actually should be building and expected outcomes,” as Danielle Heberling points out. Oh, and guess what? As developers, you’re always going to have “constant doubt of whether there is a better solution,” because, of course, there is, as Jelena Perfiljeva suggests. You just won’t settle on it until much later. The key, as Javier González argues, is to figure out “when to stop the perfectionism infinite loop.” Your code is never going to be perfect. Accept it and move on.

The pace of learning

For every developer who has been coasting on his understanding of Cobol for the past few decades, there’s the reality of framework flux today. As Brandon Trabon calls out, “Keeping up with the constant changes in languages and frameworks” can be a serious challenge. As he continues, “You really have to pick the ones you think will gain the most traction and start there.” But that’s not enough. “Of course, you need to be ready to pivot” to something new. Frameworks will often leave developers underutilizing a database or other system, but sometimes it’s the only way for a developer to keep her head above water with the pace of innovation. Even so, Trabon is right: Although frameworks help, they also change, and that change creates problems.

Related to this is the architecture of the application itself. According to Michał Zakrzewski, “anticipate how the application will evolve to prepare the best possible architecture, but don’t overdo it at the outset.” This is tough. For example, as a developer you may need to prepare for scale, but not by overprovisioning to the extent you break the bank upfront.

‘If only I could code more’

“Everything that isn’t coding” makes software development hard, says Luke Prosser. By some measures, a developer will spend just 5% of the time writing code, with another 70% spent trying to understand the code or doing things that only seem tangentially related to the code. As one commentator styles it, this includes “trying to get all the details to start the coding process.” Another thorny issue: “cross-team collaboration … [especially] in larger companies,” notes someone else. As much as we may want to focus on the ones and zeroes, software development is ultimately fueled by people, and, well, people are hard.

What about the common fear that AI will eliminate humans from software development? Well, AI is simply not going to replace people. Not now, not ever. So to Jessica Leigh and all the rest of you skilled software developers who worry about “waking up every morning and having to convince myself I still care about the work or this industry as gleeful managerial types predict how large language models are going to make us and all other drivers of actual value obsolete,” let’s end with this truth. As machines take on more of the grunt work of software development, the truly thoughtful, innovative work will forever be done by creative, wonderful developers like yourselves.

Copyright © 2024 IDG Communications, Inc.