Profile picture of @binhonglee on Twitter. @binhonglee

Problem with Programming Roadmaps

I think a lot of these unrealistic programming roadmaps are just written by the same engineers who'd underestimate the amount time needed to complete their tickets lol.


Profile picture of @DThompsonDev on Twitter. @DThompsonDev

Some of these "roadmaps" people post on twitter kill me. 5 Days to Learn Javascript like it is nothing and then saying move on to React.

It took me a MONTH just to understand the difference between arrays, objects and how to use them!

5 days?! AS A BEGINNER?!
Ain't no way!


Time estimation "mostly" comes from years of working experience. That is to say some people are still bad at estimating even after years of working experience. One trick here is to always double (or triple) your initial estimation which is likely over-optimistic.

The other problem I see is the mismatch on expectations. People use phrases like "mastering XYZ" without properly defining what they meant by "master". It's not realistic to just become as good as a senior engineer in something over like a month (or even a year tbh).

Take this tweet for example. Learning the syntax then compile a C++ program on a CLI / IDE is likely easy. Maybe easier than python, but what's the baseline on "learning" something?

Profile picture of @TechnoCannon on Twitter. @TechnoCannon

@DThompsonDev After extensively using #Python for the last couple of months, I started converting code to other languages, & today, I found #CPlusPlus looks much simpler than #JavaScript.😂 They say C++ is supposed to be one of the hardest #ProgrammingLanguages to learn, not compared to JS. 🤣


It's probably reasonable to exclude `std::move()` but it should include "import external libraries" which afaik, is a pretty painful process (especially if your dependency has dependencies), thus there's so many build tools out there (make, cmake, autotools, meson, buckaroo...).

Don't attack this person specifically since they are probably still learning but it's important to set that expectation. Remember python? Yea installing it is probably more painful than "wait, it already mostly works" but pip provides good out of the box external library support.

I also don't know how I feel about tweets like this. Sure, a lot of things are transferable from one language to another. Generally the first and second are the hardest, third is "usually" easier but again, this differs from languages to languages.

Profile picture of @abubakardev on Twitter. @abubakardev

@Dunsin_codes @DThompsonDev A secret hack to learning programming languages is to learn JavaScript......As a JavaScript master, you can learn almost any other language within a day or two


JS has its kinks (pass by value vs pass by reference, array map) that don't exist in most of the other languages. Also, despite it being a scripting language, it's still quite different from like shell script. And we haven't even talked about functional programming languages.

Anyway, my point is that a lot of these roadmaps are unrealistic because people who make them aren't good at estimation. As you work in the industry you will realize that this is common because many engineers don't realize the complexity of their dependencies until its too late.