The self-taught developers roadmap
I ended 2020 as a bartender. I had been doing the same thing for 13 years and quite frankly, I hated it. My work did not inspire me, it was a means to an end. I had been living paycheck to paycheck for as long as I could remember. I had no college degree and no idea what I wanted out of life.
Having no idea what I wanted, but knowing that I wanted something more, I started my search for the next chapter of life. I knew I wanted to be able to work remotely, I did not want to go back to school and I wanted to make enough money to support my family comfortably. It seemed like a lofty goal, until I found programming.
If you’re reading this, I don’t need to tell you how programming checked all the boxes on my list. Chances are you are considering the self-taught path, or have already begun. When I began my journey, I was overwhelmed at the amount of differing advice out there. I wanted to share my journey to give direction and hope to those of you who are determined to teach yourself the skills necessary to become a programmer.
Why should you listen to me? Like I mentioned, at the end of 2020 I was a bartender with zero computer skills. Now, a short year later, I am a software engineer. I have doubled my income, I work remotely and overall I spent about $200 on my education. With that being said, everyone is different. Take this all with a grain of salt, what worked for me may not work for you. If I can help even one of you get the job, then it is worth it!
Months 1–2
When you start out programming, it is quite literally learning a new language. But more than that, it is learning how to think like a computer. Computers are simple machines really, they do EXACTLY what you tell them to. Thinking programmatically is a great place to start your journey.
Fortunately, there is a TON of free education out there. I would suggest starting with Harvard’s CS-50 course. They are available on YouTube and the instructors do a great job. They will touch on several computer science topics. This a good place to get your feet wet.
After this, I would move onto HTML. It is very basic, but you get to write some code and see it output onto the screen. This is very gratifying when first starting out. If you don’t know already, freeCodeCamp is an excellent resource and as you may have guessed, it is FREE!
After HTML, spend about 2–4 weeks learning the in’s and out’s of CSS. At a minimum, I would learn about specificity, selectors and media queries. There is a TON you can do with CSS. But the topics I mentioned earlier are enough to get you building sites. I would also recommend playing around with a CSS framework, something like bootstrap or bulma. These make building responsive sites quick and efficient.
Now you could go a couple different directions here. freeCodeCamp has a lot of different courses. You could potentially learn CSS, JavaScript and Node all on their platform. If that’s how you decide to go, more power to ya!
Personally, I wanted to hear someone break the concepts down and watch someone code. I LOVE Udemy. It’s a great resource for self taught developers as most of their courses are under $20. Pick whichever course seems interesting, I would highly recommend Colt Steele’s Complete Web Developer Bootcamp. Colt does a great job of breaking concepts down and you get to build a full-stack application.
Months 3–5
These months will arguably be the most difficult. I would take this time to dive head first into JavaScript. JavaScript is what brings websites to life. It makes websites dynamic and interactive. Learning JavaScript will introduce you to logic, the DOM and a little OOP (although technically JS is not an Object-Oriented language).
JavaScript (along with a framework) will most likely land you your first job as it is one of the most popular and beginner friendly languages. After learning JavaScript, I’d argue you’re ready to start applying for entry level jobs. If that seems too intimidating, checkout platforms like UpWork. You can find some low paying jobs building landing pages or static sites.
Month 6
At this point, you should have the skills to build a responsive website with HTML, CSS and JavaScript. Now, it is time to pick a JavaScript framework. React is the most popular framework, so it would be a great place to start. Learning React will also strengthen your JavaScript knowledge and make you much more hire-able. As most companies today require knowledge of at LEAST one framework.
Once you feel confident and are able to build a simple SPA, you are ready for a front end engineer job. If you haven’t already, now would be a great time to build a portfolio showcasing some personal projects. A portfolio is arguably the best tool for a dev with zero experience when looking for a job.
Months 7–8
You may not be interested in back end development, which is totally fine! However, even if you stick to front end, you will be dealing with API’s all the time. That is why I would suggest taking a couple of months to learn about back end engineering and what it entails.
While the back end covers a variety of aspects, I would focus on building an API and interacting with a database. In most of the coding assessments I took when looking for my first job, the tasks were the same. Build a simple API and render results to the screen. Knowing how to set up an API and interact with data will set you up well when applying for jobs.
Since you already know JavaScript, I would suggest Node as a backend environment. It allows you to write JavaScript on the backend which makes the environment familiar and intuitive.
Months 9–12
Now it is time. Time to take all of the knowledge and skills you have learned and leverage them into a new career. The job hunt is HARD. Especially for those of us with no degree or bootcamp certificate. You will get the job by showcasing your skills and your passion. There are a few ways to go about this.
Personal projects are great. They show you are passionate about what you do and that you have the ability to create sites/applications from scratch. Make sure to create something original, as it’s pretty easy to spot a project that was just built from a code-along tutorial. Plus, you will learn WAY more when building a project by yourself.
Get yourself some pro-bono work. Find a non-profit in need of a developer, or a friends who’s business needs a website. Better yet, find a startup that needs help or, make your own startup! It doesn’t have to be successful, but the skills you will learn along the way will help you stand out.
If I had to give just ONE single piece of advice it would be this. Don’t give up. It is not easy to be a self taught programmer. It is not easy to get that first job. It IS however, absolutely possible. You don’t have to be a genius or a natural. You just have to keep trying.