I had lunch with Peter Norvig about 18 months ago – yes, as you would imagine, he is a very cool guy – lots of fun to talk with. I just saw a link to his article “Teach Yourself to Program in 10 Years” and re-read it.
I think that his comments go way beyond programming. They remind me a lot of Joseph Campbell’s advice “follow your bliss”: do those things in life that you most love to do.
While I make my living designing and writing Java software, I invest a huge amount of time studying other programming languages; just in the last few years I have:
- Studied Paul Graham’s great Common Lisp books – I wrote 2 Lisp books for Springer-Verlag many years ago, but I was rusty…
- Studied Mark Pilgrim’s excellent “Dive into Python” to brush up on my Python skills
- Learned Ruby (see my open source Ruby NLP projects on my main web site)
- Brushed up on my Prolog skills by working through Sterling and Shapiro’s “The Art of Prolog” – I used to be a Prolog guru, and I wanted to get some of my edge back
I also spend a minimum of 5 hours non-work time a week learning new Java frameworks, reading other people’s Java code, articles, etc.
How do I get time for this and still have a great life? I suggest not watching TV
When I talk to teenagers, I like to encourage them to follow career paths that involve doing things that they love doing – don’t just try to make a lot of money.