From No Code to My Developer Job in 3 Months

From No Code to My Developer Job in 3 Months

How I Accomplished the Speedrun of My Life.

Hi there community!💜 I recently accomplished a goal that still feels surreal to me. I completed a speedrun of becoming a full-time frontend developer. I committed myself to learning how to code on September 16th, 2021. On the eve of December 4th, fewer than three months later, I got a job offer as a fully remote frontend developer at a start-up. Everyone’s journey is unique, and I want to share how my journey unfolded and what I learned along the way in the hope that it can help someone figure out theirs.

First of all, let me say that, in all probability, I am not more talented than you, I am not smarter than you, I am not more hard working than you. If you're reading this as an aspiring developer, even if you haven't started yet, but you are merely reading to learn if it really is possible to accomplish in a short amount of time without a degree, you can do it and you so got this!

How I got started

I never expected things to happen this fast. Rewinding to June 2021 (only 3 months earlier), I finished my master degree in pedagogy and received my teacher certificate.🧑🏼‍🏫 I had been working as a high-school biology teacher in Sweden during the pandemic, and before that I worked as a molecular biologist engineering salt-resistant wheat crops.🧬 My previous experiences were completely unrelated to coding.

"I thought that becoming a software engineer required a CS degree."

Being a scientist and a teacher were fulfilling endeavors. It was easy to connect the dots of how I made a difference in people's lives. However, the work conditions were not what we deserve. Meanwhile I met my partner, in the middle of the pandemic no less. She is a software engineer working fully remote, has great flexibility in the hours she works, does not need to commute, and earns more than three times my teacher salary. She can travel and work from anywhere in the world, at any time. Meanwhile my teaching career would restrict me to one geographical location, force me to commute hours every day, and severely underpay me for it.

I thought that becoming a software engineer required a CS degree. Since my higher education days were over for financial reasons, I never considered it. My partner did not have a CS degree though; she completed a three-month bootcamp. Through her, I learned that there are self-taught developers out there, many of them working fully remote, and that I could do it too. I imagined that maybe, just maybe, we both could be working together from a terrace in southern Spain next year with a view of the Mediterranean sea and its coastal mountains.⛰🌴

Dipping my toes in many different resources.

Still doubting myself, I started to watch tutorials on app and web development. I first ventured into UX design through YouTube videos and a UX design course on Coursera. I also wanted to explore coding, and in August last year I googled “what is a div?”. Mid-August I ventured into the resources at FreeCodeCamp. For the next month I was slowly exploring coding resources, doing daily simple coding challenges on several beginner coding apps including one I quite enjoyed called Mimo. I used Udemy courses, and a few resources from an $18K bootcamp. The Odin Project was a good resource, yet it didn't motivate me. I was struggling to understand programming in general, it still felt too abstract. At this time I was also getting stuck in tutorial hell and didn't think I would be able to figure this out without an expensive bootcamp that I couldn't afford. But then I stumbled upon an online school called "Scrimba".

"Don't waste $15K on a coding bootcamp" - Scrimba

Scrimba🚀

Scrimba is a code-learning platform that helps motivated beginners become professional web developers without the hefty price tag. Scrimba promised "the quality of a coding bootcamp at the price of a gym membership". I tried out their free JavaScript course, and the project-based learning, the enthusiastic teaching, and the perfect mix of guidance and challenges made my understanding and confidence soar like no other platform had before. And there was a community on Discord with hundreds of people to interact with who were in the same situation, facing the same challenges, having the same ambitious aspirations. Even the Scrimba teachers were there and amazingly responsive to everyone. Being able to code is just like having a superpower, and they are there to share it with everyone in a One For All fashion.🦸 I was particularly inspired by a channel called 'i-got-hired' where Scrimba students would post their success stories. This professional odyssey suddenly felt achievable.

On September 16th I committed myself fully to the career change, and I started Scrimba’s Frontend Developer Career Path.

The grind🦾

I spent almost two months immersed in all things development from morning until evening. On top of that, I started applying to jobs in early November, just as I had begun learning the very basics of React. I only pursued fully remote positions, and for one month I applied to over 600 frontend developer/engineer positions. I did it expecting not to be ready enough, simply treating the process as a learning experience. Out of these 600+ job applications, about 30 of them resulted in an invitation to an interview or a coding challenge. I quickly got through to my first technical interview, and I unsurprisingly fell short.

Here's what I learned from the grind

  1. Interviewing was much more energy demanding than coding for me. Just one interview in the morning left me drained for the rest of the day. We should try not to worry about feeling unproductive if all we do one day is to get through an interview. It's mentally taxing, and if we get an interview, that's great!🥳

