It's official y'all, I got hired as a front-end developer!!! I am starting tomorrow and I am so pumped to share this news with the dev community.
Words cannot express how I happy about landing my first job. A year of self-teaching, building, failing, and networking finally paid off!
Here's a not-so-brief timeline of how it all started, some projects I built, and a few resources I used along the way.
1. April 2020 - Pandemic Resolutions:
Canada was undergoing it's first wave of the pandemic and we were under a strict lockdown. I was furloughed from my job with no idea of when things would get back to normal.
After about 3 weeks of feeling sorry for myself, binge-watching endless hours of Netflix, eating pizza and fries for breakfast, lunch, and dinner, I thought it was about time I got my s*** together and learn a new skill.
I knew I wanted to be a software developer since I had completed the HTML and CSS sections of freeCodeCamp a couple of years ago and actually enjoyed it. I also had a few developer friends who were unaffected or even thriving during the pandemic, thanks to our new 'everything is online and the internet rules the world' way of living.
Starting May, I was going to start my journey to be a developer!
2. May 2020 - HTML and CSS:
I went over the HTML and CSS parts of freeCodeCamp. It was a good introduction, however I was not satisfied. I did not exactly understand how and when to use a certain CSS class since the exercises did a lot of hand holding.
The JavaScript and the DSA part of the freeCodeCamp was very overwhelming and I was unsure if it was wise to move on to JS without understanding HTML and CSS properly.
I decided to take a little detour and bought Jonas's beginner HTML and CSS course and followed Kevin Powell's tutorials. I finally started getting a hang of flexbox and basic CSS layouts.
3. June-August 2020 - JavaScript and Tutorial Hell:
Following video courses and tutorials, I realized that I'm more of a visual learner since I was able to understand the concepts better if they were explained visually. This realization led me to follow Andrew Mead's JS course on Udemy.
I learned most of the basics. However, I soon realized that just typing after the instructor is not a great way to learn how to code. This was a tough phase since I was unsure about my JS abilities. I thought taking other courses would help bolster my knowledge. I tried several YouTube tutorials, 10-hour free freeCodeCamp videos, and other Udemy courses. Everything to no avail.
I was in what you'd call it a "TUTORIAL HELL"!
4. September 2020 - React and why Redux almost made me quit everything:
While I was doubting my JS skills, I was also reading about how it's not enough to just know JS and one needs to learn a framework to get a job. I heard about Vue, React, and Angular for the first time. I was even more confused.
I decided to go ahead and learn React since it was literally everywhere. Someone also told me how they understood JS better after learning React. This inspired me!
The journey was kinda rough thought. Class components and the 'this' keyword overwhelmed me, JSX was something I had never seen before, I had no idea what configuring Webpack meant. I somehow tried to trudge along.
However, what broke the camel's back was Redux. Yes, the React ecosystem's necessary evil! Nothing made sense. What's a dispatch? What's a reducer? Wait but what about useState? I had no idea what I was doing and I started doubting myself. Am I cutout for this? Was all of this a mistake?
5. October 2020 - March 2021 - Building Projects taught me everything!
I came across a YouTube tutorial one day where someone was building a Netflix clone using React Hooks. I couldn't believe my eyes. It was probably the first time I had seen someone build something other than a boring todo-list.
I was instantly hooked (pun intended). I wanted to build that clone. I did not know much about hooks, but I knew that I was not gonna take an entire course to learn about it. I decided to learn it as I went along.
This is when the real learning began! I understood JSX, SCSS, basic hooks, using an open-source API. Heck, I even got a surface level understanding of suspense, lazy-loading and external packages like React Router, Lodash, something that I never thought I'd be able to master unless I took a course about it! I successfully deployed the project on Netlify via GitHub and in this process, also learned about the basics of CI/CD.
What everyone said was true. You cannot learn how to code by reading, listening or watching someone else do it. You have to get your hands dirty! I decided to learn new concepts as I needed them.
My next project was a COVID-19 Tracker for Canada. While building it, I learned about using a CSS framework, Chart.js, Leaflet, and Mapbox.
I decided to implement some back-end functionality to my next projects. I also decided to learn Next.js and Tailwind CSS. I built a simple Google Keep Clone to learn the basics of Next, Tailwind, and Firebase.
Once I got a hang of these technologies, I decided to build a Strength Training Workout app for my capstone project. Since I worked as a personal trainer for a year, I had a rough idea of what core features were needed to have a fully-functioning app. I doubled down on Next, Tailwind, and Firebase. I wrote about the app in this post if anyone's interested.
I spent the last month building my personal portfolio website (here's an article about how I was able to achieve perfect Lighthouse score on my portfolio website) and making improvements to my previous projects.
6. April - May 2021 - Networking got me my job without even applying:
I spent most of April going over my JS and React fundamentals. I used the repositories mentioned in this post and these courses and video tutorials as a reference.
During the preparation process, I came across a few podcasts that recommended self-taught applicants to start networking and applying as soon as they learn a JS framework and think they're fairly competent.
I took this as a sign and joined all the tech related Meetups around the Toronto region. I made sure I updated my resume and my LinkedIn profile. I started actively participating and interacting with engineers, managers and startup founders. During one of these Meetups, I met the co-founder of a start-up and we got to talking. Apparently they were looking for a front-end developer and they wanted to interview me for the position. I finally got my first break!
It was three part interview process; the first consisted of basic questions about my career background and projects. The second was fairly technical where we talked about front-end design principles, SEO optimizations, and details about my projects. My final round consisted of a 2 hour coding challenge where I was asked to code a basic calculator (I will probably make a separate post that dives in further detail about my interview experience).
A week later I was offered the position!
Key Takeaways:
If you did not read all of that and just want some tangible actions items, here are some of my key takeaways :
- Don't just watch tutorials, build projects. Push them to GitHub and deploy them. Use this free e-book for project ideas.
- Try to make your projects visually attractive. Dribble and Behance are amazing resources for inspiration.
- Start networking. Join your local meetups, connect with people you want to work for on LinkedIn, interact with the Tech Twitter. You never know who is hiring!
- You'll never be completely ready. If you know HTML, CSS, JS and some framework knowledge, start applying today!
I know I have been incredibly lucky to be at the right place at the right time to land my first dev job on my first interview without even applying for the position. This amazing Veritasium video perfectly sums up my experience and how I feel about luck and success. But I also know that I would never gotten this opportunity without investing almost a year of my life learning, building and teaching myself to code.
I'm so incredibly fortunate to have found this career and I cannot wait to start this journey!
Please drop a comment if you have any questions. I also post tons of useful resources and lessons learned from my development journey on Twitter at @prnvbirajdar.
Stay safe and happy coding everyone! 👨‍💻🚀👩‍💻
Top comments (70)
Hey Pranav, I've been following your posts since I saw you posting templates for next.js. The couple of jobs I've had I landed them the same way, through knowing other people. I'm so glad things turned out so well for you!
Hey Edgar, thank you for the kind words. And yes, networking has been key to meet new people and explore new opportunities .
I hope to write more about benefits of networking instead of applying on job-boards to get a job in the future!
Congrats man! Being able to code and write blog is amazing. I enjoyed reading your story. I wish I can write as good as you. I am a developer and want to be a writer like you but my english is broken. But I will try my best. Good luck on your job!
Thank you!
Writing is just like coding; the more you do, the better you get. Keep writing mate, your English is really good. It'll only keep improving!
Hey Pranav,
I had a similar story
First one month wasted on Binge watching
Then I had this realisation I'm just wasting time
Took out my pc and bought a course
And today a full stack developer, but figuring out a way to earn
Good luck, mate! Keep at it.
Hello Pranav, I think I resonate with your story a lot, the difference is I've not gotten my big break yet. Well done!! You did great.
Can you provide the API you fetched th data for the COVID-19 project?. I want to build something similar but for Nigeria.
You'll get there Joseph! Keep at it.
I used the following API: api.covid19tracker.ca/docs/1.0/ove...
It seems like it's a Canada only API. I'm sure there are tons of other APIs out there for Nigeria.
Thank you
Very inspiring and very well written! I love your story and I'm so happy for you that you found a new job! Congrats! I will be looking for a new job soon so I will bookmark your page! Thanks for sharing!!
One question (or two): how did you prepare the code challenges by not knowing what you will be asked? I'd get so nervous for the live session that I get blanked out. Is there any suggestion on that? Thanks!
Mostly practise. I didn't have the best coding challenge either. I just made sure to explain them my thought process throughout the challenge.
Great advice! Thanks!
I had a similar situation with yours in 2020. I took a couple React courses, again it is so true about you do not just watch and type along.
Anyway, I got into three final interviews in 2020 but I did not get anything.
Keep pushing! You'll get there.
There's a certain amount of luck involved in every opportunity and I was incredibly lucky to be at the right place at the right time!
I'll happen to you too! :)
Congratulations!
From the time when I started to learn to program to when I landed my first programming job was 9 years. In comparison, you are on the fast track. :-)
Kudos to you for putting in the work for 9 years! That shows so much commitment.
I started programming when I was 10 years old. The very first program I worked on — as a contributor, not the original creator — was Oregon Trail. That was on an HP 2000 minicomputer; before Chuck Peddle & company had gotten the 6502-based personal computers on the market.
I taught myself BASIC. Then taught myself 6502 assembly. Then 65816 assembly. Then Pascal. Then C.
And then got a job programming in MAI BusinessBASIC, while also starting college. I got a 2nd job programming in FORTRAN, for the physics department at college. Two jobs at the same time, and full time college student, majoring in physics, with a strong interest in quantum mechanics, special relativity, and general relativity. Then after 3 years, switched majors to linguistics, with a focus on semantics and artificial intelligence (the subfields of neural networks, and expert systems; not so much robotics, or simulating a human brain subfields). Then after 3 more years, switched majors to computer science.
Along the way, also picked up LISP & Scheme, 68000 assembly (which was super-fun!), Prolog, C++, Objective-C, SQL, C#, F#, Lua, Python, Perl (not my favorite), and dozens of others. I like learning a new programming language every year. Still doing C++ after 31 years.
Worked at Adobe, on Premiere Pro. Worked at Microsoft, on Visual Studio, then on Internet Explorer 10 & 11. And currently working back at Adobe, on Photoshop.
I would have done computer science from the start, but my father was against me going into computer science because, "There's no future in computers." (He has since recanted.)
It's incredible what you have achieved so far! It's funny what your dad said because that's literally what mine said too and forced me to pursue mechanical engineering.
He has since recanted as well!
@prnvbirajdar Thank you for this post! You have an awesome resilience. I started my journey into web Dev at the same time you did yours, but I think for a long time I have had the wrong mindset towards it. I have believed that I have to have spend so many years learning before I can start out my first job. But this has increased confidence in me, I can do this in six months from now.
I can only imagine how hard it'd have been for you as a married man to strive
You've also taught me something that I have lacked, that is the being immersed into the Developer Community. You have really inspired me and it will be evident in days to come
đź‘Ť
Honestly, even I was not sure about my abilities and was planning to go to school full-time. I decided to interview for a few months before I went to back to determine if the market accepts a self-taught dev.
Definitely get involved in the dev community. It'll only help you grow.
great info! also i cant believe they made you build a calculator as a coding challenge
I was surprised too. But it's a good mini-project to judge one's basic understanding of state management.
Congrats! It is impressive how much you learned in a year. Can you tell me which meetups you went to? I am a developer in Toronto too, and I'd like to network with other developers near me.
Toronto JS and TechTo are my favorites. Join those and come say hi!
Thanks! I will look for you there if I get to come by.