From Automotive Technician to Junior Software Developer: My 4+ Year Coding Journey
More than four years ago, I started learning to code with a dream of changing careers, improving my family's future, and finding a more sustainable way to work. Today, I have a new milestone to celebrate: I'm officially a Junior Developer at the Joy of Coding Academy!
This is the story of how I got here, what I've learned along the way, and why I'm not giving up on the dream that started it all.
Starting From Zero: A Career Change Into Software Development
Starting From Zero: A Career Change Into Software Development
My journey into tech didn't begin with the Joy of Coding Academy. Before enrolling, I joined Freemote, a freelance web development bootcamp focused on building and customizing Shopify websites. I wanted to learn how to build websites and turn those skills into a potential career.
As I progressed, I realized that customizing websites and building more advanced web applications required a deeper understanding of programming than I initially expected. I wanted to go beyond working with website themes and develop the skills needed to understand code, solve problems, and build applications from the ground up.
That realization led me to enroll in the Joy of Coding Academy in November 2023.
Founded by Dr. Emily Hill, a computer science professor specializing in software engineering, the academy became an important part of my journey into technology.
When I first signed up, I thought learning to code would be relatively easy. I knew it would take some effort, but I didn't fully understand what I was getting myself into.
Coming from a non-coding background, learning software development felt like stepping into an entirely different world.
Imagine a farmer who spends his days working the land, caring for plants and animals, or a police officer who enforces the law and responds to dangerous situations. Now imagine either of them transitioning into a career where their primary tools are a computer, a code editor, and programming languages they have never used before.
That was what this transition felt like for me.
Don't get me wrong. I believe you can accomplish incredible things when you commit yourself to learning and improving. But commitment is more than simply deciding that you want something. It means investing your time, energy, and patience, even when the results aren't what you expected.
And I learned that lesson firsthand.
The Sacrifices Behind the Screen
I dedicated days, nights, and weekends to learning how to code. I spent countless hours in front of my computer, studying programming concepts, reading code, writing code, and trying to understand why something worked one moment and broke the next.
But there was a personal cost, too.
I was giving up family time. Instead of spending as much time with my young daughter as I wanted, I was often sitting in front of a computer, trying to make sense of concepts that sometimes felt completely foreign to me.
Before pursuing software development, I had spent years working as an automotive technician in dealership environments. The work could be physically demanding, requiring long hours on my feet, troubleshooting complicated problems, and using both physical strength and technical knowledge to get vehicles back on the road.
I remember coming home after dark, exhausted from the day's work, only to find my daughter already in bed. Sometimes, I couldn't even be there to tell her goodnight.
That was one of the things I wanted to change.
I wanted to build a career that would give me more opportunities, greater flexibility, and the possibility of being more present for my family. Software development offered a path toward that future, with the potential to work remotely and build a career using skills I could develop from home or anywhere with an internet connection.
That vision kept me going.
Even when progress felt painfully slow, I reminded myself why I started.
And I learned something important: slow progress is still progress.
The Reality of Learning to Code
One of the reasons I decided to pursue this career change was that I had heard from various sources that transitioning into software development could be relatively quick. The idea that someone could go from having zero coding experience to earning a full-time software developer salary in six to eighteen months sounded incredibly appealing.
I wanted to believe that timeline was realistic for me.
It didn't take long to discover that my journey would be much more complicated.
Learning to code isn't just about memorizing syntax or watching tutorials. It's about developing a completely different way of thinking.
You have to learn programming languages, understand frameworks, work with data structures, debug errors, test your code, and break complex problems into smaller, manageable pieces.
Then, just when you think you've figured something out, you encounter a new problem that forces you to go back, rethink your approach, and try again.
I've had to learn how to read code written by other developers, navigate unfamiliar codebases, adapt to different technologies, build applications, and troubleshoot problems that arise as projects become more complex.
Some days, things finally click. Other days, I find myself questioning whether I'm making enough progress.
I've experienced both.
I've also learned that there is a difference between understanding a concept while someone explains it and being able to apply that concept independently when you're staring at a blank code editor.
That gap takes time, repetition, and practice to close.
My journey has taught me that there is no universal timeline for learning software development. Everyone comes from a different background, has different responsibilities, and learns at a different pace.
For me, the important thing was not how quickly I could reach the finish line. It was whether I was willing to keep learning when the process became difficult.
And I was.
From Learning to Contributing: My Internship Experience
About six months ago, another important opportunity opened up for me at the Joy of Coding Academy: I was able to begin an internship.
This was a significant step because it gave me the opportunity to move beyond learning concepts in isolation and start applying my skills in a collaborative development environment.
Over the following months, I contributed to two different projects, gaining experience with real development workflows and the responsibilities that come with working alongside other developers.
I began working through development tickets of varying complexity, using Git branches to manage my changes, submitting pull requests, receiving feedback through code reviews, and getting my branches merged into the staging environment of those projects.
These experiences taught me that software development involves much more than writing code that works on your own computer.
You need to understand existing code, follow project conventions, communicate with teammates, respond to feedback, and make changes that fit into a larger application.
You also have to accept that your first attempt might not be your final attempt.
Code reviews and feedback became opportunities to improve my work and better understand how collaborative development operates.
There were moments when I felt uncertain about the scope of a task or whether my contribution was making enough of an impact. But I kept pushing forward, learning to focus less on getting everything perfect the first time and more on contributing thoughtfully, learning from feedback, and improving with each task.
Looking back, those experiences helped me see how far I had come since I first started learning to code.
I was no longer just studying software development. I was participating in the development process.
I'm Officially a Junior Developer!
Recently, I received news that made all those hours of studying, practicing, and pushing through difficult moments feel even more meaningful.
My application for the Junior Developer position within the Joy of Coding Academy was approved. I'm now officially a Junior Developer!
This is a milestone I'm incredibly proud of.
I know I still have a lot to learn. I know there will be new technologies to explore, unfamiliar problems to solve, mistakes to make, and lessons that only experience can teach me.
But that doesn't take away from this accomplishment.
For someone who started with no formal coding background and spent years working in a completely different industry, reaching this point means a great deal to me.
I'm proud of the progress I've made, the skills I've developed, and the opportunities I've earned through persistence.
And yes, while I haven't landed a Junior Developer position at an external company just yet, I'm proud to officially recognize the role I've earned within the academy.
This is a meaningful step forward in my transition from automotive technician to software developer.
It's proof that the work I've put in has led somewhere, even when progress wasn't always obvious.
What's Next? Landing My First Full-Time Developer Job
My next milestone is to land a full-time software development position where I can continue growing, contribute to a development team, and put the knowledge and experience I've gained over the past three-plus years into practice.
I want to keep building applications, solving problems, collaborating with other developers, and learning from people who have more experience than I do.
I'm also looking forward to documenting more of this journey here on the DEV Community.
I want to share what I'm learning, the challenges I encounter, the projects I build, and the lessons I pick up along the way.
If you're also transitioning into tech from the automotive field or another industry, learning to code while balancing family responsibilities, or wondering whether it's too late to start a new career, I hope my experience reminds you that your path doesn't have to look like anyone else's.
You might take longer than you expected. You might have to revisit concepts you thought you understood. You might even question your decision along the way.
That doesn't mean you're failing.
Sometimes, progress is simply showing up again, opening your code editor, solving one more problem, or finally understanding something that confused you for weeks.
Those small victories add up.
A Final Word of Gratitude
Above all, I'm thankful to God for holding my hand throughout this journey and giving me the strength to keep moving forward.
I'm grateful for the opportunity to reach this milestone, for the lessons I've learned, and for the people who have helped me along the way.
I started this journey hoping to build a better future for myself and my family. Today, I'm one step closer to that goal.
I'm a Junior Developer, and this is only the beginning.
Here's to the next chapter, the challenges ahead, and the opportunity to turn everything I've learned into a career.
Thank you for taking the time to read my story.
If you're also learning to code or making a career change into tech, I'd love to hear from you in the comments:
How long have you been learning to code, and what has been the biggest challenge you've faced along the way?
Let's keep learning, building, and moving forward together.
Top comments (0)