“I also started writing shorter cover letters for many job listings, all with this template that landed me my first job”

  1. I started out spending a lot of time and energy on personalized messages and cover letters for every single job I applied to. Eventually I tried the approach of fast applications on LinkedIn and AngelList where I uploaded my resume once and then applied to jobs with the click of a button. AngelList is a portal for job-seekers looking to work at startups, which means there will be a lot of junior roles. I found my current job through AngelList and highly recommend it. I also started writing shorter cover letters for many job listings, all with this template that landed me my first job. Please feel free to copy this yourself and edit to suit you:

*Hi {hiring contact first name}!

I'm excited by what you are building at {company} and I'm interested in joining your team. I am passionate about building delightful, responsive, and performative user interfaces, and hope to share my expertise in this area. To get a sense of a few recent projects I've worked on, here is a link to my website: {portfolio website}

Thanks, {your first name}*

What I learned was that spending time writing up a grandiose cover letter had a higher success rate. However, the time and effort I spent for a successful application was less when simply using the template and clicking Apply. I spent extra time on the job listings that felt like a great fit for me, and used a more generic template for the rest.

  1. Apply even if we don't meet all requirements. The position I eventually got hired for said "Hard requirements: 2+ years of frontend development experience".

  2. We are at risk of being exploited. I was offered two unpaid internships before I was offered my salaried position. One employer offered me the position without so much as an interview, which I deemed unprofessional.

The other was for a UI/UX designer internship that I did seriously consider. I turned it down, having confidence that a salaried position was just around the corner. As I turned down the offer, the employer offered a paid position if my “first two months were productive”. To withhold salaried offers, and to hold them to such subjective requirements, is unethical and we deserve better.

Furthermore, one company asked me to code a feature as my take-home project that would no doubt take me a whole week’s work. My code could then be used by the company without paying for it. When we are asked to commit days to a project that could be valuable to the employer, we should get paid for it. I also interviewed with a company that did offer to pay me for my work during the recruitment process.

  1. The interview process for frontend / full-stack positions looks very different from employer to employer. Some start off with a quiz, some start off with a take-home project, and some start off with an interview. The second stage is usually a technical interview. The technical interview can either be answering how we would approach solving certain job-related problems, solving and talking through coding problems live (often algorithmic JavaScript problems for frontend positions), or talking about the code we wrote in the previous take-home project. For the highest success rate, we need to get familiar with algorithm problems in JavaScript. I did however manage without it.

“We should make sure to have at least two projects we can be a bit proud of that show off our capabilities!”

  1. Interviewing is a skill that can be practiced. I learned a lot from the interviews and the take-home projects. Even before I felt ready to apply, it taught me what I know and don't know and what employers are looking for. I also improved quickly at answering many of the standard questions that we will get during interviews.

  2. The employers I interviewed with were interested in the projects I featured on my resume more than anything. We should make sure to have at least two projects we can be a bit proud of that show off our capabilities!

  3. While on the topic of resumes, I kept it a one-page resume, which included links to both my projects’ GitHub repositories and the GitHub Pages where the projects are published.

  4. We need to be familiar with a few things for frontend / full-stack position.

  5. Get comfortable with CSS, we will almost always need to style something.

  6. Learn a frontend framework. I learned React, and several take-home projects required coding with a framework.

  7. Use version control for our projects. We want to be able to link employers to our project repositories, and if we use GitHub (please do), we should consider using GitHub Pages for demoing our projects for free.

  8. Regardless of whether we enjoy designing, I highly recommend learning how to work in a collaborative wireframing and prototyping tool like Figma. It took me less than a day to follow along with Figma tutorials for designing landing pages and log-in pages. Employers highly appreciated that I could design my own projects, and knowing the software made me much more comfortable working with the designers my company is currently collaborating with. Again, learning enough Figma will take less than a day🙂

  9. Learn how to work with APIs. This is so important, since almost every take-home project involved working with data fetched from APIs.

  10. Algorithms. I did not practice this area myself, and therefore failed at several technical interviews.😅 It would have made my life easier, but I would probably need an additional month to feel reasonably confident in this area.

My attention-drawing projects

The interest I received from employers was mainly due to two of my projects.

Project 1:

For one project I designed a sports app, and in collaboration with a talented React Native engineer, it was built and deployed on Google Play for Android. I could therefore say that I was the product designer for this project on my resume and explain how I identified a user problem, did the necessary user research, and collected feedback to design the app. I did not do this project on my own, and several employers valued that I had experience developing a product in a collaborative environment.

Project 2:

