How My Experience in Civil Engineering Helped Me as a Software Engineer

Marko Petric & Marko Čabo -

One of our valued engineers, Marko Petric, actually didn't start out as a Software Engineer. We chatted with him as he outlined with much enthusiasm as to how his background in civil engineering is useful not only to our company but to our clients. Check out the blog to read more on his inspiring story! 

 

 

When I transitioned from civil engineering to the world of software engineering, I never imagined how much my previous experience would benefit me. At first glance, civil engineering and software development seem like completely different fields, but in essence, both involve design, planning, and problem-solving. Here are some key lessons from construction that have helped me become a better software engineer.

 

1. Broader Perspective

 

In civil engineering, I was accustomed to assessing demands and "big" problems that often turned out to be less significant when properly analyzed. This ability to see the bigger picture helps me in programming to identify and distinguish between what is important and what is not, thus speeding up the problem-solving process.

 

2. Engineering Mindset

 

I learned how to make accurate assessments, balance the requirements of various stakeholders, and optimize solutions within real constraints, whether they be deadlines, budgets, or resources.

 

3. Managing Entire Projects

 

Civil engineering projects require comprehensive management – from studying laws and zoning plans, talking to clients, and visiting construction sites, to drafting designs, coordinating various trades, and overseeing the project until final handover. These experiences help me in software development through:

 

  • • Understanding the entire project lifecycle.
  • • Efficient communication and coordination between different teams.
  • • The ability to plan and anticipate problems before they arise.

 

IMG_5792-1

  •  

 

 

The only downside of a background in civil engineering is that you tend to talk quite loud.

 

 

 

 

4. Precision and Attention to Detail

 

In civil engineering, even the smallest mistake can lead to serious structural or financial issues. This precision translates into software development by:

  • • Writing high-quality and optimized code without small errors that could cause major problems.
  • • Thinking structurally and designing software solutions that are sustainable in the long term.
  • • Conducting a deep analysis of every aspect before implementation.
  •  

5. Working with Clients and Involvement at All Project Levels

 

My experience in civil engineering taught me what it means to take responsibility for an entire project—from the first idea and discussions with clients to the final delivery. In programming, this means I can coordinate teams more effectively and communicate efficiently with all stakeholders.

 

6. Organization of Tasks and People

 

Through managing complex construction sites, I developed strong organizational skills that now help me in planning, delegating, and tracking tasks within a software team.

 

7. Working Under Pressure and Meeting Deadlines

Deadlines are crucial in civil engineering, and delays can have significant financial and legal consequences. This responsibility carries over into software development through:civil engineering

  • • Effective time and task management.
  • • A focus on delivering high-quality solutions within set deadlines.
  •  

8. Nothing Is an Obstacle

 

If I successfully changed careers and mastered an entirely new profession, no challenge in software development would be insurmountable.

 

Conclusion

 

Although civil engineering and software engineering may seem different at first glance, essential skills such as structural thinking, planning, teamwork, and problem-solving are universal. My experience in civil engineering has helped me become a better software engineer by providing me with a unique perspective and approach to work. If you're coming from another industry and considering a career change into IT, you likely already possess skills that can be transferred—you just need to recognize and leverage them! It is a bonus if you want to work at Reeinvent Croatia because we have not one, but two Markos with a background in civil engineering! 

 

However, there is one major difference between civil engineering and software engineering, a construction site requires you to be very loud, and that can prove to be an issue when working in an open space with several other colleagues!