This is how I career changed to front-end development at 40, starting with no relevant background experience or degree. I used only self-directed study while working full-time and spending next to nothing.
“ I’m sitting in a café in the heart of Madrid, having a cup of coffee, tapping away at my laptop while it rains outside. In a few moments I will walk into my first day as a front-end developer. 10 months ago I was an English teacher in Granada who knew nothing about programming, and now I’m here. How did this happen?”
I wrote those excited words a few months ago as I was getting ready to start my first day at my new job. Come along with me as I share with you my journey of how I got here.
When I first started thinking about becoming a developer, I would read articles like this one with a bit of skepticism. I kept on looking for something in the writer’s background that made them “special”. That made them suited for this job. Something that I didn’t have.
I have since come to understand that this is not how it works. There aren’t any “special” requirements to becoming a developer. I’m not going to tell you it’s easy, because it isn’t. But the good news is that all the requirements are things that are in everyone’s reach. You have to be willing to work hard, learn a lot, and be consistent. You need to persist when things get tough. Talk yourself out of the moments of desperation when you feel like you are not cut out for this. That’s all it takes, and everyone can do these things with a bit of practice.
I started with no related background study. I had no money to spend on expensive courses, no time in my already busy day, and I was already almost middle aged. Everyone’s circumstances are different, but I learned that if you put your mind to it, you can do it.
On the day I wrote my first line of code, I had never done any programming before or had any contact with it. I had an early career in the restaurant business. Then I got a degree in Music technology, followed by a decade as an ESL teacher in Spain. I wasn’t even particularly skilled with computers. I did always feel excited by the latest tech ideas. And I considered programmers the modern day superheroes.
I never contemplated doing it myself, though. Partly because I thought coding was some kind of an elite activity. Something for gifted individuals who graduate from top (and expensive) universities. While individuals like this do exist, the majority of developers aren’t that Hollywood hacker type. Development is far more accessible than I believed.
It all started with an animated conversation with my partner. She was exploring the causes behind the low numbers of women in STEM and especially in tech. She decided to do something about it by becoming a programmer herself. She wanted to be a model for younger girls in our family. And just like that she started learning about it.
That soon excited me too, as we realized that there are plenty of resources available. This wasn’t some dark art, but a skill that we could learn and master.
Spoiler alert, she also managed a career change from HR and in fact got a developer job a month before I did.
And so, one day we found a children’s book about programming in a science museum. We went back home, opened Notepad, wrote
<h1>Hello World</h1> opened it in the browser and then changed
color: red. We were screaming with excitement! What witchcraft was that!
I was hooked. I wanted to make stuff with code, I wanted computers to do things I said!
My previous job
At that point I had been working with kids for 8 years. This is not going to be the typical part where one talks about a dead-end job that they didn’t like. Because I loved my teaching job, enjoyed working with kids, and I was comfortable in my workplace. It was gratifying and enjoyable.
But sometimes, even when you love something, you know in your heart that it is time to move on. It was a new phase in my life and I had a new outlook and new aspirations. And above all, I wanted a new challenge. Something that would push me well out of my comfort zone.
The one true path to success
This clearly doesn’t exist. Three of us started around the same time learning to code for a career change: my partner, myself, and a good friend. All three of us are now working in the field, and there is very little in common between our approaches. Each one followed the material and methods that worked for them. If there is one thing in common between us, it is that we simply did not give up, and kept on going. We all put a lot of hard work and persistence.
So instead of the one true path, I’m going to tell you a bit about my path. It’s not the only way, it is not the best way. It is what worked for me.
First, I started reading and watching YouTube videos about programming to understand where to begin. Then I started playing around with HTML and CSS. I followed tutorials and coded along to build some basic web pages. This made me see that it was something I really wanted to get into.
Setting an Objective
I reached out to two of my friends working in the field for tips and advice. Those early words of encouragement and guidance were vital in getting me going and in focusing my mind on a clear goal.
It took some time to sort through all the options and set realistic objectives that would work for me. I needed a swift career change. I had no alternative source of income, which meant maintaining my job until I could do the switch.
I decided that front-end development was the most accessible and in-demand option. I narrowed it down further by focusing on the skills needed for a job in a startup rather than the freelance route.
Then I set a deadline. I did not want this objective to end up on a to-do list I never see again. It was spring of 2017, so I promised myself that the following school course was going to be my last as a teacher. So by September 2018, a little over a year later, I had to be working in the field.
It would be naive to pretend that at this stage I had everything crystal clear and under control. I didn’t. Certainty is not a luxury you can have while making such a risky career change. There were all kinds of doubts at that point and throughout the process. The key here was persistence. Once I made the decision, I was going to walk this path to see where it led no matter what.
I knew that the only way forward was to study for it. I had full-time employment, so waiting until “I had time” was never an option. I had to do it while working, or not at all. I was lucky that my partner was learning at the same time. This helped us organize our days to maximize learning time. At first we would do what we called our “weekend boot camps” where we would dedicate the entire weekend to coding. A typical day looked like this:
8:00 am: Wake up, breakfast.
8:30 am: Start coding
12:30 pm: Go to the gym
1:30 pm: Have lunch, then a break
3:00/4:00 pm: Continue coding
8:00/11:00 pm: Finish for the day
Then my summer holiday came and I made the most of it by turning the “weekend boot camp” into the “daily boot camp”. I stuck to that schedule assiduously despite the temptation to enjoy the summer and kick back a bit.
September came and I was back to work. I had made a conscious decision to reduce my hours at work. I accepted that I would have less income in exchange for having more time to study. It was also another step to make my commitment to the career change more serious.
It is hard to convey how difficult it was to be away from my code. All I wanted to do was to be back at my computer to finish solving this problem or fixing that layout. But then real life kicks in. The start of a school year always requires a lot of time for preparation and organization. As any teacher will tell you, it also takes up a lot of one’s personal time too.
That was the moment my mission could have been derailed. Despite my best efforts, I had less and less time to code. I started losing my momentum. I tried to keep it up but there were days when I simply didn’t have time. Even with the best of intentions and good motivation, life can make things complicated.
However, as you can see from my GitHub activity image, I kept trying. I kept putting in the time, even if it was an hour, even if it was reading an article. I did everything I could not to get to the stage of losing all motivation. When you have left something for long enough, it makes it harder to get back to with every passing day.
Then as December approached, seeing the new year looming and my deadline closer, I rallied again and got organized. I started pushing through, putting in those hours no matter how tired I was and how little time I had. Sometimes I would get up early to code, sometimes I would stay up late.
This meant that my life was pretty much reduced to doing the job that was paying the rent, and studying. And little else. And I basically maintained that rhythm all the way until the day I started packing to move to Madrid. That was in the spring of 2018, several months before my deadline.
Tools and resources
Over the 10 months leading to my job offer, I immersed myself in everything code related. The most frequent question I get asked on Twitter is about what resources I used. I’ve written another article that answers this question in-depth. However, here is a brief list of the most important tools and resources.
- Cassidy Williams and Colt Steele’s Udemy courses
- YouTube: Traversy Media, LevelUpTuts
- Christina Truong’s Lynda.com courses
- Udacity Front-End Nanodegree (a paid course, but I got a scholarship from Google)
Courses can only take you so far, so I complemented this with other tools to help me learn and get a job.
- Twitter: a cornerstone of my experience. Especially the incredibly supportive and warm #100DaysOfCode community.
- GitHub: an important tool to learn, and where I hosted all my projects for free. It’s usually the first place employers look to see your work.
- Portfolio: I learned the most vital development skills by building it and other self-initiated projects.
You can also check out My Learning Tracker GitHub repo. It has a full list of the resources and paths I used those first ten months.
Getting a job
Surprisingly, for me, this part was not overly complex. I didn’t send masses of CVs, or spend hours looking for jobs. Instead I opted for being selective and focused.
In the end I entered five interview processes. I got rejected from one, and failed to finish the take-home challenge of another. I completed three, and got three out of three offers. One of these was completely inadequate and unattractive. The other two, arriving almost at the same time, were both very interesting offers. One of them is my current job.
I don’t mean to sound nonchalant about this. It was an intense time. I still had no idea if my skills were anywhere near being employable or not. I entered processes not even sure if I was going to be laughed at for how little experience I had. It was a nerve-racking time, but it was an exciting and hopeful time too. And when I finally found myself with two actual good offers on the table I was elated and could hardly believe it.
I will always be eternally grateful to the individuals who made these decisions and decided to give me a chance.
The interview process in the two companies was very different. One was a series of video calls to talk to various people at the company. It was a small but well-established company hoping to build a new team of front-end developers. After a few weeks of back and forth, they made me my first real offer.
The other was a young startup in the middle of great growth. After a phone interview I got sent a technical challenge to complete within few days. It involved building a component, making API calls, and showing the correct information. Then came a video chat about the code I wrote. Then I got invited to have a drink with the tech team to find out if we click. After which I got an offer to join as a junior front-end.
In the end I had to choose. Which was a luxury I couldn’t believe I got. But I knew what I wanted, I took the offer with the startup based on one main point: they seemed to be very clear on the importance of mentorship and giving me guidance to grow and learn. That was the key. And it definitely was the right choice.
And so, on that rainy day in Madrid, after finishing my coffee. I walked into an office in the business area, introduced myself as the new front-end developer, and started my new career.
I hope you enjoyed my story. If you did, you would make me happy if you give it some of those tasty claps. And you could even make my day by sharing it so more people can read it and learn they too can make it. I want to keep writing more of these articles. So if there is any particular aspect of this process you would like to know more about, I would love to hear about it. Come and say hi on Twitter @Syknapse