I have always felt that engineering and software are not as different as they might seem.
My journey started in industrial engineering, where I learned to analyze physical systems: production lines, workflows, bottlenecks, and process optimization. In that environment, every decision had a direct impact on efficiency, cost, or reliability.
Over time, I realized that software is not so different. A backend system is also a set of processes that transform inputs into outputs, with constraints, dependencies, and critical points.
The difference is that in software we can iterate much faster, but the complexity is still there.
Two worlds, the same mindset
In industrial engineering, I learned to:
- Break down complex systems into simpler parts
- Identify inefficiencies
- Optimize flows
- Think in terms of constraints
In backend development, I apply the same mindset, just with:
- APIs instead of machines
- data instead of materials
- services instead of workstations
The connection point
What surprised me most when moving into software is that the important problems do not really change with technology.
Tools change, languages change, frameworks evolve… but the fundamentals do not:
- how to model a problem
- how to design a system
- how to maintain it over time
Conclusion
Today, I do not see my transition as a career change, but as a natural extension of the same way of thinking.
I have simply changed the type of system I study.