Systems thinking, the skill everyone needs in the AI era
Nowadays, things are moving extremely fast due to all the developments in the AI space. At the end of 2025, a bunch of models and tools were released, and their capabilities increased. Yet, half a year later, I still see organizations and individuals struggling to work efficiently with them. But one thing is certain: the industry is changing, and new patterns are emerging. I don’t know what things will look like down the line, but I know I have two options: accept and embrace the change, finding my own way of working as I did for 15 years with traditional software development, or avoid it and pretend it doesn’t exist, hoping it’s a bubble (which it is to some degree) and everything will go back to how it used to be.
These emerging patterns can help us move faster, but faster doesn’t mean better, because we are still working within chaotic and complex systems. This is where systems thinking could help everybody understand and manage the solutions they build. Systems thinking is a way to understand and deal with complexity by looking at a problem as a whole, recognising that there are no isolated parts and that everything is interconnected. Every action has an effect somewhere else. That effect could be delayed, so you might not recognise it as a side effect at first. But down the line, if you analyse it, you can see how the ripples spread.
Software development is an area where systems thinking comes up all the time. Software at scale means constantly dealing with complexity: adding new features, fixing bugs, scaling, maintaining, etc. Software engineers are among those I consider systems thinkers by default (some of them), because the profession forces you to look at the work from a systems perspective.
AI and Complexity
The problem with going faster and producing more lines of code in a short period of time is that those lines have to be maintained. More lines mean more points of failure. Open source was, for me, a way to deal with this. I would use an external library when there was a specific problem I needed to solve but didn’t want to solve myself within the project. I preferred to put my time and effort into other areas that were more important. But something really common with AI is that it reinvents the wheel: it tends to write more software for things that existing libraries in the project already solve, or for common problems that a library could handle.
All this new code being written at the speed of tokens per second has to be maintained. Lucky us, we have coding agents. But even with them, we can reach a level of complexity that the agents can’t handle. So it’s important to think ahead about how to make what we build easier for agents to work with: faster, better, and more cheaply.
Is systems thinking the way forward for dealing with the high complexity of new AI systems? On one side, we have new things being created rapidly; on the other, rapid changes to existing systems add complexity and make them hard to maintain. Systems thinking could help us work through both with a better understanding of how to approach the problem.
In fact, the problems start even before we write software. Trying to get proper requirements nowadays seems almost impossible. We are buried under thousands of lines of Markdown specs that no one reads and no one cares about. And that’s why AI is not going to magically erase all the software engineers in the world.
Using AI for Problem Solving and Planning
When I’m not sure how or when to implement something, I like to use AI to help me think. I did the same before AI as well: I used to think about the problem, why I was trying to solve it in the first place, brainstorm ideas, and come up with two or three ways to approach it. I didn’t yet have a clear understanding of how it would be done or what it would look like.
With AI, you can do the same, but go one step further: get working solutions from different perspectives and pick the one you like the most. And that’s the magic. You can see the options not only in theory, but also fully (or partially) working in your system.
Feedback loops
Loops are a common term in AI harnesses: AI loops, the Ralph Loop, etc. But what is a loop in this context? It’s a feedback loop, and the quality of the feedback matters: garbage in, garbage out. The agent becomes part of the system and modifies the code. If it doesn’t have the proper tools to verify its work across different aspects, it becomes dependent on you. That dependency can reinforce itself: the agent does something, you need to intervene; the agent does something else, you need to intervene again. In this case, you become a bottleneck.
What we want is to give the agent room to work on its own, with the proper instructions to guide it. But we also need to give it tools so it can run those loops itself. This way, the feedback can act as a balancing loop: the agent checks its work and corrects problems instead of waiting for you every time. The balance we’re looking for is in how much time you invest in helping the agent.
Exploring
Exploration and understanding are another part of systems thinking. When you are new to a system, you try to map its parts and build a mental model to think about it. Traditionally, at least for me, this took time. And properly understanding a complex system is a never-ending activity, especially if it keeps evolving.
A mental model of the system is extremely important. It helps you identify all the parts that make up the system and understand how they communicate with each other. You can see patterns, loops, and possible side effects.
But now, creating that initial map is much easier. You can use AI to map a system and help you build a mental model of it. An overview of how the system works, the parts that make it up, and the interactions between them can be in your hands in minutes. You can invest more time in understanding the system deeply rather than trying to create a basic map of the surface.