Thoughts on mastery after reading Peter Norvig's article

14/05/2026

https://norvig.com/21-days.html

To become a great programmer, you have to follow a few rules that can be summarized as: immerse yourself in it; breathe it. That requires deliberate practice, as with painting flowers. That article points out that there are no shortcuts; you cannot become great by spending only 21 hours on it. There are probably many ways to become immersed, but they come down to a few activities, such as reading, writing, thinking, and talking to others. This guidance should be enough to get started. The brain has a superpower: figuring things out. So it will find a way to know what to read or what to write about. Then we have to think about what we read or write, and we have to "talk" to people. I put "talk" in quotation marks to show that this can happen in various ways, in person or online. The point is that all of these tools have to be used to become great.

I suppose that as we walk the path to mastery in our profession, we become better at using those tools; we have to master them. At the end of the day, we have to become better at reading, for example. Sometimes we have to read more or read more deeply. Both of those skills will be needed. Then we have to write better and better code. Lastly, we have to communicate better with others so they can see where we are coming from - and not only for that reason, of course. That, in turn, will expose us to more possibilities than before.

[[How to achieve mastery in software engineering]]