
Things great software engineers do in 2025
I recently returned back to an IC role as a Software Engineer and my absence from full-time engineering duties left me wondering how things have changed over the last three years or so with the emergence of LLMs.
The world of software engineering seems more divided than ever with the entry of new tooling and approaches to building software. I haven’t really made my mind on the hype yet. It seems obvious that the profession will go through some huge changes over the next few years. At the same time, I’m not quite ready to declare software engineering dead yet. Great engineering will always have it’s place and here’s my short list on how you might become one.
Great engineers write
Writing is thinking and we’re more than ever judged by how we articulate our thoughts and ideas. The best engineers I’ve met over my life have all been great writers and therefore great at writing proposals and documentation for others.
Being able to express a concept, a system or an idea well in writing also makes you better at utilizing the language models we might work with. A great engineer writes down their thoughts. A better prompt can lead to a better output from your coding assistant. A well written feature proposal will prompt better feedback and implementation from your team.
Great engineers understand interfaces
The hard thing about computers is that our analog world can be difficult to model discretely. Everything runs on a bunch of cobbled together interfaces between pieces of software and hardware.
The environments we work in vary from individual pieces of software to system to the infrastructure they run on. A great engineer is able to recognise and navigate the different actors at play within their system, they understand how these subsystems talk to each other and what their relations are.
Great engineers understand systems
Speaking of systems. While understanding the glue between their parts, it is equally vital to be able to step back and understand systems as a whole. Knowing what individual pieces make up a working software and being able to concept and deliver working systems is more important than ever.
One of the promises of AI coding tools is providing individual engineers with more of a bird’s eye view. Whether this ever comes to pass fully or not remains to be seen, understanding the systems and their architecture will not go out of style.
Great engineers communicate well
I’ve always thought of the profession of engineering as a form of humanism. You work with concepts from natural sciences and mathemathics and you apply those to design and build something for humans to use. With this backbone of applying sciences, a great engineer also needs to be able to argue for their decisions and to be able to explain their solutions.
Even in the future, I find it highly unlikely that most worthwhile things will be build by single individuals backed by AI. Being able to communicate with humans, be they your customer, your teammate or your employee, is a skill that won’t go out of style.
Great engineers understand their strengths
These are honestly just personal observations of things that have worked for me. I think a key ingredient is understanding your own strengths and being able to leverage those in an ever evolving landscape. Software Engineering has always been a fast moving field, but the greatest engineers I’ve known have been working in it for decades. I’m pretty confident we still have our place.