Bet on the Future of Software Development

by Maksim BalabashJune 2nd, 2025
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Previously, developers were more dependent and constrained in what they could do. Today's developers have far more advanced tools, and newcomers will be a generation of developers who can accomplish significantly more on their own than all previous generations. But this is yet to be understood and learned how to utilize.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Bet on the Future of Software Development
Maksim Balabash HackerNoon profile picture
0-item

When you go to a bar with a friend who works in IT, you inevitably end up discussing current affairs in the industry. The first half of the year has given us a lot to talk about, and here are just a few general observations we both made:

  • besides the usual impostor syndrome that many software developers have, there's also a lot of anxiety about all the chatter around AI taking over jobs

  • leaders and managers can’t help but get into conversations about how much of a performance boost (and when) to expect from developers, whether it’ll be x10, x40 or x200

  • at the same time, the push for AI adoption makes both tears and laughter

  • everywhere you look, you can find many near-absurd product features that use AI only to justify that it is from an AI-first company

  • drought and nervous foot tapping are common in the startup world, yet discussing them is often considered bad form

  • hiring is becoming increasingly difficult for everyone, especially for people just starting out in their careers


In these days of agentification of everything, I recall with warmth the hype surrounding blockchain


One of the biggest concerns about the impact of hype surrounding AI is that it could discourage new people from entering the software development industry.


"This is no longer creative work; learning software development today is a scam for fools; the game is solved" (this kind of rumors).


To keep the tech industry moving forward, it is essential to transfer knowledge of how things work and help newcomers acquire the skills they need to keep everything running smoothly and further advance the tech (Jonathan Blow nicely expressed this idea in his talk).


I buy the idea that we're at the beginning of a significant shift in our industry. Still, to me, it resembles web development from around 2008 to 2014 rather than the PC boom of the 1980s (an expansion, rather than an entirely new category).


Back then, there were tons of ways to get the basics done. Every week, it felt like we were trying out a new way to do things. It's similar to current AI engineering, where a new tool, model, approach, benchmark, framework, or company emerges weekly, claiming they're about to revolutionize everything.


Past and Present


No offense, but to me, tools like Devin are a lot like what Adobe Dreamweaver was for web development in 2010.


Where are we now

Software development has been around for over 70 years. Since then, the world has undergone numerous changes. Let’s take a look at a brief description of how it’s evolved over the years.

Brief on the evolution of software development


Here is a full size version of the image above.


As you can see, our field is continually evolving towards greater abstraction and more automated methods for managing growing complexity. Each new era brings fresh ideas that help us manage previous issues while pushing us further into hyperspecialization and smaller teams, providing us with more ways to gather feedback faster.


What complexities are we facing in the 2020s (so far)?

  • Supply chain security
    • modern software development relies on numerous third-party components, with even simple applications often incorporating thousands of them, each posing a potential security risk that could compromise the entire application
  • Observability data overload
    • metrics, logs, and traces generate vast amounts of data daily, but pinpointing the root cause is becoming increasingly challenging because dashboards display everything yet explain nothing (debugging is still hard)
  • Configuration management
    • use of IaC, feature flags, env variables, and secrets has created massive configuration spaces that are hard to validate
  • AI/ML integration complexity
    • integrating AI components with traditional software is still quite challenging, as SOTA and toolchains change every two weeks, and approaches evolve even faster


Replacing software developers with AI agents can't be a solution for any of today's complexities.


The wrong way to do things


A few things to watch for:

  • AI tooling consolidation

  • commoditization of AI workflow creation

  • even better ways of distributing software

  • changes in the way we build software that cultivate higher quality as consumer expectations rise due to software abundance


Bet on software development

Code generation was an excellent early case for LLMs, as it had just enough open data to make it work and a huge wow effect that made everyone talk about it. The current performance gains we get from copilots can easily get lost in the anxiety caused by the media or when people start looking for side gigs to make extra money and secure their future.


It's impossible to say precisely how things will play out. However, we should assume that LLMs' capabilities to generate code will only improve over time (as this seems to be their strongest feature so far), addressing their current issues (such as prompt length heavily impacting performance, etc.).


The effect of AI on cutting costs might be tricky, as everyone has the same chances to optimize. What's most likely to happen is that AI will make the whole pie bigger.

What happened when most people learned how to read, write, print, publish, and then eventually share their work online with the whole world? What happened when most people had the ability to shoot, edit, add filters and effects, and then publish it for everyone to watch (or buy and see later)? Or the same thing, but with educational content?


A LOT of wild stuff has gone down, I know. But hear me out: authors, filmmakers, and teachers are still around and in high demand (especially the excellent ones).


