How I Became a Developer in 7 months After 5 Years of Unrelated Experience

Written by rucha | Published 2021/03/25
Tech Story Tags: women-in-tech | engineer-motivation | inspirational | beginners-guide | web-development | career-advice | tech-careers | careers

TLDR Rucha Deshpande is a self-taught full stack developer who aspires to use technology to build high impact products. The day I held my daughter, the thought of leaving her for work made me introspect my career choices. The 3 main things that excited me about the technology sector were — — The flexibility to work from anywhere. The tech industry not only gives you an option to create high impact but also helps in doing so in the shortest time. This was a non-negotiable for me. I wanted to be creatively challenged at work.via the TL;DR App

My journey is a bit interesting because I went directly from “Hello Mom” to “Hello World”!
Let me start with my career timeline-
2012 — Graduated in Electronics. Started prepping for MBA.
2012 — Graduated in Electronics. Started prepping for MBA.
2015 — Joined Thridbridge as a Research Analyst. This one was a dream run.
2017 — Joined The Smart Cube as a Senior Analyst.
2019—Birth of my daughter. (Also read as 6-month career/maternity break)

Why did I switch my career and get into tech?

The day I held my daughter, the thought of leaving her for work made me introspect my career choices. I started panicking because I realized that if I want to join back the workforce I would have to spend a majority of my time away from her. 
That’s when I decided that if I have to spend time away from this cute little bundle of joy, then I am only going to work on something I am truly passionate about. 
No compromises.
Can any happiness top this warmth? 
I joined back my company and was happy with my job but deep in my heart, I knew something was missing. I couldn’t justify the ROI, the growth opportunities, and the much-needed flexibility I wanted in the long run.
This is when the tinkering began.
I started listing down my interests. Did a few online courses in ‘Excel in MS-Excel’ to supply chain management to product management. This gave me some taste of other related fields. 
But couldn’t find the right career option. 
Luckily for me, my father-in-law who is a doctor wanted to develop a website for his clinic. Since I was trying out new things, I decided to help him develop a basic website. I played around with HTML/CSS and boom it was up and running in 2 days. 
That was my aha! moment. That’s when I realized the impact technology could create.

Phase 1: The Decision 🙇‍♀️

To test the waters, I started using the SoloLearn app which has a brilliantly gamified learning experience alongside my full-time job. I did courses in HTML, CSS, Javascript, and SQL. I generally did this for 1 hour after my daughter had slept.
After 3 months of trying to read code, I felt that it was time for some serious effort towards actually learning how to code. Little did I know, that I was embarking on one of the toughest professional journeys of my life!
The 3 main things that excited me about the technology sector were — 
Flexibility — I wanted to build a high-flying career with the flexibility to work from anywhere. This was a non-negotiable for me. Most software engineers today have remote working as an option. And the pandemic has only accelerated the trend. 
Impact — I wanted to be creatively challenged at work and build on ideas that would create a high impact. The tech industry not only gives you an option to create high impact but also helps in doing so in the shortest time.
Money — Because the demand-supply is so skewed in tech, there are very few good software engineers in the country and hence the salary in this sector is quite high comparatively. 

Phase 2: The Leap 🙆‍♀️

Anyone I asked for advice was against me quitting the stable job to explore completely uncharted territory and that too with a child.
But eventually, I quit my full-time job. 
My office desk! Well, yes... I am a minion fan!!
During my notice period, I researched a bit on the path I would take, coding boot camp vs self-taught developer route. 
I decided to teach myself coding without opting for a Bootcamp because:
  1. I had enough savings to last me for at least 2 years. I knew I could spend time building a strong foundation by myself.
  2. I couldn't justify the high-fees for Bootcamps, although they provide a faster learning experience. I felt with a kid, the Bootcamp experience might be overwhelming for me.
P.S. — My mentor/cheerleader during this phase was my husband (Mayur Mundada) who pushed me to find my passion.

Phase 3: The Uphill Battle 🤦‍♀️

Let's begin the real coding journey! Also read as, “Why the hell, did you make your life difficult?!” 
 Although some basic ground was covered with SoloLearn but to start hands-on coding I needed to make sure the task wasn't too daunting. 
The first choice I made was the programming language/framework to learn. So here is my list with my reasoning:
  1. Python (Flask/Django Framework) — The language is very simple to understand for beginners and it has good frameworks to support the web development process. 
  2. Javascript (React.js, Node.js) — Javascript is one of the most in-demand languages of 2021. It's great to know if you don't want to limit your job opportunities.
  3. HTML/CSS — Not a requirement but if you aim to become a full-stack developer then it's a must-have in your armor.
For the next 4 months, I worked almost 8 hours every day (including weekends). Here is the list of courses I did:
  1. freeCodeCamp Responsive Web Design (Cost: Free)
  2. freeCodeCamp Javascript Algorithms and Data Structures Certification (Cost: Free)
  3. Udemy The Complete Web-Developer (Zero to Mastery by Andrei Neagoie) (Cost: Rs. 430)
  4. Udemy Complete Python (By Jose Portilla)(Cost: Rs. 430)
  5. Udemy Python and Django Full Stack Web Developer (By Jose Portilla)(Cost: Rs: 430)
While learning to code, I actually had a lot of fun. Every day I felt like I was opening a Pandora’s Box! Here’s the funny bit — as I learned more I started realizing how much I don’t know vs how much I had already covered. 
In hindsight, this is true for anything you learn in life. Not just coding. 
So, if you are like me, who has never thought of learning to code, there is a 9 out of 10 chance you will have nightmares. At least, I did.
There’s only 1 mantra I followed —  "one step at a time".
Photo by Brett Jordan on Unsplash
P.S.— My mentor/personal silly doubts solver during this phase was my best friend and Software Engineer@Gracenote (Bhupinder Gulati).

