Member-only story
Software Engineering
Why Software Developers Need To Adopt a Systems Thinker’s Mindset
Let go of raw coding skills to understand the bigger picture
This article is an excerpt from my Udemy video course “Modern Software Engineering: Architecture, Cloud, and Security.”
There is one expression that I particularly love: Zoom out.
I love to zoom out because it allows me to see the big picture and determine my position on the whole. Without this action, I feel like I’m lacking vision and orientation, and I’m kind of lost.
I don’t know what “zoom out” means for you, but for me, it means to learn different technologies and paradigms than the ones I’m using, to understand the business side of the software I’m implementing, or even to identify patterns in one discipline and apply them in different contexts.
One way to “zoom out” is to shift our thinking from binary to spectrum. But there is another one, called Systems Thinking , which is used in different fields including software development. When applying systems thinking, you get a new perspective on how to build software projects, as well as an opportunity to reflect on your job from a different angle.
In the next section, we’ll tackle this concept, and to avoid getting bogged down in theory, we’ll work through a list of examples of how to use systems thinking in a typical software development team.
What is Systems Thinking?
In a nutshell, systems thinking is a philosophy of viewing the world as a collection of complex pieces. In software development, systems thinking is about understanding and building software together with your team in order to achieve business outcomes that are in alignment with what the organization wants to achieve.