Detailed Guide To Landing Your First Job As a Self-Taught Web Developer: Complete Steps and Resources
Everything I did to land my first job dev role while working a full-time job.
Table of Contents
1. This is the guide I wish I had
2. How to use this guide
3. My journey to becoming a self-taught developer
4. Important tips on HOW to study effectively
5. Step 1: Start This Course: The Web Developer Bootcamp by Colt Steele on Udemy
6. Step 2: Understand Git & Version Control
7. Step 3: Learn the React framework
8. Step 4: Your Capstone Project
9. Step 5: Building Your Portfolio
10. Step 6: Make Your Resume
11. Step 7: Make a LinkedIn Account
13. Step 8: Practicing For Technical Interviews
14. Step 9: Apply to Jobs!
15. Step 10: What To Do While Applying For Jobs
This is the guide I wish I had
My goal is to give you a straightforward guide to becoming hirable as a junior web developer. One of the challenges of being self-taught is discerning between what is crucial to know and what is unimportant. Before I began my journey, I just wanted to know what resources I needed and why I needed them.
How to use this guide
Each step will take a bit of time to complete, but I encourage you to first skim through each step so you can see everything from a birds-eye point of view before starting.
Read the notes underneath each step before proceeding with the step.
For example, step 1 is to start this Udemy course, but there are specific notes on how to approach the capstone project at the end of the course.
These notes basically outline why you’re doing the step in the first place, and a couple of tips that I wish I would have known before starting.
My journey to becoming a self-taught developer
You can skip this part unless you want some inspiration or encouragement.
I had been applying to Physician Assistant graduate programs for a couple of years thinking that since I work well with people, healthcare must be for me. However, my friend introduced me to web development, and its career prospects made me realize the kind of life I wanted, which was to have a career that allowed me to be more present with my family and to be able to work on something creative.
I was a Medical Assistant when I started my journey. I couldn’t afford a coding bootcamp because I needed to keep my full-time job to pay rent and put food on the table. Given the time constraints, I mentally accepted that this transition was going to take about a whole year.
I woke up at 5 AM once or twice a week to research and study. I studied every night after work, and all throughout the weekends. I Googled a lot, I asked a lot of questions to a bunch of random people I connected with on LinkedIn, watched a ton of YouTube videos, and applied the advice that I thought was most relevant. I applied to 20–50 jobs a day and was rejected countless times. It was rough, but the struggle was totally worth it.
I could have saved a lot of time and headache if I knew what was worth studying and researching.
Even though the process itself is pretty long, I’m confident that this guide will save you a lot of time from researching and guessing what else you need to learn and what the appropriate steps are.
Feel free to connect with me on LinkedIn at https://www.linkedin.com/in/bryantaeyi/ if you have any questions. I love chatting about this stuff, and I like to see other people’s quality of life improve.
Important tips on HOW to study effectively
- Do NOT go through any course materials or resources like a classic school course where you try to memorize everything. Developers are often Googling things and always looking things up. So instead, aim to understand the concept, write some notes about it in a place where you can quickly look it up, then move on.
- Googling things is an important skill! Knowing how to search things up and do research on your own is a vital skill that you should practice during this entire journey. Definitely watch this fun video about Googling like a pro: https://www.youtube.com/watch?v=cEBkvm0-rg0
- Have a dedicated folder on your computer about Dev-related things.
- Use a note organizing app like www.Notion.so (Google it). This is a popular app and is a must-have under your toolbelt. You can also use it to organize other aspects of your life.
- Whenever I mention buying something on Udemy, YOU SHOULD NOT HAVE TO PURCHASE IT FULL PRICE!! Udemy has very regular “sales” with a timer saying their sale will run out, but it’s just a marketing tactic to create fake urgency. If I needed to buy something asap, I just made another email since the discount always applies to first-time buyers.
Also, be realistic with the time that you have. Whether you’re planning to study while maintaining your full-time job (like I did), or you have all day, it’s crucial to take breaks, stretch, eat healthily, and get 7–8 hours of sleep. If this means only being able to study 1 or 2 hours a day, then do that.
Consistency is key, as opposed to the load of hours you spend studying on one given day.
Step 1: Start This Course: The Web Developer Bootcamp by Colt Steele on Udemy
The WHY: This course is one of the best all-in-one courses that covers most of the elements of web development. The instructor is really good at simplifying complex topics into something much more digestable for beginners.
- Course link here: https://www.udemy.com/course/the-web-developer-bootcamp/
- Completely go through this Udemy course.
- Take your time on Section 30 — the Terminal Command Line is SUPER vital to learn.
The Capstone project of this course is YelpCamp, which is basically a “Yelp” type of app, but it’s for campgrounds. Go through this project, but make changes to it such as:
- Change the LOOK of the app — the backend can be the exact same as the course, but be creative and different with the frontend. It doesn’t have to be CRAZY different…just find a different theme and feel. I would personally leave the map portion alone but change literally everything else. You can also look online for design inspiration like dribbble.com.
- Change the THEME. The theme of this project is a “Yelp” for campgrounds. Change it to something else that you are personally interested in like maybe a Yelp for only Asian restaurants, or small businesses, or boba shops, etc.
- Change the name of the app to something more professional sounding.
- Learn what Github is (outlined in step 2), and start pushing your project every day to Github every day.
Making these changes is extremely important because there are thousands of others like you going through this same exact course, and will end up with the same exact project on their portfolios. Recruiters and managers get turned off by this. Being able to make your own twist will help you stand out when you’re applying to jobs.
Step 2: Understand Git & Version Control
The WHY: Git is the bread and butter of a software engineer’s work. It is THE tool for version control.
- Watch this to get a better understanding of why version control is so important: https://www.youtube.com/watch?v=9GKpbI1siow&ab_channel=LearnWebCode
- Use this Youtube video to learn Git: https://www.youtube.com/watch?v=USjZcfj8yxE&ab_channel=ColtSteele
- Make a Github account on https://github.com/
- Upload your recent project onto Github
- Learn what a README is here: https://www.youtube.com/watch?v=yXY3f9jw7fg&ab_channel=CodeTime
- You can make a simple README for your recent project, something like a title and basic overview.
- Now that you know what a “git push” is, make sure to push something to Git every single day. If you have nothing to push, literally just push the tiniest changes. This is important because prospective employers like to see an active Git profile with all those green bubbles!
- Don’t forget to turn on “Private Contributions” under “Contribution Settings” in your Github so that your private repos are counted as contributions.
Step 3: Learn the React framework
The WHY: Companies rarely use vanilla javascript (“vanilla javascript” means “plain javascript”, which means javascript without any libraries or frameworks)to manage their codebase. We can talk all day about javascript frameworks since there are so many, but right now, the React framework is king. Your future employer will NOT care that you learned any particular framework, but it’s helpful to know that the job prospects for React is thriving and most used.
- Learn what a “javascript framework” is in 90 seconds with this video: https://www.youtube.com/watch?v=VbvMJUpY0a4&ab_channel=SuperSimpleDev
- This is the Youtube video I used to learn React (you can use any tutorial you find): https://www.youtube.com/watch?v=4UZrsTqkcW4&t=10718s&ab_channel=freeCodeCamp.org
- With this project, initialize a new Git repo on that project and try your best to PUSH at least once every single day to make a nice Github Christmas tree ( the green blocks on your Github profile ).
- Remember you can use Google and Youtube for anything you don’t understand.
- Understand Typescript — this is super important and will most definitely set you apart.
- You can learn the basics of Typescript here: https://www.youtube.com/watch?v=BCg4U1FzODs&ab_channel=TraversyMedia
- Then look more into Typescript WITH REACT here: https://www.youtube.com/watch?v=jrKcJxF0lAU&ab_channel=LaithHarb
Step 4: Your Capstone Project
- I know you created some projects already from the previous steps, but you need one main project that comes solely from YOU. This is your Capstone Project.
- Here's why:
- Recruiters and managers will look at your resume and your portfolio. Both of these are their first impressions of you, so they need to look SOLID.
- But what needs to look solid?
- Resume: The format, and the key accomplishments of your projects. (We’ll talk about this later)
- Portfolio: It needs to look nice, and easily showcase who you are, and what you are capable of through your project’s live site and the Github codebase associated with it.
- But the main reason you need your own capstone project is that your recruiters and manager WILL ask you to walk them through at least one of your projects.
- Your confidence, enthusiasm, passion, and your skills will be best portrayed when you explain a project that YOU built from the scratch — not from someone from Youtube giving you step-by-step instructions.
- With that said, now is the time to think about what kind of project you should build, but here are some key properties this project should have:
- Needs to be full-stack — you should build the frontend, the backend, and should incorporate a database.
- Use React for the frontend with Typescript
- Use NodeJS with Typescript for the backend with Express
- Use MongoDB for the database
- This project should hypothetically solve a real-life problem. You don’t have to create a new piece of software that solves world issues or anything. Just something new. For example, I thought it’d be cool if there was an Amazon-equivalent website that sold and delivered used electric cars.
- Incorporate some type of user authentication ( You can reuse what you’ve made from previous projects ).
- The project should look polished.
- No games — unfortunately, there’s a weird stigma about games as a project unless you actually want to go into Game Development…but then you probably wouldn’t be reading this guide.
- Search on YouTube how to deploy projects using tools such as Netlify or Heroku, or a combination of both.
- Once deployed, I recommend asking a developer you know to review and critique it.
EDIT (September 12, 2022):
As of November 28th, 2022, Heroku is removing its free tier, so I’m not a fan of recommending them anymore.
Traversy Media shared 3 alternatives for Heroku’s free tier. I personally have not tried these yet, but bless his heart for doing this research for us!
Step 5: Building Your Portfolio
- Creating your capstone project may have been the most challenging part thus far, so congrats for getting this far! This is a HUGE accomplishment!
- At this point, you definitely have the skills to be hirable as a junior developer. The next challenge is to convince recruiters and managers that you in fact are hirable and skillful!
- The next goal is to create a Personal Website Portfolio.
- You can go in many directions with this, but I suggest looking up inspiration somewhere for the design, then building it.
- For my portfolio, I basically used the same colors, theme, and style of another website portfolio I found and made it myself with tweaks.
Step 6: Make Your Resume
- My resume looked terrible at first, but after one engineer gave me really specific feedback, I received much more responses for an interview. It was like night and day.
- Here’s my resume that got me my first job: https://docs.google.com/document/d/1l5jQ9de_h5jgJ2c3xuInMOhGuQdZ6moYicFER0bAL_g/edit?usp=sharing
- I suggest you copy exactly what my resume looks like and add your own info and projects.
- Pay attention to the active verbs underneath each bullet point.
Step 7: Make a LinkedIn Account
- Make a LinkedIn account
- Use a nice-looking, professional profile picture. Watch this for tips: https://www.youtube.com/watch?v=BcfGWi8Qywk
- Upload your website portfolio’s URL link, a PDF of your resume, and only your CAPSTONE project onto the featured section on your LinkedIn portfolio.
- You do not have to change your work history.
- Follow and like a couple of tech pages.
- Ask people you trust to look at your LinkedIn, website portfolio, and resume and get feedback.
Step 8: Practicing For Technical Interviews
- Technical interviews are hard…you never know what you will be asked because there is just SO much information and knowledge just about Javascript alone…but it’ll be okay as long as you prep.
- Buy this course on Udemy…make a new account with another email if the discount isn’t applied: https://www.udemy.com/course/js-algorithms-and-data-structures-masterclass/
- Complete up until sections 1–6, up till the section called “100% Optional Challenges”.
- Make an account on Leetcode.com
- Leetcode is a platform where programmers can practice questions so that we can prepare for technical interviews.
- It’s crucial to understand HOW to do Leetcode questions:
- Do only 1 to 2 EASY questions max a day.
- Spend 30–45 minutes max on one question, and do your best, even if your code is not optimized and messy.
- If you couldn’t solve it after the timeframe, look up the solution, or go on Google or Youtube for the solution. I personally like Youtube for a good walkthrough.
- UNDERSTAND the solution, why it’s optimal, and how the solution works.
- Go back to your problem and try to solve it again without looking back at the solution within 10–20 minutes while actively thinking about how you would communicate your solution while writing the code.
The point of this strategy is that no one gets to a solution by staring at the problem for hours, so the steps I outlined above are an effective way to study. Additionally, Leetcode problems require practice, and you get better as you keep doing it at a steady pace.
Step 9: Apply to Jobs!
- If you can do the first 5 easy questions on Leetcode (you understand the problem, you know both the inefficient and optimal solutions and why, etc), I think you should start applying for jobs.
- I solely used LinkedIn to apply for jobs. I personally felt that the companies posting jobs on LinkedIn were more “ready” and proactive to interview me in comparison to companies from other job posting sites like Indeed, and ZipRecruiter.
Step 10: What To Do While Applying For Jobs
The obvious thing to do while applying for jobs is to keep practicing on Leetcode, but you should also practice mock interviews a couple of times, and take whatever steps you need to become confident presenting your projects and verbally communicating your thought process of a Leetcode problem.
Additionally, I strongly recommend that you come up with another project to work on while applying to jobs, similar to how you came up with your capstone project.
The only difference is that this project is not a huge priority. You should work on it minimally every day so that you can push code to your Github, but put most of your time and energy into applying to jobs and practicing Leetcode.
Good Luck!
Starting my career in web development was easily one of the best decisions I have ever made for myself. I really hope you found this article helpful, and I’m excited for you to start such an amazing career that improves your quality of life as it did for me!