Atlas · Details
Practicing Programming
Author’s note
Surprisingly, this one stands the test of time. It's essentially all still valid advice today, if you want to get better at programming, even with AI agents.
AI Notes
The word Steve actually wants here is one that means "study and practice" at the same time, and after test-driving a couple of coinages too horrible to survive ("practudy" sounds like a medical condition), he gives up and writes what he calls a mini-manual on plain old practice. It's a January 2005 Drunken Blog Rant, picking a fight he'd started in October's Being the Averagest, where he claimed with no evidence that programmers almost never train in any disciplined way. The case is argued from inside Amazon and addressed to coworkers, which gives it a particular flavor: NFL cornerbacks, piles of résumés from the hiring pipeline, the impossibility of perfectly tuning a guitar, and a swordsmanship lesson borrowed from The Mask of Zorro. The drills are cheap by design — none needs a uniform, a team, or more than an hour.
Half of the twelve drills assume you sit near a busy interview machine (résumé screens, phone screens, other people's interviews), which was daily weather at 2005 Amazon and is scarcer most other places. And the essay's treatment of 25-year mainframe veterans, whose knowledge it files under "archaeology," is the argument's stick, swung hard enough to sting anyone mid-career reading it now. The ending carries a confession that suits the material: Steve aimed for twenty drills, the effort stalled the post for two months, and he shipped a dozen. Even the practice essay had trouble practicing.
Related listings
-
2008
Programming's Dirtiest Little Secret
The same craft argument, narrowed to one skill. Practicing Programming is the whole training programme; touch-typing is its cheapest, most concrete drill — and that essay even teaches it with a musician's fast-slow-medium practice loop.
-
2008
Get That Job at Google
Get That Job is the cram session; Practicing Programming is the long game underneath it. Its mock-interview and resume-screening drills are exactly the kind of deliberate practice this essay says programmers should make a lifelong habit.
-
2007
Rich Programmer Food
Two essays in Steve's pure teacher mode. Practicing Programming is the habit — train yourself, deliberately, forever; Rich Programmer Food is the assignment — go and learn how compilers actually work.
Where it was argued
- Hacker News Jan 2015
From the peanut gallery
Read the rest of the thread · 1 more
-
Dave Thomas has a long blog thread on practicing programming. This gives 21 suggested exercises, or 'code kata'.
http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata
On the music side of things, I'm learning to play piano, and teaching myself because two years of lessons did nothing but lighten my wallet. It seems that practicing techniques are still fairly hotly debated even now; some people maintain that non-musical drills such as those by Hanon and Czerny are worthless; it's better to use, say, Bach Two Part Inventions or Chopin Etudes, because technique should never be divorced from music.
Personally I found this free online book immensely helpful: http://members.aol.com/chang8828/contents.htm
(He has a good reviews second, where he recommends other materials; I went with Seymour Fink's book, and I'm about to buy the 'Freeing The Caged Bird' video.)
Also, I found this book reading this book right now, which combines elements of Tai Chi and Feldenkrais and an apparent unification of the arm-weight/finger-movement schools. The author is a bit full of himself, but the first couple of chapters (on the bus this morning) were good. I guess I should blog this...
Another article worth reading along the same lines is Peter Norvig's Teach Yourself Programming in Ten Years.
— Daniel C · February 4, 2005 11:46 PM