This content originally appeared on DEV Community and was authored by Osman Pehlivanoğlu
The Breaking Point
Picture this: It's 8 AM, and I'm already on my third cup of coffee, chain-smoking while frantically making calls to suppliers. "Where are the materials? Production can't wait!" Sound familiar?
I was a mechanical engineer working in production and planning at a manufacturing facility for five years. Yes, I know what you're thinking - that sounds more like industrial engineering work, and you're absolutely right. But that's the reality of many engineering roles: you wear multiple hats and do whatever needs to be done.
My days were consumed by a relentless cycle of fighting with other departments, chasing delayed materials, and trying to keep production lines running. Every day felt like putting out fires while new ones sparked up behind me.
The stress was eating me alive. Coffee, cigarettes, and constant phone arguments had become my daily routine. And in whatever time remained, I was trying to do my actual job - creating production plans. I was living in a perpetual state of urgency, always reacting to someone else's problems, never actually solving anything meaningful.
Then one day, it hit me like a brick wall: This lifestyle wasn't taking me anywhere.
I was caught in an endless loop of human politics, department wars, and external dependencies I couldn't control. No matter how hard I worked or how many hours I put in, I was always at the mercy of other people's delays, mistakes, and priorities.
So I made a decision that changed everything. I decided I was going to quit my job.
But here's the context that makes this decision either incredibly brave or completely insane: I was one year into marriage, and my wife was pregnant.
When I told my boss I wanted to leave, I needed it to be a termination rather than a resignation - I needed that severance package and unemployment benefits to survive the transition period, even if it was just a small amount. My boss asked me to stay a bit longer since my direct manager was on maternity leave, and I agreed to handle her responsibilities for a few months so I wouldn't leave him in a terrible situation.
And then, finally, my last day arrived. After five years of factory politics and production battles, I walked out of that building for the last time.
Shortly after leaving, I also started working on quitting smoking - which I managed to do within a couple of months. If I was going to start fresh, I was going all in.
The Learning Curve (And My Outdated Assumptions)
What followed was about a year of intensive learning. But here's the embarrassing part: I started with completely outdated assumptions about what software development looked like in 2018.
You see, my last encounter with programming was literally back in 1999, when I built my first website - a metal music discography site hosted on .cjb.net (remember those free hosting services?). After that, I chose to study mechanical engineering at a good university - simply because the university was good! A simple mistake. Unfortunately, I didn't touch programming again for years until I quit that job.
So naturally, I assumed software development in 2018 still looked like what I remembered from two decades ago - desktop applications. I dove headfirst into Python with Tkinter, thinking I was going to create the next great desktop software.
And oh dude, did I go all in. I spent almost a year building a complete ERP system - yes, you read that right, an entire ERP system in Python with Tkinter. I even got as far as presenting it to a real factory. They were interested, asked for some changes that would take about two months to implement.
I was nearly finished with those changes when disaster struck: ransomware hit my computer.
Now, here's where you're probably thinking "What about version control? Git?" Well, let's just say I was backing up my code by... emailing it to myself. And my last backup? From two months ago - right before that initial presentation.
Everything was gone.
The factory decided to pass on the project (probably for the best), and looking back now, I can only thank God for preventing me from going down that path. A desktop ERP system maintained by one person would have been an absolute nightmare - imagine the chaos that awaited me.
Looking back, it's almost comical. While the world had moved to web applications, mobile apps, and cloud services, there I was, earnestly trying to build enterprise software with desktop GUIs like it was still 1999.
The Real World Awakening
While learning Python, I started taking on small freelance projects - basic Python scripts, WordPress websites, nothing too complex. But then I stumbled upon something that would change my trajectory entirely: enterprise software development with C# and Angular.
Coming from Python's dynamic, loosely-typed world, this was like jumping from a bicycle straight onto a Formula 1 car. Type safety? What's that? I had been learning everything the "easy" way in Python, and suddenly I was faced with strongly-typed languages, dependency injection, layered architecture patterns - concepts I had never encountered.
I spent months struggling, putting in countless hours trying to wrap my head around these enterprise patterns. It was brutal, but I was determined.
Eventually, I landed my first job in the field. The project? Developing an accounting software using exactly these technologies I had been wrestling with. Interestingly, I ended up guiding the team on .NET layered architecture while focusing primarily on the Angular frontend.
The result was something I was genuinely proud of - a piece of software that actually solved real problems for real users.
The Philosophy That Changed Everything
But here's what I discovered during this journey, and why I fell in love with programming: I was finally working with machines instead of people.
In manufacturing, I was constantly at the mercy of human unpredictability. Delayed suppliers, miscommunication between departments, politics, ego clashes - my success depended on factors completely outside my control.
With code, it's beautifully different. If your code isn't behaving as expected, the fault isn't with the code - it's with you. There's no politics, no ego, no external dependencies that arrive late. Just pure logic and problem-solving.
This accountability was liberating. Every bug was a puzzle to solve, not a person to argue with. Every feature was a challenge to overcome, not a department to convince.
Where I Am Today
After that first job, I co-founded a warehouse management software company where I work as both a software developer and co-founder. These days, I primarily work with JavaScript frameworks - Next.js, React, Node.js - building full-stack applications.
The journey from factory floor to full stack hasn't been easy, but it's been incredibly rewarding. I often work as the sole developer on projects, which suits me perfectly. I get to architect solutions, implement them, and see them come to life without navigating corporate politics or waiting for other people's decisions.
For Those Considering a Similar Jump
If you're in a similar situation - feeling stuck in a role that's draining your energy, constantly fighting fires instead of building something meaningful - here's what I learned:
Start learning, but start smart. Don't make my mistake of assuming the industry hasn't evolved. Research what's actually being used today.
Embrace the struggle. That period of learning enterprise patterns nearly broke me, but it was essential for understanding how real software is built.
Your previous experience isn't wasted. My engineering background gave me problem-solving skills and systematic thinking that complemented my development journey well. But more importantly, dealing with factory chaos, department wars, and constant firefighting taught me patience and resilience that proved invaluable when debugging complex code or learning new frameworks under pressure.
Focus on building things. Don't just consume tutorials - build projects, even if they're terrible at first.
Most importantly: if you're tired of being at the mercy of other people's chaos, programming might just be the escape you're looking for. In code, logic mostly prevails - not politics.
What's your story? Have you made a similar career pivot? I'd love to hear about your journey in the comments.
This content originally appeared on DEV Community and was authored by Osman Pehlivanoğlu

Osman Pehlivanoğlu | Sciencx (2025-08-25T09:34:44+00:00) At 33, Baby on the Way, No Plan: How I Became a Developer. Retrieved from https://www.scien.cx/2025/08/25/at-33-baby-on-the-way-no-plan-how-i-became-a-developer/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.