Back in the late 1990s, the internet was a wild west of information. Everyone wanted to learn new skills, especially programming. Books promised to teach you complex topics in "21 days" or even "24 hours." It was an exciting time, but also a time of unrealistic expectations.
Then, a piece of writing emerged that cut through all the hype. It offered a different, much slower, but ultimately more truthful path. This idea, titled "Teach Yourself Programming in Ten Years," became a quiet sensation, changing how many people thought about learning.
The
Promise of Instant Expertise
The late 90s saw a boom in "learn X in Y days" books. These titles offered quick paths to programming mastery. People were eager to jump into the new digital world, and these books seemed like a shortcut. They suggested that complex skills could be picked up in weeks.
This approach often left learners frustrated. They would finish a book, but still feel far from competent. The quick-fix mentality created a cycle of hope and disappointment for many aspiring programmers. It was a common problem, largely ignored by the publishing world.
A Dose of Reality from a Tech Giant
In 1998, a respected computer scientist named Peter Norvig published an essay. He worked at NASA at the time and later became a director of research at Google. His article directly challenged the "learn fast" trend. It was a clear, simple message.
Norvig's piece explained that true expertise takes time, often a decade. He argued that programming, like any complex skill, requires deep practice and consistent effort. This was a stark contrast to the popular quick-learn books.
The Core Message: Deliberate Practice
The heart of Norvig's argument was about deliberate practice. He wasn't just saying "learn for ten years." He meant learning with focus and intention. This involves working on challenging projects, getting feedback, and constantly improving.
He pointed out that the 10,000-hour rule, often linked to becoming an expert, isn't about simply putting in time. It's about how you spend that time. True learning means pushing past what you already know and tackling harder problems.
"If you learn to program in ten years, you'll be pretty good. If you learn to program in 21 days, you'll be a beginner, still."
This quote, or the essence of it, highlighted the gap between surface-level knowledge and deep understanding. It resonated because it felt honest.