Blog

Software Engineering in the Year 2034 - Richard Seidl

Written by Richard Seidl | Jul 15, 2024 10:00:00 PM

What will the day-to-day work of a developer look like in 2034, what environments, tools and practices will be used to create, test, deploy and operate software? What types of software systems will be ubiquitous? What systems will we use at work and what architectures and technologies will these systems be based on? Kevlin takes a look into the future and talks about possible developments in software development, the impact of digitalization, the role of AI, the influence of trends such as cryptocurrency, Web3 and the metaverse and new trends in software architecture, programming languages and work culture.

“The most widely used programming paradigm: the spread sheet. what we know from the spread sheet is, that most people, that uses spread sheets, do not have a software development background. We also know that all spread sheets are unmaintainable, incomprehensible and buggy” – Kevlin Henney

Kevlin Henney is an independent consultant, speaker, writer and trainer who has contributed to the current development of programming techniques, software architecture and unit testing. He has been a columnist for numerous magazines and websites and has served on many committees. He is also co-author of “A Pattern Language for Distributed Computing” and “On Patterns and Pattern Languages” from the “Pattern-Oriented Software Architecture” series, as well as editor of “97 Things Every Programmer Should Know” and co-editor of “97 Things Every Java Programmer Should Know”.

Highlights of this Episode:

  • Kevlin Henney and I discussed the future of software development, especially looking ahead to 2034
  • AI won’t do everything in the future, and software developers will still be needed
  • Programming languages that are popular today will largely remain so, with the majority developed in the 20th century
  • The actual change in software development over the next decade is likely to be less dramatic than some people expect
  • Agile development is common in name, but the practice itself is not widely adopted
  • The role of AI in software development is uncertain, with legal and ethical issues still to be addressed
  • The need for software developers to have precise skills, such as testing and asking the right questions, is becoming increasingly important
  • The world runs on software, and that will not change, which means job security for software developers
  • Collaboration within teams and organizations will continue to be critical, with a focus on reducing communication distance
  • Developers should focus on fundamental skills and principles that have stood the test of time, while also keeping an eye on new tools and languages

AI, agility, programming languages - developments in the next decade

Today I talk to Kevlin Henney about possible developments that lie ahead for software development by 2034. Kevlin’s crystal ball gazing reveals a subtle mix of expected developments and surprising constants.

Programming languages

Kevlin highlights a fascinating trend: despite rapid technological advances, most developers are still using programming languages that were developed in the 20th century. This suggests a slower-than-expected evolutionary pace and underscores the notion that mastery of current mainstream languages could remain relevant for a long time to come.

The agile misunderstanding and reality

Agile development has become a buzzword synonymous with modern software practices. However, Kevlin suggests that its true adoption is less widespread than one might assume. Looking ahead to 2034, it seems that certain practices may become more common, but the core principles of agile methodology may still struggle for true implementation.

Hype vs. practicability: technologies at a glance

From metaverse dreams to cryptocurrency bubbles and the ongoing obscurity of Web3, Kevlin critically scrutinizes various technology trends. While acknowledging their respective niches, he projects a tempered outlook on their influence through 2034 and suggests that some hyped innovations may not be able to deliver on their promised revolutionary roles.

AI: The double-edged sword

The discussion inevitably steers to the topic of artificial intelligence - a subject that evokes both curiosity and skepticism. Kevlin offers a nuanced view of the possible evolution of AI: a future in which AI transforms software development but does not replace human ingenuity because the constant need for human accuracy and ethical oversight remains.

The future developer’s toolkit

When looking to the future of software development, developers are given timeless advice: Prioritize foundational skills and principles over fleeting trends. Kevlin recommends focusing on testing skills, precise communication through code and natural language alike, and keeping an eye on emerging tools without losing sight of proven methodologies.

Cultivating collaboration and quality in software teams

Finally, we discuss another crucial aspect that is shaping the future of technology workplaces: Collaboration. With different approaches in large and small organizations, Kevlin highlights the critical need to reduce communication gaps within teams to promote true agility and quality - principles that are likely to remain crucial as we head towards 2034.