The valley of sorrow in learning programming
I was looking at an online learning program to become a developer.
The program is free, and it’s organized as a series of videos, one per week.
- The first video had 50.000 views.
- The second video had 30.000 views.
- Third video 20.000
Fast forward a few weeks, week 13 has 8.000 views.
Fast forward a few weeks, week 30 has 1.000 views.

This got me thinking.
I’ve run 16 online courses in the past 4 years.
Here’s the pattern that always repeats.
First week, there’s lots of enthusiasm, everyone jumps on the Discord (there’s always a dedicated Discord), everyone is introducing themselves.
Second week, lots of activity as the course initial material rolls out and people are super pumped to start learning
By the third week, the number of people showing up becomes less and less until there’s a core group that is seriously motivated and completes the course with success.
Initially things are novel and fun for everyone. It’s a really interesting deviation from your day to day.
But habits are hard to change.
An intensive course like a cohort-based courses wants time, dedication, effort.
A big percentage of people that sign up do not complete the course.
It’s one thing to think you’re going to sign up to a course and learn programming.
It’s another thing to actually do it.
No matter how good the program is.
How many of you have a portfolio of Udemy courses? I certainly do. I signed up to lots of different courses (not just programming) but never even started many of them. I don’t think I’ve ever 100% completed one.
Buying the course is easy.
It’s a quick fix.
It’s exciting.
It makes you feel better.
It makes you feel a better person.
“I’m going to become a better guitarist”!
And that’s a great thing. It’s motivating, inspiring, makes you dream.
Sometimes I sign up to a course as the result of desiring a transformation, be it learning to draw on the iPad or play the piano.
But then it’s real work. You have to show up. And it’s not easy.
It’s the valley of sorrow.
The hard part is getting past that.
Then it’s a bliss.
download all my books for free
- javascript handbook
- typescript handbook
- css handbook
- node.js handbook
- astro handbook
- html handbook
- next.js pages router handbook
- alpine.js handbook
- htmx handbook
- react handbook
- sql handbook
- git cheat sheet
- laravel handbook
- express handbook
- swift handbook
- go handbook
- php handbook
- python handbook
- cli handbook
- c handbook
subscribe to my newsletter to get them
Terms: by subscribing to the newsletter you agree the following terms and conditions and privacy policy. The aim of the newsletter is to keep you up to date about new tutorials, new book releases or courses organized by Flavio. If you wish to unsubscribe from the newsletter, you can click the unsubscribe link that's present at the bottom of each email, anytime. I will not communicate/spread/publish or otherwise give away your address. Your email address is the only personal information collected, and it's only collected for the primary purpose of keeping you informed through the newsletter. It's stored in a secure server based in the EU. You can contact Flavio by emailing [email protected]. These terms and conditions are governed by the laws in force in Italy and you unconditionally submit to the jurisdiction of the courts of Italy.