Change is hard. Changing your career can be one of the hardest decisions you my face during your life. That was the challenge I was dealing with.
For many years I have had this lingering feeling that I would like to become a software developer. This was something I was always doing on the side but never committed in any way.
In 2020, during the corona pandemic, I saw myself with a little extra time to think about where I was in life and what I wanted to do going forward. I came to two conclusions
Knowing this, I dove deep again to hone my developer skills. I started waking-up at 04:45 every day and dedicating these first 2,5 hours of the day to studying web and mobile development, implementing useful side-projects and getting myself into the developer's communities online.
With that mindset I went into the summer of 2020...
In the middle of the Corona Virus pandemic I got promoted in the company I've been working for 12 years. Now I finally became a manager. What else could I want? The reality is that I hated the job. I hated seeing how things are done 'behind-the-scenes' from the manager perspective. And all the while I accept that this was, most-likely, something related to that specific job, it was enough for me to conclude that I didn't want to just fix it. I wanted a complete change.
At this point, 6 months into my promotion into a manager, I started working on my next steps, but this would not be without complications though...
Such a big change would never come without a big set of complications, and my situation was not an exception in this case. I had a few major issues I had to figure out as part of the career change. Namely:
When I decided to become a developer I needed to first handle the fact that, even though I had programmed before, I couldn't really claim I was a developer by any stretch. I needed to pick it up all from scratch and become the developer I wanted to be.
That required a plan.
I knew upfront that I wanted to work with something that gave me exposure to mobile applications at first but I also wanted to be able to build full-blown web apps and websites. After a little research I concluded that since JavaScript was so hot right now and it would allow me to build both web and mobile. With that set, the next step was to figure how to learn it, which materials, which order.
What I came up was:
For the first point I started with the very good Wes Bos JavaScript for beginners course. That covered the basics in a concise and to the point way that I quite liked. At that point I felt I knew enough JavaScript to start learning React. So I started searching through Udemy and found a good intro course by Stephen Grider that put me on the right path for React.
The combination of these two courses took one or two months for me to complete. I was really doing all the examples and investigating the bits and pieces that I didn't understand.
After completing these two I started working on my first small project which ended up being 1Espresso.coffee, where I used what I learned of React and JavaScript with a little bit of Redux and some interesting third-party apis and integrations.
At this point I felt confident enough with the basics of ReactJS to start dabbling with React-Native. In many ways developing in ReactJS and React Native consists of the same concepts and approaches, so it was not a big leap in that sense which made me more productive from the start. But there was a learning curve in order to understand all the mobile related subjects.
One of my biggest worries was: "What if I am just momentarily excited about this idea? What if it is just a phase?" The engineer (and scared cat) in me wanted to find a way to test whether this was just excitement or the real deal.
Then one day, while out on a walk with my girlfriend she suggested that maybe I should look into getting an internship (to solve for the experience issue) and that sparked a new conversation.
What if I looked for internships? What if I freelanced?
That surely sounded like a feasible path and I started researching immediately.
Long story short, I reached an agreement to do a freelancing job with a startup in Copenhagen while keeping my day-job. That allowed me to solve two of the issues I had: the experience and to verify whether it was just excitement.
The side-gig proved to be a fantastic option. The crew I got to work with were easy going, working on a very cool project and I got to get my hands dirty on a React Native app that was way above my knowledge at that time. That means very quick growth as a developer. From the beginning I knew that the side-gig was to be a temporary opportunity (it was something the founders and I discussed when we made the agreement).
This gig turned out to be what I needed. It gave the confirmation about the path I wanted to go to and it helped me level up in the topic. Now the next step would be to discover how to make the side gig job transforms into a full-time job.
After a few months of the side-gig that I decided to start acting seriously around moving into a full-time job. Now, make no mistake, I was aware that my experience level would not be enough for me to aim for the higher paying jobs and I didn't want to fake in any way.
With that in mind, I decided that simply sending applications would not work. I wouldn't pass the HR filters. I had no experience in the job market, I was coming from a completely different industry, etc. So I decided to be very innovative: to write the hiring people and tell them the story exactly as it was and let them in into my career change plans.
Surprisingly enough, many of the people I wrote to decided to write me back and meet for a chat. Even today I am not sure if there is something about cutting through the bullshit of job applications and getting real that helps in this case.
One of those ended up inviting me for an interview and a coding test. The coding test was tough but rewarding. It took around 2:30hrs in total with purely live coding an app while answering questions and clarifying decisions along the way. I managed to show them exactly how much I knew and also to be open and honest about my shortcomings and which areas I needed and wanted to develop myself. That leaves the door open for them to decide whether this is a compromise worth taking.
A few weeks went by and they got in touch with an offer, to which I accepted after some negotiation.
This is the end of part 1.
I will probably write a part 2, where I detail how it is to start the new carrer, leveling up, etc.
See you then. Jorge