Software development challenges

Here are some of the top challenges for software development at the present time. This list is informed by an ongoing survey of software engineers. Among other things, this list is being used to derive new articles for the Library, features for the Stack, as well as new project ideas.

Technologies

  • Cryptocurrency and Blockchain. Is crypto mining bad for the environment? How much of it is just hype? Is it useful outside of finance?
  • The JavaScript ecosystem is a mess. It is too complex/brittle. How can JavaScript be utilized effectively? Is there something better on the horizon?
  • Scaling data. How to choose and design databases which scale well?

Security / Privacy

  • Keeping up with security trends. By nature, as a product of human competition, security is always evolving. How can one keep up with those changes?
  • Privacy. Modern advertising compromises privacy. How can we fix that?
  • The internet is fundamentally insecure. What improvements can be made to applications and protocols to address that?

Software development

  • Maintaining applications/services. Production systems are complex and expensive to fix. "Firefighting" isn't fun so how can we avoid it?
  • Software design. Software design is a good thing, but it seems hard, expensive, and time-consuming, and designs can rapidly go stale as requirements, etc. change.
  • Testing. Software testing is necessary, but the state of the art and science of testing seems not to have progressed much in a decade or more. There are many ways to test. What's the right way to do it?
  • Choosing a hosting provider. What platform is the best for my business, the environment, security, and productivity?
  • Choosing between programming languages. Programming is increasingly a multi-lingual business. There are enough "mainstream" languages in use that the developer pool is fragmented. How, then, to choose a programming language for a project?

Developer life

  • Making a positive impact. How to develop situations where one's software is a net positive for society.
  • Rapidly changing technology. How to stay current with the seemingly infinite new tech products / advances?
  • Working with non-technical stakeholders. How can engineers positively influence business decisions made by product management and others? For example, how can the "tech debt" problem be solved?
  • The technology workforce is very fluid. Developers may only be at a company/team for a year or two, but our traditional workplace structures aren't really designed for that kind of fluidity. How can we adopt better training, turnkey platforms, etc. to improve work life in this context?
  • Information dystopia. The negative societal consequences of social media apply to our workplaces as well. How can we develop more resilience against the negative aspects of modern communications technology?
  • Interrupt-driven environments. How to deal with a diversity of inputs, software, meetings, etc. and get into the flow?

What are your top challenges?

Many thanks go to all of the people who have contributed their top engineering challenges to this list! You could be one of those people. What are the questions, large or small, that you are trying to answer as you address software development challenges? If you share them, they'll be included in an upcoming article!



Keyboard shortcuts

?Show this guide
ESCHide this guide
PApplication
LLibrary
SStack
AAbout
QQ&A
CContact
NNonzero Sum homepage