From Petroleum Engineering to Software — How I Made the Switch
People always ask how a petroleum engineer ends up writing Go for a living. The honest answer is: gradually, then all at once.
The starting point
In 2019, I started studying Petroleum and Natural Gas Engineering at Middle East Technical University (METU). It’s one of the top engineering schools in Turkey, and petroleum engineering was a respected, well-paying field. On paper, it made sense.
But I had a problem. I kept gravitating toward the computational side of everything. Reservoir simulations, data analysis, numerical methods — the parts that involved code were the parts I actually enjoyed. The geology and drilling? Not so much.
The side quest that became the main quest
While studying at METU, I started freelancing as a mobile developer. I built apps with Flutter and Firebase for clients. Small projects at first: a vocabulary learning app, a domestic violence support app called HearMe. Nothing massive, but real products for real users.
That freelance work taught me something no classroom could: I liked building software more than anything in my curriculum. And I was decent at it.
Making it official
In 2021, I got my first proper software role at Valantic, a German consultancy in financial services. I was working remotely with international teams, delivering software solutions for banking clients, optimizing SQL databases, and learning what it means to ship code in an enterprise environment. The transition from freelance mobile dev to professional software engineer was humbling. Enterprise codebases are a different world from side projects.
From there, things accelerated. I moved to Implementation Partners, where I worked on building a cloud-native banking product with Go, Kubernetes, and microservices. Within a year, I was leading a team of 10+ developers on the same product. I went from writing code to designing systems and mentoring others.
Where I am now
Today I’m at GoWit, building backend systems with Go, Kafka, Redis, and PostgreSQL. I’m also pursuing a Master’s in AI and Robotics at Ankara University, which brought me back to the academic side — this time on my own terms. My first paper, on using Kolmogorov-Arnold networks for classification, was published in Nature’s Scientific Reports.
I also went back to study Computer Programming at Istanbul University. Not because I needed the degree, but because I wanted to fill in the CS fundamentals I’d skipped by being self-taught.
What I’d tell someone considering the switch
You don’t need permission. No one is going to tap you on the shoulder and say “you should be a software engineer.” You have to decide that for yourself and then do the work.
Start building. Courses and certificates help, but shipping real projects is what actually moves the needle. My freelance portfolio got me my first job, not my engineering degree.
The engineering background isn’t wasted. Problem-solving is problem-solving. Thermodynamics taught me to think in systems. Reservoir simulation taught me numerical methods. These things transfer.
It takes time. From my first freelance gig in 2019 to where I am now in 2026 — that’s seven years. There’s no shortcut, but there’s also no deadline.
If you’re in a similar spot — studying or working in one field while being pulled toward software — I hope this helps. The path doesn’t have to be linear. Mine certainly wasn’t.