roadmap.sh

I found this site a long time ago, but I recently regained interest in it because I wanted to benchmark where I was currently in my career and look at where I wanted to go. The best thing about this site is that software developers have somehow reached a consensus on the standard tooling and concepts that are needed to evaluate the efficacy of someone in a given role. The only thing to be wary of is that there might be updated technology that isn’t added to the guides, but the general concepts should still hold.

Another thing is, if you were to use the site as a benchmark, do not lie to yourself. roadmap.sh exists for you to be truthful about where you stand currently, so if you are on the borderline between “oh, I know that,” ask yourself the deeper questions like how it functions, why you would use it, where it would exist, and see if you can fully flesh-out the concepts. It is easy to want to say you know everything, but there is a tacit (know-how) dimension that needs to be recognized before marking it off.

An example from my usage was on the first obstacle: “The Internet,” and the “simple” concepts that were tied to it: How does the Internet work? -> “Of course, I know how the internet works; there are routers, nodes, and switches.” -> But how do they work? -> “There are specific protocols in place for them to communicate with each other.” -> How do the protocols work? -> BGP Protocol -> OSI Model -> ISPs -> “Hmm, maybe I don’t know too well”

My Goals

I filled out my roadmaps and made .txt files regarding the main concepts for each block with specific concepts you should master before fully feeling like a master. They are ordered based on how much I enjoy working in that specific role. The files also contain a symbol guide for the concepts and my own comfort levels with them. A good ethos to go by is: don’t check it off if you haven’t implemented/applied the concepts somewhere.

  1. AI/Data + Data Analyst
  2. DevOps
  3. Back-end
  4. Front-end
  5. Technical Writer
  6. UI/UX
  7. Research Scientist
  8. Cybersecurity
  9. Software Architect

10x, 100x, and the 1000x Unicorn

After working through the developer roadmaps, I realized there wasn’t a focus on the broader skillsets that a back-end or front-end SWE might need. So I used the AI function to create roadmaps for the illustrious 10-1000x programmers to serve as general reminders for broader technical skill upkeep. Not surprising, the main topics were programming constructs, optimization, computer architecture, operating systems, algorithms, and foundational problem-solving skills. They were mainly made for the fun of it, but turned out to be solid in showing what is needed on top of knowing how to use specific tools and domain concepts.