As a fresh graduate, I remember telling people what I’d do for a living while I was still applying for my first job.
Their responses were wild.
Computers are the future, man! Good luck.
Programming? I always sucked at math!
For those who weren’t afraid that some math would ruin their day, I shared a bit about the field. (Spoiler: It didn’t involve any math. Some were surprised.)
I often used the carpenter as an analogy. Carpenters learn to use the latest tools and materials and stay updated on changing building codes—keeping up with the latest in their trade. But now, imagine if every roof they built was completely different from the one they built five years ago.
Roofs, of course, don’t change much—the basics stay the same. But for software engineers, the tools, approaches, and even the “blueprints” can evolve so drastically that every project feels like uncharted territory.
If I still had people who didn’t tune out after maths, this usually did the trick.
So, sticking to my “simplifying things” mission from last time, I’ll lay out two paths I see for software engineers right now:
Building Today’s Software
Working in a corporate environment has opened my eyes to how much software businesses rely on, how old some of it is, and how critical it is to keep it running.
Right now, the only way I can see software engineering jobs vastly reducing is by abolishing money as a concept and doing space travel for research and fun.
Space travel would be much more fun than programming if that happens, so you wouldn’t regret piloting a rocket anyway.
Until then, someone has to maintain and modernize current systems:
Refactoring legacy code to meet modern standards.
Evaluating new tools and libraries to integrate into existing systems.
Testing practices (automating the process with Playwright, Cypress).
This work is essential—and I see a market for it in the future.
There will always be new things to play with to make software development easier, more predictable, and fun.
Building Tomorrow’s Software
This path might sometimes feel like a rollercoaster, but the thrill of working on the next big thing is unmatched.
This requires a mindset for working with ambiguity and making bets on what will matter years from now. For example, in 2014, I bet that JavaScript would dominate both front and back ends. I left Java behind, focused on JavaScript, and learned how to ship full-stack applications. That gamble paid off handsomely.
Today, I’d be hesitant to make another bet like this.
I don’t think it matters much whether I’m fluent in JavaScript or Python because the problem seems to be elsewhere. We have a vast amount of knowledge to work with, more than we ever produced.
The real challenge is precision and quality.
If you’re considering this path, think about:
Developing AI-powered tools that work autonomously and handle context intelligently. Check out Why Retrieval-Augmented Generation (RAG) is Essential for Trusting LLMs.
Leveraging workflows and AI agents for smarter problem-solving.
recently wrote a nice post on using workflows to build an AI sideproject. Check it out!Exploring cutting-edge areas like AI-driven SaaS (aka. AI wrappers)
This path isn’t for everyone—it demands patience, foresight, and risk tolerance.
Which One You’ll Pick?
Working with uncertainty or well-established and battle-tested tools. Occasionally giving a shot to a promising solution.
Deciding between these two paths depends on your personality and goals. If you’re unsure, here’s what I recommend:
For Building Today’s Software
Strengthen your foundation: Dive deeper into tools and frameworks you already use—master debugging techniques, optimize workflows, or streamline deployment pipelines.
Example: If you use React, spend time understanding React Server Components or explore optimizing large codebases with tools like Vite or Turbopack. Subscribe to resources like
’s .
Learn how to maintain legacy systems: This is a skill that will never go out of demand.
Example: Practice upgrading an old app’s dependencies or rewriting parts of legacy code into more modern patterns.
Stay updated with incremental changes: Follow newsletters, podcasts, or changelogs for the tools you rely on.
Example: Subscribe to industry newsletters such as
’s to stay in the loop.
For Building Tomorrow’s Software
Experiment with emerging tech: Dedicate a couple of hours each week to learning about or trying out tools that are shaping the future.
Example: Use OpenAI’s API to build a small tool, like a text summarizer, or create an AI-powered personal task assistant to organize your day. Commit 2-4 hours each week to this.
Collaborate with pioneers: Find communities or projects pushing the boundaries and contribute to them.
Example: Share your experiments or findings on platforms like GitHub, Substack, X, or in developer communities like Hashnode.
Build prototypes: Don’t wait for permission to try something new. Build small-scale projects to test your ideas.
Example: Create a GPT-powered chatbot that analyzes and summarizes meeting notes or use AI to enhance a static website with dynamic, personalized content generation.
Get familiar with the Playground. Here you can experiment with all OpenAI features, right from your browser.
And remember, you don’t have to choose one path forever. Test both, reflect on what excites you most, and revisit your choice regularly. The flexibility to adapt is the real superpower.
Whichever path you choose, take bold steps. The future of software development will be shaped by those who dare to evolve.
📰 Weekly shoutout
📣 Share
There’s no easier way to help this newsletter grow than by sharing it with the world. If you liked it, found something helpful, or you know someone who knows someone to whom this could be helpful, share it:
🏆 Subscribe
Actually, there’s one easier thing you can do to grow and help grow: subscribe to this newsletter. I’ll keep putting in the work and distilling what I learn/learned as a software engineer/consultant. Simply sign up here:
I usually stick with tools with a good reputation and some history. For some POCs/MVPs, I might give a try to new tools and experiment, but I'm aware that I might throw everything in the end.
Thank you for the shoutout, Akos!
Thanks for the shout-out Akos, it's a privilege being in the same list with Anton and Petar!