Using roadmap.sh for structured self-learning
Tags: beginners, programming, learning
Published: 2021-07-15 16:13:46

---
title: Using roadmap.sh for structured self-learning
published: true
description: These tips, tricks and resources helped me become a self-taught software developer and hopefully they can help you too.
tags: beginners, programming, learning
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvkw3k2jib9vwrgefmst.jpg
canonical_url: https://khendrikse.netlify.app/blog/using-roadmapsh-for-structured-self-learning
---

Cover image by  [Jaromír Kavan](https://unsplash.com/@jerrykavan?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/roadmap?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)


The tech industry evolves quickly and as a beginner this can make you feel like you are always behind. One of the things I really had to learn is that the basics are always the right priority to dive into. It does not matter what career goal you have, be it frontend, backend or anything in between or beyond. Understanding HTML, CSS and one of the many amazing programming language out there will be a good start to your career.

## Which language to choose?

That depends on your own personal context. If you already landed a job and are expected to learn a specific language for it: choose that one. If you feel excited for another: go for the other one. When self-learning the key thing is motivation. Work with what makes you excited. Once you learn one language, the others can easily follow. Don’t feel rushed or pressured into something that does not ‘spark joy’.

I started my journey through the RailsGirls community. So it felt right for me to follow some Ruby courses because I already knew people who could help me a little and it was the only language I had already seen. When I got hired as a frontend developer I picked up learning JavaScript. It was fun to see how some stuff was the same, and where the two languages differed. Again: once you know one language, others can easily follow.

## You don’t know what you do not know

One of the reasons it is so hard when you are a beginner in tech is because you probably don’t know the gaps in your knowledge. Having a mentor, or knowing people who have more experience to help point into the right direction can be of huge help here. Luckily I was surrounded by an amazing group of people to point me into the right direction. Still, I was craving some more structure to help me set priorities when it came to learning the essentials.

## Roadmap.sh
Through some luck I found [Kamran Ahmed’s](https://twitter.com/kamranahmedse) roadmap.sh. I checked out the frontend roadmap and was amazed at the way it helped me gain insight into things I did not know I could dive into. This is how I implemented it into my own learning:

1. I created a markdown file and wrote down the list of things I wanted to learn using the roadmap.
2. I went through the list and marked the ones that motivated me to learn, and the ones I knew could help me build the projects I was working on. I gave those extra priority.
3. I went through the list again and for each topic I started searching the web for good resources that I could study to learn that subject matter. I did not study them immediately. I was just collecting and linking to those resources in the file. (Note: nowadays roadmap.sh has [some nice resources](https://roadmap.sh/guides) themselves for some subjects, make sure to check them out!).
4. Every quarter I chose some subjects and studied the resources.
5. When a subject was done, I had the satisfaction of checking the checkbox in front of it ✨

## Projects will kickstart your career
Last but not least: I noticed that through work and building personal projects, I was already able to check off some of the boxes on my list. Working on actual projects actually helps you learn so much quicker than doing courses, reading articles, books or watching videos. If you haven’t tried building something yourself yet: go for it! Find something that you think would be fun to build. Maybe try using a fun API that is available on the web. Like [NASA](https://api.nasa.gov/), [Spotify](https://developer.spotify.com/documentation/web-api/) or the [Star Wars API](https://swapi.dev/). It might feel daunting to start, but if you split up the project in small tasks it will become much easier.


Good luck for all of you out there starting on your journeys. Don’t forget that the only person you should compare yourself with, is yourself. And every new thing you learn is one more thing you did not know before. Be nice to yourself and others, and build fun stuff.

Originally posted on [my own website](https://khendrikse.github.io/post/2021-07-15-using-roadmapsh-for-structured-self-learning)