news.volyx.in

Teach Yourself Programming in Ten Years (1998) (norvig.com)

586 points by janchorowski · 948 days ago · 302 comments on HN

Article summary

The article discusses the idea that it takes about ten years to develop expertise in programming, and that there are no shortcuts to achieving mastery. It critiques the concept of learning programming in a short amount of time, such as 24 hours, and argues that true expertise requires dedication and practice over a long period. The article also provides advice for aspiring programmers, including working on projects, learning from others, and understanding the fundamentals of computer science. It emphasizes the importance of deliberate practice and challenging oneself to improve.

Main themes

  • deliberate practice
  • mastery in programming
  • importance of experience
  • evolution of programming
  • agile development methodologies
  • formal education vs self-learning
  • fundamental concepts and principles
  • problem-solving and learning from mistakes

What commenters say

  • The 10,000 hour rule is a rough estimate, and achieving mastery in programming takes around 10 years of dedicated practice.
  • Some people believe that working on personal projects outside of work is essential to improving programming skills.
  • Others argue that working on commercial projects can provide valuable experience and learning opportunities.
  • There is disagreement about the effectiveness of agile development methodologies like Scrum, with some finding it helpful and others seeing it as a waste of time.
  • Experience and dedication are more important than formal education in becoming a skilled programmer.
  • The field of programming is constantly evolving, and it is essential to stay up-to-date with new technologies and techniques.
  • Some argue that the focus on short-term goals and quick fixes can lead to a lack of understanding of fundamental concepts and principles.
  • Others believe that the key to improving programming skills is to focus on solving real-world problems and learning from mistakes.