The More Things Change, The More Things Stay the Same 

Many developers are finding themselves under the gun, with more being expected of them in shorter amounts of time. Everything from new tools to new processes are now on the market, with the hope of making programming more efficient, more accurate, and more cost-effective.  CodeProject asked its developer community, “Is the process of writing software becoming harder and more complicated?”

Survey Says…

In the context of this survey, complicated was defined as requiring more pieces (build tools, deploy tools, different languages, multiple systems); harder was defined as each piece being harder to learn, due to the depth of knowledge required to be productive. Respondents were asked to ignore the aspect of working with others.  Respondents could select more than one answer.

Specifically, on the depth of knowledge required to achieve productivity with each tool, language, and system, the  overwhelming response (42%) was a collective shrug, with these developers saying some things are easier and some are harder. However only 7.8 % of respondents thought programming was easier.

Survey Results

ResponseVotes% Response*% Error (95% confidence/1.96)
Harder12313.852.27
Some bits harder, other bits easier37442.123.25
As hard (or easy) as it always was15517.452.50
Easier707.881.77
More complicated26730.073.02
As complicated as it always was9010.141.98
Some bits more complicated, some bits less23326.242.89
Less complicated151.690.85
Responses888
*Respondents were allowed to choose more than one answer; totals may not add up to 100%
Complicated meaning more pieces (build tools, deploy tools, different languages, multiple systems), and harder meaning each piece is harder to learn due to the depth of knowledge required for productivity. We'll ignore the dealing-with-people aspect here.

Survey period: 16 Dec 2019 to 23 Dec 2019

Considering complication, developers definitely seem to think there is a trend toward programming becoming more complicated. With the pieces required to do their jobs increasing, 30% of developers responding said programming is now more complicated. A mere 10% feel it is the same, and only 1.7% said it was less complicated. Only 26% felt there was a balance, saying some aspects are more complicated, some less.

Comments at Either End of the Spectrum

Oh, the humanity. It wouldn’t be a developer survey without sarcasm, full frontal attacks, and widely contradictory points of view. The comments do not disappoint.

There is the position that developers these days have it easy:

“I think modern day software development is very much easier than it used to be. Easy languages have replaced difficult ones. The internet has all the answers a click away. All the difficult stuff (calling conventions etc., COM binary standards etc.) (punched cards too!) has disappeared leaving you to focus much more on what you want to do, and less on getting it to work somehow. RAM and storage is limitless, processor speeds forgiving of appalling performing amateur code. Cloud elasticity even more so.

All the algorithms we learnt in the old days are in a framework somewhere done for you. Worst yet, everyone is just an integration developer hooking different open-source projects together which usually have some cute avatar or logo – usually for some inane website. Worst insult is they’re probably doing it in JavaScript. “

Too stupid to learn a proper language? You don’t have to, use node.js and never get involved with that nasty threading stuff.”

In contrast, there is the view that developers’ time is often overbalanced towards learning new tools rather than focusing on solving the customer’s problem:

“I once had a vision of attacking the customers’ complex problems, providing good tools for helping them understand how to solve it. After 35+ years in software development, we still spend most of our resources on how to handle our own tools, rather than the customer’s problems. And some of the tools that I know from personal experience to be really useful to understand the customers’ problems have been disqualified, replaced by other tools aimed at the software developer’s problems, not at the customers.”

Simplify the Pieces Parts

If you want developers to understand the value of your product, then make sure you focus on how it simplifies the process of programming. Developers are up to the challenge of learning something new, but they are keenly aware of the time spent just getting all the tools, languages, and systems to play together. For more details on how to create successful advertising campaigns in developer communities, check out our eBook, “D2D Marketing: An Advertising Guide.”