How I Went from Civil Engineer to Product Owner in 2 Years

7 minutes

Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life. 

Today’s story is from Jan Osterž, a 35-year-old Product Owner at a software engineering company, living in Slovenia. Read more stories from Codecademy learners here — and be sure to share your story here. 

Why I chose to learn to code 

“I have a master’s in civil engineering, and I specialized in infrastructure analysis. My big interest was always bridges. During my masters degree thesis, I learned about a tool that involved visual scripting to model different kinds of buildings, bridges, and similar structures. Then I had an idea: what if I tried to use this tool to model a parametric bridge? We worked together with a local bridge company and provided a small program that could define a bridge and make parametric changes to it. 

This project wasn’t just about visual scripting; the visual scripts were built on the basis of Python. Because it was open source, we needed to develop our own nodes to perform specific tasks. This experience was one of my first entry points into software development —actually doing some of the development work. 

Learn something new for free

After I graduated, I got an offer to join a company that was developing software for modeling and analyzing bridges. They had just opened a new office near me in Austria.  

At first, I was unsure whether to take the offer. I had always wanted to do something like this — combining software development with civil engineering — however, I had to consider the commute. My old job was just 10 minutes away from my home, whereas this new job would require me to drive about three hours each day, to and from work. In the end, though, it was worth it.” 

How I made time to learn 

“We were lucky during the pandemic because we were sent to work from home. This meant I didn’t have to spend time commuting anymore. I began thinking about how I could level-up my game in the company. Initially, I started as a Technical Consultant but was gradually pushed more into product management. I realized that I was talking with developers daily and needed to understand what they were doing and what they were telling me. I also needed to understand their point of view. 

This was a good opportunity to sign up for Codecademy Pro. I had so much time that I really started using it on a daily basis, beginning in 2019. I finished around five in the afternoon, but I could go to Codecademy and start coding till 10 in the evening.”  

I’ve managed to combine my roles, working from both the product management perspective and the development perspective.

Jan Osterž
Product Owner

How I got in the door 

“I didn’t tell anyone [that I was learning to code] at the beginning. I just wanted to do it for myself. When I first explored Codecademy, I saw so many courses and first had to find what was interesting to me. One of the first career paths I completed was the Computer Science career path. It helped me with Python, and it gave me a good understanding of the syntax of coding, different algorithms, data structures, and so on. 

Once I finished that, I slowly started to tell people that I was learning to code. I began asking the development lead if I could get the opportunity to do some coding. He was a bit hesitant at first. They were supportive, saying it was good that I wanted to learn and understand this stuff, but they didn’t want to give me an opportunity to try something right away. I always thought, Okay, I know Python, I understand computer science basics, but because we were mainly focused on C++ and C#, they were hesitant. I felt stuck and didn’t know what to do next or where to go from there.” 

How long it took me to change jobs 

“I continued learning on Codecademy almost daily for about a year and a half. At some point, I decided that maybe web development was something for me. I started the Full-Stack Engineer career path twice and found myself thinking, Maybe I want to go in this direction. However, I still felt that people didn’t take me seriously. Many in the company seemed to think, Okay, you learned to code, but we don’t have time to give you an opportunity. 

In 2021, I signed up for an official governmental program for university. I was a bit scared at first and didn’t know what to expect, but I found that what I had learned from Codecademy was the same as what they taught there. It was easy for me to move forward from there. 

Eventually, people started to take me seriously. I told them that my official program required me to do some practical work at a company, and I suggested doing it there. They agreed, saying I could start a side project away from our main line of code. I worked on it with one of my colleagues, and after a year of development, people saw that I was serious and capable.” 

How I evaluated the offer 

“There were about seven or eight months where the main focus was C#-based development. We were building an external plugin for our application, and during this period, I was deeply involved in development. However, I also took on more responsibilities in other areas, and I felt torn about which direction to pursue. 

I didn’t want to miss the opportunity to work as a developer, but I was offered a role as a Product Owner. I was really thinking about what to do, because if I went completely into development, I might lose touch with all the civil engineering work I had done previously. My vision was always to combine these fields. 

In the end, I decided to go for product ownership. However, I still have the possibility to do some coding. I always have access to the code and can do small tasks on my own. If I have the time, I can also help with development. I’ve managed to combine my roles, working from both the product management perspective and the development perspective. 

This combined knowledge, much of which I acquired through Codecademy, allows me to have better technical conversations with the development lead and the developers. For example, if we get a younger developer, I can provide tips and guidance. I can suggest directions to explore, such as using WPF [Windows Presentation Foundation] in C#, or recommend libraries to use. All this knowledge helps me manage and integrate both aspects of my work effectively.” 

What I actually do all day 

“A typical day for me starts with a short Scrum meeting where we go through what everyone is doing and identify any obstacles. Although these meetings are usually meant just for the developers, I like to join them whenever possible to stay updated on any problems and ensure we are on track with the current sprint. 

Next, I usually spend the morning thinking about what we will do in the next sprint. I prepare concepts, write user stories, and input them into JIRA to start planning for the next sprint. In the second half of my day, I have more detailed discussions with different developers. I check on their progress and ensure that we are moving in the right direction to achieve the desired increment by the end of the sprint. 

Because we are in a highly technical field, focusing on the analysis and calculation of bridges, my discussions are often technical. I talk not only with developers but also with customers to get their feedback on what we are doing. Additionally, I consult with other technical teams that specialize in areas I may not be as familiar with to get their input. 

This is usually how my day goes. I try to plan, but every day is different. New issues come up, some things become urgent, and priorities shift. It’s a lot of handling various tasks and adapting to new challenges as they arise.” 

What I wish I knew before I started learning 

“The important thing is that it’s not about which language you choose; it’s about learning the concepts first. These concepts are easily transferable between languages. Master one language first and then move on. In my early years when I started coding, I was just jumping around —from Python to C to C++ to C#. I wanted to learn everything at once without focusing on the concepts and what was actually important. 

If I had known this earlier, it would have been easier for me to start with a clear path. Now, I understand this, and when I see some of my friends starting to learn to code, I want to tell them the same thing: you need to learn one language first and understand the concepts.  

What I want to say is that you need to learn various things, but first, master one language. Then you can broaden your horizons. In the end, it’s about having a solid foundation before expanding your knowledge.” 

Learn like Jan

4 courses

Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests. 

Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community. 

Related articles

7 articles