I loved building Ania Kubow’s JavaScript games like Snake and Pac-Man.👾 So for another project, I took all that I learned from her videos and made my own unique JavaScript game, and to my delight many employers I interviewed with had played through the first few levels of my game and thoroughly enjoyed it. I thought that employers would be disappointed that I used 100% vanilla JavaScript to develop my game instead of utilizing frameworks and libraries. I did this because I didn't know any frameworks yet at the time. But to my surprise they were impressed that I could do something like that in pure JS!😃

“I was offered the position as a frontend developer.”

The job

The train of interviews continued, and in late November I was handed a take-home project after an interview with a London-based start-up. The project was in Vue.js, a frontend framework I knew nothing about. Demoralizing as it was, I spent two full days trying to just spin up a Vue.js app. It was supposed to be as simple as opening the terminal and write "vue create app".🙈 After much headache, I solved the issue not found in any documentation and I was on my way.

I was able to finish what was asked of me, and got invited for a technical interview where we would be discussing my code. Two days later I was invited for a virtual coffee with the whole team, and on December 4th I was offered the position as a frontend developer.

I spent the following weekend finishing the Frontend Developer Career Path at Scrimba and started preparing myself for the new job. I am now a Vue.js developer and I am one month in so far. My main responsibilities are to lead the development of the company’s rebranded website. The company is called Tuli and they are a YC-backed tech company in the UK which is turning pharmacies into diagnostics centers by providing and managing all tests, letting the user track deliveries and results through their online platform. In Tuli’s first month of being backed by YC, they set a record for growth, surpassing the growth of other YC-backed companies like Airbnb, Coinbase, or Twitch. And I am excited to be part of this company during the early stages.

How I did the speedrun

I made it through this fast with a lot of hard work, some luck, and Scrimba💜.

Hard work

The first thing I want to address is that even though my days were infused with development from morning through evening, learning had to happen with mixed tempo. This is true regardless of whether we have the option to learn full-time, or if we're doing it part-time. When exposing ourselves to new information we’re trying to learn, there are only so many hours in a day we can maintain optimal retention. Delving into something new and challenging, for example learning CSS Flexbox, or searching through resources trying to debug an issue, these ventures are often very mentally taxing.

I took a break when I wasn’t making much progress, when I wasn’t able to maintain focus, and especially when I felt overwhelmed because of the perceived complexity and scale of something new (like getting into React Context for the first time). However, my breaks still consisted of me learning development. I would return to things I already knew. I went back and did previous lessons that were now easy, designed something instead of coding, or I watched YouTube videos on CSS when JavaScript got overwhelming. Not only was it relaxing to revisit things I already knew, but it was also so helpful in bringing my confidence up and coming back from feeling overwhelmed.

Don’t burn out.🌸 This was my process, but if we’re getting tired of all things development (including the easy familiar stuff) then we take a break from it all together, take a day off, a weekend, however long is needed to feel that itch to continue learning again.💜

Luck

The lucky part was that I finally got a take-home project that aligned enough with my skills at the time. I viewed the interview process as a marathon, not a sprint, and that it would only be a matter of time before I got an interview and coding challenge that fit my knowledge and skillset.

Scrimba is imba🚀

When I started my journey I needed a road map, I needed the resources, and I needed help. Scrimba is the full package that handed me what to do, when to do it, and how to do it. The community is amazing, all the ways the Scrimba team interacts with and encourages their learners are wonderful. The weekly challenges are fun, and the teachers are enthusiastic and are having fun with coding. Just have a listen to the very first Scrimba lesson I had by Per, I would argue it's impossible to not be infected by his sheer enthusiasm for coding!

The lessons in their Frontend Developer Career Path contain a vast number and range of real-world projects that I happily displayed in my portfolio (link to the portfolio course here by the king of CSS Kevin Powell) as I was applying to jobs. Scrimba's lessons are screencasts that enable us to interact with the code directly in the player which is simply ingenious. But they also encourage the learner to use their own IDE which is so important to get into the habit of early on. I was going through the lessons in the Scrimba player and switched to VS Code (my choice of IDE) when it was time to build a project. It was a beautiful, harmonic dance💃 I have become a forever passionate Scrimba advocate to friends and strangers expressing an interest in learning to code, changing their lives forever.💜

Hello New World

I'm currently writing this from that terrace in southern Spain with a view of the Mediterranean sea and its coastal mountains, next to my partner, with four laptops between us, code in full-screen mode on two and Mediterranean Pinterest recipes on the others.

I didn’t know if I was on a right path for me until I read about the journey that others had taken. By sharing my journey I hope that I can help make someone’s personal road map just a bit more clear. I would love to connect with you on LinkedIn, even if you just want to expand your LinkedIn network, and if you have any questions for me I am more than happy to chat. You got this, and I guarantee you will feel like a superhero by the end of your journey!🦸‍♀️

Cheers for now!