Practicing Programming — cover art: a panda seated in a warm lamplit room, deeply absorbed in practising an acoustic guitar, a music stand and a vintage metronome beside it.

2005 · Drunken Blog Rants · Essay

“Contrary to what you might believe, merely doing your job every day doesn't qualify as real practice.”
— From Practicing Programming, January 2005
Read the essay

© 2005 Steve Yegge. Originally published at Drunken Blog Rants.

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

A January 2005 follow-up to an earlier piece in which Steve had claimed — with no evidence — that most programmers, unlike musicians or athletes, never practise their craft in any disciplined way. The thesis: merely doing your job isn't practice (going to meetings isn't practising your people skills), and great engineers are great because they practise constantly and deliberately. Steve draws the case through music. As a self-taught guitarist he played 6 to 8 hours a day for five years and only got very good at being sloppy, because "practice makes perfect" is wrong — perfect practice makes perfect, and that takes instruction, theory, and dissecting a piece into tiny components rather than playing it start to finish. Programmers have the same resistance to lessons ("I'm already great at Perl") that he once had to guitar teachers. Because skills have a shelf life — only math, CS, writing, and people skills are roughly timeless — programmers have to take training into their own hands. The essay closes with about a dozen concrete drills, from rating every skill on your own resume to sitting in on other people's interviews.

The "programmers should practise like musicians and athletes" framing predated the code-kata movement by years, and the drills themselves are still directly usable two decades on.

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