It appears that we're heading for a similar situation to the early days of the Web when everyone started creating websites for themselves. This will raise the bar for businesses and individuals (as it did with websites and webapps), bringing new differentiators, tools, and approaches and introducing new requirements for developers.


In other words, I like the ideas expressed beautifully in recent articles: "The End of Programming as We Know It" and "AI and Programming: The Beginning of a New Era".


Why not?


So, what is next?

Will we have an "IKEA" platform that provides an app container with all the basic features, allowing you to ask an AI assistant to deactivate features you don't need and add features you want, then fine-tune it manually?

Or will crypto finally deliver a better web for everyone (maybe happily merged with local-first principles)?

Or will it be Excel-level-friendly AI workflows for everyone?

Will we redesign existing services and create new ones to meet the needs of what seem to be new actors: the community (or network) and the AI agents?

I have no clue, only a phantom itch. If we have truly entered a new phase of the software development spiral, a great deal will change, and even more will emerge.


An invitation

In an environment where adding more code is cheap, an excellent software developer looks more like a classic mage than a classic engineer.


They are surrounded by ancient books (The Big Blue, The Green and The Dragon ones, etc.), they always carry a spell book with them (their favorite architectural patterns and principles, best practices), they speak strange language (abbreviations, acronyms, lexicon), they draw some esoteric illustrations (diagrams), connect some dots on the paper (interfaces), and once that's done, they say "generate and run" (abracadabra).


Previously, developers were more dependent and constrained in what they could do. Today's developers have far more advanced tools, and newcomers will be a generation of developers who can accomplish significantly more on their own than all previous generations of developers.


But this is yet to be understood and learned how to utilize.


Some things can significantly enable you on this journey:

  • When code is generated, it will eventually lack evident vulnerabilities and be validated against requirements using automated tests.

    • Your job is to ensure that the code is maintainable (this makes it easier for both machines and humans to troubleshoot and extend the codebase).
  • You need to understand, appreciate, and delve into the fundamentals of software architecture and the core principles of computer science.

    • The best way to go is to a) study hard, b) build from scratch, and c) revise and exercise (regularly).
  • The programming languages ​​won't matter much, but mastering two languages ​​- a dynamic, high-level one and a static, low-level one - will give you enough opportunities to practice all the essential concepts and broaden your perspective.


Suppose things do not go well for the industry. In that case, you can always get a job in the U.S. government (I bet in many other places as well) or many banks, as they rely heavily on codebases written in the COBOL programming language (claimed as dead language in the 80s). Jokes aside, while the tech industry is moving incredibly fast, the pace of technology adoption in other industries and their procurement processes often seem frozen in time (e.g., Windows XP, Excel, Fortran, Perl).


People also resist change. This is where a newcomer's lack of experience often works to their advantage. A lot of people (especially with age) find it hard to:

  1. Overcome learned and reinforced patterns of behavior and preconceptions.
  2. Take risks by giving up something that worked for them to try something new.
  3. Allocate a sufficient amount of time and energy to learn and practice that new thing consistently.


Heads-up for newcomers

While historical analogies may resonate with contemporary reality, we must not delude ourselves. Reality is complex and dynamic, while history is static and contextual. No one knows how things will unfold.


Many people will likely attempt to automate software development tasks, and it's safe to say that code generation will improve over time.


You should assume that the market is volatile, and it may become harder to find a good job, or you can lose it during another cost-cutting layoff wave.


It's almost safe to say that software development shouldn't be your end goal. Look at it as a means to an end, whether that end is in science, business, art, journalism, or somewhere else.


Being a newcomer in the software development industry today is all about personal agency. You want to escape this position, so start doing your next-tier job as soon as possible.


The great way to prepare for it is to:

  • learn boring but enabling concepts that everyone ignores because they are boring
  • find a buddy or a community that matches your type of energy and enthusiasm
  • use AI tools for learning and prototyping from day one
  • practice, practice, practice

What will make a huge difference is the desire to learn and understand the business behind the products you're building (its customers, processes, problems, and opportunities). Learning to communicate with people, identifying their needs, filling gaps in context, prototyping a solution, refining it with improved architecture, and partnering with AI to build it.


At some point (but don't rush), it makes sense to develop a specialization in a specific area. Pay attention to things that excite (or anger) you and try to go deeper into them.


Afterword

AI does not bring new ways of thinking and creativity. It exposes places where real thinking and creativity are necessary, easily filling the vacuum with simulations of it in other areas.


Software development won't make everyone happy. If you have that builder energy and a serious appetite to explore and learn, you should go for it! You will figure out all the things on the fly.


Anyway, I wish you all the best on your journey. Have fun doing it!

👋

P.S. If you enjoyed this post, please consider connecting with me on X or LinkedIn.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks