How I Became A Developer in 6 Months ✌️

Dohun Kim

Dohun Kim / March 31, 2020

9 min read––– views

So finally, here comes a day I’m writing my own version of "How I Became a Developer". Just searching on google “How I Became a Developer” gives you thousands of Developers' stories that I personally sought inspiration and encouragement while preparing to become a Developer. Now that I've gone through the whole process of becoming a self-taught Developer from non-CS background, I want to share my account with anyone who might be reading this and wondering "Can I ever become a Software Developer?" - Yes, you can.

Table of Contents

  1. Why I became a Software Developer
  2. How I became a Software Developer in 6 months
  3. Retrospect

Why I Decided to Become a Software Developer

Engineer but not really Engineer

I graduated with Mechanical Engineering degree. The only take-away from my degree was that I knew I didn't want to do anything related to my degree. Softwares and tech industry intrigued me the most. So for my first job, I did Digital Marketing in a Travel Tech company for 1.5 years. And when I was about to dive deeper into Marketing or more specifically - Growth, I was fortunately (in the hindsight) given a choice to stay in the company or to leave the company with a compensation package. That was the moment when I decided to leave the company and become a Software Developer.

Make or Break

Well of course, the idea of becoming a Developer didn’t just pop up on my mind one day. It goes back to the time when I launched a project in my uni years. My friends and I wanted to build a platform for self-storage in the university dorms (Image Airbnb for Self-Storage of personal goods). Our idea was validated winning Startup Idea Competitions and Innovation Grant from the university innovation centre. We had big ideas and plans except the most important part - a Developer to build the product. Eventually we didn’t move fast and were faced with obstacles we couldn’t get past, end of that story. (Maybe I’ll write more about this story in the future)

There were many lessons learnt from this experience but the biggest one for me was this - you definitely need Software Developers to build a d*mn product. However, even after the lesson learnt, I thought it was too late to drop everything to study programming from the scratch. Most importantly, I thought I wasn’t smart enough to become one. I was so used to taking easy way out in life and couldn’t bring myself to believe that I can, indeed become a developer.

Fast forward to a year and a half later, when it was again time to decide my career path, I was sure about my desire to become a Software Developer and was ready to take risks.

So Why Did I Really Become a Developer?

Looking back, I seem to have developed some kind of admiration for developers. One of my favourite TV show is "Silicon Valley" from HBO. I loved how it comically portrays some cliché type of people in the SV. But I was especially fascinated by how the group of main characters (mostly Software Developers) hack their way up in the Startup scene at the SV. In the world of software, the idea that you can build any software product that could deliver value to users, in weeks or even days, is so amazing. And I wanted so much to be able to do that myself.

How I Became A Self-Taught Developer in 6 months

I embarked on the road to become a developer with a self-study plan. I did not attend any bootcamps. Instead of signing up for a software development bootcamp, I had planned out 6 months plan to get hired with help from my Mentor who is a Software Developer himself.

In my opinion, presence of a mentor and fellow studymate is really beneficial and can even replace the need for costly software development bootcamps. In my case, I had a weekly dev study session on a weekend where we discussed about dev concepts and worked on Dev projects. On weekdays, I followed my own self-study plan religiously.

My Self-Study plan broadly consisted of these 3 phases:

  • Phase 1: Take Udemy Courses & Solve Leetcode Easy level questions
  • Phase 2: Build personalised portfolio with 3/4 projects & Solve Leetcode Easy, Medium level questions
  • Phase 3: Solve Leetcode, Interview Questions and Job Application.

Phase 1: Take Udemy Courses & Start LeetCode (2 months)

Like all other beginner level programmers, I had no idea if I wanted to do back-end, front-end or full-stack development. Therefore, taking Udemy courses on JavaScript, NodeJs and React gave me exposure to all types of stacks and I eventually decided to go with Front-End as I had a great admiration for aesthetically pleasing software products.

Here are the lessons I took on Udemy over a period of 2 - 3 months:

I also started attempting LeetCode. LeetCode is an online coding questions platform that have thousands of coding interview questions crowd-sourced from Silicon Valley software engineer interviewees. I attempted LeetCode questions with "Easy level" sorted by descending Acceptance rate. Most questions on the top are Array and Strings questions with use of simple for-loops and thus, I could do them without studying Data Structures in details. However, I got really insecure about not knowing about Data Structures much so I tried to get a basic sense of what are different types of Data Structures without going into details.

Phase 2: Build personalised Portfolio with 3 projects and Leetcode On (2 months)

What I like about Udemy courses are, you get to build a small and simple projects following the instructors. As soon as I got quite confident that I knew how to build things using the tech stack taught, I started building my simple projects with a little bit of personal touch. For example, I built the same To-Do List firstly with NodeJS and then React . Both were included in my portfolio. Additionally, I explored other types of tasks you can do with JavaScript and built simple programmes like Instagram Like bot and Facebook Messenger Chatbot for Travellers. I focused on getting these projects out on the Internet (eg. launching on Heroku and uploading public on Github). Even though I had no followers on Github, the recruiters could see them.

By the phase 2, I solved probably about 50 leetcode questions (Easy & high acceptance rate). From then, I figured some kind of patterns in the questions that could be solved by certain algorithms and gained exposure to more complicated Data Structures like Sinlgly Linked List, Doubly Linked List and Binary Tree (I still didn’t know them in details 😅). I started timing myself per question and searched on the web for the curated list of questions that MUST BE ATTEMPTED before a software engineer interview. And LEETCODE-ed ON.

Phase 3: Apply for Job, Study Interview Questions and Leetcode On (2 months++)

4 months in, I wasn’t ready for job application but yet, I was. I wasn’t confident if I had the sufficient skillset to start working as a Developer in a company but I started crafting resume with a focus on my software projects. I began applying as soon as I felt that the resume had the bare minimum. This period fell in December for me and being it a holiday season for Singapore, so I had barely any replies (1 in 10). 5 months in and from January, I challenged myself to submit 2 applications per day and about 20 applications in, phone interview emails and calls were coming in, meaning my resume got past the screening..! Then it was time to prepare Interview Questions.

I specifically prepared for Front-End Interviews and most companies followed below format:

  1. Phone Interview with Recruiter going through Resume
  2. Online Coding Test (Leetcode type questions - mostly easy, occasionally medium level)
  3. Online/Offline Technical Interview with Engineers (JavaScript, CSS concepts + React)

I had to continuously refresh JavaScript, CSS and React fundamental concepts and these resources were very useful to me:

And by end of January 2020, I managed to get a favourable offer at a reputable tech company developing Cloud product as Frontend Software Developer.

In Retrospect

The journey to become a Software Developer from Non-CS background certainly wasn't easy and there were many times I seriously doubted myself and lost confidence. But I was really fortunate to have met a great mentor and a studymate (Big Shoutout to Marco & Irene!!) who guided me through the self-taught developer journey. Listening to my mentor's story of career transition to Developer gave me motivation that I could also do it and got me going. Also having a studymate with the same goal was really motivational, encouraging each other.

I often went to Medium or searched Google to find more stories of developers with Non-CS background to get motivation and I hope this article serves as one to someone, too. Especially now with the whole world hit with COVID-19 and the resulting uncertainty, it's obvious that the best investment one can make is to learn relevant skill like Software Development and use it to survive in the job market.

For me, this is only the start to a life of continuous debugging and troubleshooting as a Developer. Nonetheless, I’m really grateful and excited to start off my career as a Software Developer 😃