“I’m sitting in a café in the heart of Madrid, coffee in hand, working on my laptop as the rain falls outside. In a few moments, I’ll start my first day as a front-end developer. Just ten months ago, I was an English teacher in Granada, completely new to programming. Now, here I am. How did this career change happen?”
These were my words of excitement as I prepared for my first day in a new career. Join me as I share the journey of how I made a career change into programming.
Debunking Myths About Career Change into Tech
When I first considered a career change into programming, I would read success stories with a degree of skepticism. I would search for some hidden advantage in the writer’s background – something that made them “special” and suited for a tech career, something I felt I lacked.
I’ve since learned that this isn’t the reality. There are no “special” prerequisites to becoming a developer. I won’t sugarcoat it; it requires effort. But the encouraging truth is that the essential ingredients are accessible to everyone. You need to be ready for hard work, continuous learning, and unwavering consistency. You must persevere through challenges and overcome moments of self-doubt when you question your capabilities. That’s fundamentally what it takes, and these qualities can be developed by anyone with dedication.
My starting point was from scratch – no relevant educational background, limited budget for expensive courses, a demanding full-time job, and approaching middle age. While everyone’s circumstances are unique, I discovered that with determination, a career change into programming is achievable.
My Background: From ESL Teacher to Aspiring Developer
On the day I wrote my first line of code, I had zero prior programming experience. My professional background was varied, starting in the restaurant industry, followed by a degree in Music Technology, and then a decade teaching English as a Second Language (ESL) in Spain. I wasn’t particularly tech-savvy, though I always had a fascination with new technologies and viewed programmers as modern-day problem solvers.
However, programming seemed like an exclusive field, reserved for gifted individuals from elite universities. While such profiles exist, most developers are not the stereotypical “Hollywood hacker.” The world of development is far more accessible than I initially believed.
The Spark of Inspiration for a Career Change
My journey began with an engaging conversation with my partner. She was researching the underrepresentation of women in STEM fields, particularly in tech. Driven to make a difference and serve as a role model, she decided to learn programming herself.
Her initiative ignited my own interest. We realized the abundance of readily available resources. Programming wasn’t an arcane art, but a skill we could learn and master together.
Spoiler alert: she successfully transitioned her career from HR and secured a developer job a month before I did!
One day, we stumbled upon a children’s book about programming in a science museum. Returning home, we opened Notepad, typed <h1>Hello World</h1>
, opened it in a browser, and then changed the color to red. We were amazed! It felt like magic!
From that moment, I was captivated. I wanted to create things with code, to command computers to perform actions I dictated.
Finding Motivation for Change in a Satisfying Job
At that point, I had been teaching children for eight fulfilling years. This isn’t a story about escaping a dreaded job. I genuinely enjoyed teaching, loved working with kids, and felt comfortable in my role. It was rewarding and enjoyable.
Yet, even when you love what you do, there are times when you sense it’s time for a change. I was entering a new phase of life with fresh perspectives and aspirations. Above all, I craved a new challenge, something that would push me significantly beyond my comfort zone and facilitate a career change into programming.
Charting Your Course: There’s No Single Path to a Programming Career
There is no single “right” way to career change into programming. Three of us – my partner, a close friend, and myself – began learning to code around the same time with the goal of career transition. All three of us now work in the tech industry, and our approaches were quite different. Each of us adopted methods and resources that resonated personally. If there’s a common thread, it’s our shared persistence and hard work. We simply didn’t give up.
So, instead of presenting a universal “true path,” I’ll share my personal journey. It’s not the only method, nor necessarily the best, but it’s what worked for me when making a career change into programming.
Getting Started and Defining Your Objectives
My initial step was to immerse myself in reading articles and watching YouTube videos about programming to understand where to begin. I then started experimenting with HTML and CSS, following tutorials to build basic web pages. This hands-on experience confirmed my strong interest in pursuing this path.
Seeking guidance, I reached out to two friends working as developers. Their early encouragement and advice were crucial in setting me on the right track and focusing my efforts towards a clear goal of career change into programming.
Defining realistic and achievable objectives took some time. I needed a relatively quick career transition as I didn’t have alternative income sources, requiring me to maintain my teaching job until I could switch careers.
I decided to focus on front-end development as it seemed the most accessible and in-demand area. I further narrowed my focus to the skills needed for a startup environment rather than freelancing.
Then, I set a firm deadline. I didn’t want this goal to become another item on a perpetually postponed to-do list. It was spring 2017, and I committed to making the following school year my last as a teacher. My target was to be employed in a programming role by September 2018 – just over a year away.
It would be disingenuous to claim I had everything perfectly planned and under control at this point. Uncertainty is inherent in making a significant career change. Doubts surfaced frequently throughout the process. The key was persistence. Once I made the decision, I was committed to seeing it through, regardless of the challenges, to achieve my career change into programming.
Immersing Yourself in Learning: The Core of Career Change
I knew that dedicated study was the only way forward in my career change into programming. With a full-time job, waiting for “free time” wasn’t an option. Learning had to happen alongside my existing commitments. Fortunately, my partner was also learning to code, which helped us structure our days to maximize study time. We started with “weekend boot camps,” dedicating entire weekends to coding. A typical day looked like this:
8:00 AM: Wake up, breakfast
8:30 AM: Start coding
12:30 PM: Gym
1:30 PM: Lunch and break
3:00/4:00 PM: Continue coding
8:00/11:00 PM: Finish for the day
When summer break arrived, I intensified my efforts, transforming the “weekend boot camp” into a “daily boot camp.” I rigorously adhered to this schedule, resisting the temptation to relax and enjoy the summer.
Returning to work in September, I made a conscious decision to reduce my working hours. I accepted a lower income in exchange for more study time. This was another step to solidify my commitment to a career change into programming.
It’s difficult to convey how challenging it was to be away from coding. All I wanted was to be back at my computer, solving problems and refining layouts. But daily life intervenes. The beginning of a school year is always demanding, requiring extensive preparation and organization. As any teacher knows, it also encroaches on personal time.
This period was a critical juncture where my mission could have derailed. Despite my best efforts, coding time dwindled. I began losing momentum. I tried to maintain consistency, but some days simply didn’t allow for it. Even with strong motivation, life can complicate things.
My GitHub activity showing a dip in October due to time constraints.
However, as my GitHub activity illustrates, I persisted. I kept putting in time, even if it was just an hour or reading an article. I did everything possible to avoid losing motivation entirely. The longer you step away, the harder it becomes to return.
As December approached, the looming new year and my approaching deadline spurred me to reorganize and refocus. I pushed through, dedicating hours to study regardless of fatigue or time constraints. Sometimes I coded early in the morning, sometimes late into the night, all in pursuit of my career change into programming.
My life essentially narrowed down to my job (to pay bills) and studying. Little else occupied my time. I maintained this intense rhythm until the spring of 2018, when I began preparing to move to Madrid – several months ahead of my initial deadline for a career change into programming.
Essential Tools and Resources for Your Programming Career Change
Throughout the ten months leading to my job offer, I became deeply immersed in all things coding. The most frequent question I receive on Twitter is about the resources I used. I’ve detailed this extensively in another article, but here’s a summary of the most crucial tools and resources that supported my career change into programming.
Recommended Courses and Learning Platforms:
- freeCodeCamp.org: Offers a comprehensive, free curriculum covering various aspects of web development.
- Udemy Courses by Cassidy Williams and Colt Steele: These instructors offer highly-rated, affordable courses on web development and JavaScript.
- Wes Bos’ JavaScript 30 and Courses: Known for engaging and practical JavaScript courses, especially JavaScript 30 for hands-on projects.
- YouTube Channels like Traversy Media and LevelUpTuts: Excellent free resources for tutorials and web development insights.
- Lynda.com Courses by Christina Truong: Offers structured learning paths and in-depth courses on various tech skills.
- Udacity Front-End Nanodegree: A more intensive, paid program (I received a Google scholarship) providing structured learning and portfolio projects.
While courses provide a strong foundation, I supplemented them with other tools to enhance my learning and job prospects for my career change into programming:
- Twitter: A vital platform for connecting with the developer community, especially the supportive #100DaysOfCode community.
- GitHub: Essential for version control, collaboration, and showcasing projects. It’s often the first place employers review to assess your work.
- Portfolio: Building a personal portfolio website and other self-initiated projects was crucial for applying my skills and demonstrating practical abilities.
You can also explore My Learning Tracker GitHub repository, which contains a complete list of resources and learning paths I utilized during my initial ten months of learning for a career change into programming.
Landing Your First Programming Job: From Learner to Professional
Surprisingly, the job search phase wasn’t overly complicated for me in my career change into programming. I didn’t send out countless resumes or spend endless hours job hunting. Instead, I focused on being selective and targeted in my applications.
Ultimately, I went through five interview processes. I was rejected by one company and didn’t complete the take-home challenge for another. I completed three processes and received offers from all three. One offer was clearly unsuitable. The other two, arriving almost simultaneously, were both very appealing. One of these became my current job.
I don’t want to sound dismissive of the effort involved. It was an intense period. I was still uncertain if my skills were sufficient for employment. I entered interviews unsure if my limited experience would be a disadvantage. It was nerve-wracking, but also exciting and filled with hope. When I found myself with two excellent job offers, I was ecstatic and almost in disbelief.
I am eternally grateful to the individuals who made the hiring decisions and gave me a chance for a career change into programming.
The interview processes at the two companies were distinct. One involved a series of video calls with various team members at a small, established company looking to expand their front-end development team. After a few weeks, they extended my first job offer.
The other was with a rapidly growing startup. Following a phone interview, I received a technical challenge to complete within a few days. It involved building a component, making API calls, and displaying data correctly. This was followed by a video discussion about my code and then an invitation to meet the tech team socially to assess team fit. Subsequently, I received an offer to join as a junior front-end developer.
In the end, I had to choose – a fortunate position to be in. I selected the offer from the startup primarily because they emphasized mentorship and support for professional growth. This was crucial for me. It proved to be the right decision, facilitating my career change into programming.
And so, on that rainy day in Madrid, after finishing my coffee, I walked into an office, introduced myself as the new front-end developer, and began my new career, completing my career change into programming.
I hope you found my story inspiring and helpful. If you did, please give it a clap and share it with others who might be considering a career change into programming. I plan to write more about this journey, so if you have specific aspects you’d like to know more about, please let me know on Twitter @Syknapse.
Read my detailed article about all the resources I used to land this job.