Phase 4: The Implementation👩‍💻

The following 2 months, I did some full-stack projects to get a better understanding of everything I had learned so far and also created my portfolio:
Facial Recognition Website: This was a React.js + Node.js project which I did as a part of the Zero to Mastery course. 
Covid-19 Cases Tracker: This was a Flask(Python) based project that was tracking the global and local daily covid cases. I used BeautifulSoup for web-scraping and the GoogleNews API for news.
Shuffle: This was a Flask(Python) based project that enabled users to pick a specific YouTube category and discover unexplored videos. Did this using YouTube API.
Blog: This was a simple Django-based blogging website for personal use. The main aim behind the project was to get an understanding of how to deploy projects using Django.
Space Invader Game: It was a simple gaming application that was built using Pygame.
Lastly, I developed my own personal website to showcase my journey. This was fun. Tried getting a wee-bit creative. 😉
P.S. — I just turned 30 and I am finally getting ready to apply for my 1st coding job!

Phase 5: Getting out there!🦸‍♀️

After gaining some confidence in my coding skills, I knew I had to get some industry experience. I spent a few days perfecting my resume (days, you read it right!). 
Then began the dreadful task of applying to 100s of companies and explaining to them how I had 4.5 years of experience in total and an MBA and still wanted to become a software developer. 
After many rejections during the phone interviews, I had my 2nd round of interviews with a startup based out of the US . It was the worst interview of my life.
But with some luck, the company gave me an opportunity to work with them as a paid intern for 6 months. I was ready to gain any experience I could at the time so I jumped at the opportunity!

Phase 6: The Software Development Intern

From day 1 of the internship, I had imposter syndrome. Although I had learned to program, I was scared of breaking the code or even asking doubts which according to me were silly. 
My first project was a full-stack project which I was handling alone (perks of working for a startup), the frontend was using React.js and the backend was using Flask framework. 
With extensive help from google and a few very helpful colleagues, I was able to pull it off including the deployment of the project in 2 months. I couldn't have been more proud of myself.
I spent close to 6 months leveraging the basic skill I had learned, “no matter what, don't give up”. 

Phase 7: The Extensive Interview Prep 💆‍♀️

So after spending 5 months with the company, it was time to chase the final step of breaking the tech stereotype profile. Although I did have an offer to convert my internship to a full-time role, I wanted to focus on working in a bigger setup with more peer learning opportunities.
So here I was gearing up to prepare for my software developer interviews. But little did I know — 
Software Developer Interviews = 45% of Data Structures & Algorithms + 45% OOPs & System Design Concepts + 10% project work
I spent close to 3 months along with the internship and 2 months after, doing and redoing Leetcode questions and understanding the basic fundamentals of data structures and object-oriented programming.
For interview prep, covering the basics and some advanced concepts of the below topics is important, the number of questions you attempt doesn't matter if the foundation is rock solid.
  1. Arrays, Strings and Pointers
  2. Linked Lists
  3. Heaps
  4. Trees
  5. Stack & Queues
  6. Dynamic Programming
  7. Backtracking
  8. Graphs
  9. Trie
I formed a GitHub repo of all the questions I did, it contains all the solutions in the simplest way possible. 
The other things I worked through were:
  1. Class-based Designs
  2. System Design Patterns
  3. OOPs Concepts
  4. Definitions of some of the important terminologies and concepts related to Javascript, Python, and Databases
P.S — I heavily leaned on my mentors i.e. Oshin Mundada (sis-in-law/Software Engineer@Microsoft) and Piyush Nahar (brother-in-law/Software Engineer@Facebook) during this phase and bothered them with “WHY Leetcode” incessantly.

Phase 8: The Final Exam (Interviews) 👩‍🏫

I knew the application process was going to be long and grueling but since this was literally the last leg of my journey, I pushed through. 
The pandemic made this step a little bit tough but the silver lining was that since everyone was working from home, I did not have any location constraints.
The interview template for most of the companies is the same:
  • 1 Coding Task/Online Coding Test
  • 2/3 Technical Rounds — Based on DS/Algo, System Design and your projects
  • 1 HR Round
I applied to some 50 odd companies, gave online tests/tasks for 20 of them, I went through the interview rounds of 10 of them. 
P.S. —  I also had some really embarrassing DS/Algo rounds which retrospectively is pretty normal but you just have to push through it.

Phase 9: The Joy! 🤸🏻‍♀️

I was finally able to bag a Backend Engineer role with an amazing social media startup backed by Anand Mahindra — GoSocial
My wish was granted by the universe here, because:
  1. I love the problem they are trying to solve. It focuses on the creator economy by helping creators turn their passion into a business. I have seen this first-hand because my sister has been trying to follow her passion for painting and create a business opportunity for the past year.
  2. Since the time I began coding, I have always been inclined more towards backend engineering and I will be able to focus on that now.
  3. The startup is remote-friendly which means I will be able to follow my passion achieving the work-life balance I have been aiming for.
If there was anything I realized in the whole process, it was:
 Software development is more of a mindset than just developing a set of rules to guide the machine. It has to do with how you formulate a problem, work towards the solution, keep trying to get a favorable result, and then do your best to optimize the approach!
I felt this was very logical and actually can be applied to life in general as well. 
Cheers to dreaming, failing, achieving. Repeat. 🙌

Written by rucha | Self-taught full stack developer who aspires to use technology to build high impact products |
Published by HackerNoon on 2021/03/25