Connect Later
"What should I learn first?" people ask me, every now and then.
New hires. Friends just starting out in the industry. I never know what to say. After more than twenty years I'm still figuring it out, so I can't very well sketch a map of where to start.
Still, I used to point them at roadmap.sh, the GitHub repository started by Kamran Ahmed. It lays out career trees by role — frontend, backend, DevOps, AI — telling you what to learn and in what order. Over 350K stars, probably one of the most-starred repositories on GitHub. People in engineering education quote it all the time.
It is genuinely useful. HTML, then HTTP, frameworks, databases, authentication. Just looking at it, you can think, "right, this is the order." For self-taught beginners especially, having a map is a comfort.
But after recommending it for a while, I noticed something. I don't know many people who actually walked the whole map.
They drift onto a different road partway through. Or they stop at the first step. The reason is usually the same: you can't keep going without interest. Drilling Redux state management as an exercise teaches you less than getting stuck on it inside the game you actually want to build. Obvious, when you say it out loud.
Steve Jobs gave a famous speech at Stanford. I doubt there's an engineer of my generation who hasn't seen it. The dots, he said, only connect when you look back. You can't put them down looking forward. Only afterward do you realize: ah, that back there connects to this.
roadmap.sh is built on the opposite premise — that if you put down the dots in the right order, you get a line. But probably the line appears later, not first. The Perl I touched back then is why regular expressions feel natural now. The pointless mobile-CSS hacks I dealt with are why responsive design makes sense to me. At the time, all of it felt like a detour.
So when someone asks "what should I learn first?" now, I ask back: "Is there something you want to build, or a problem you want to solve?" If yes, the problem will teach you which dots you need. If no, no roadmap is going to get you walking. The reason to move just hasn't shown up yet.
Only the time you really put yourself into becomes a dot. Going through a tutorial once leaves an outline too faint to find again later. The hours spent stuck, digging, sticking with it past midnight — those are what stay as dots.
Dots have size. And the farther apart the dots, the bigger the map you see, looking back. A night spent stuck in some unrelated field can quietly help your main work, years later. Keep walking, and the dots between fill in, little by little.
Maps are fine. But you can't walk the map. The trail is what looks like a map, after the fact.