Code Athlete | #33
Hey friends 🙂
It’s been a minute since my last Unicycle dispatch. I’m back, and I’m gonna try writing shorter emails to see if that work better. Enjoy!
This week I watched part of Lex Fridman interview John Carmack. John is considered one of the best programmers ever. He was the lead programmer of games like Wolfenstein 3D and Quake which I played a ton as a kid and which were revolutionary when they came out. He was also the CTO of Oculus VR for many years, and now he’s working on AI. So there’s a lot to look forward to.
In the interview, which is five hours long and I’be only watched the first hour so far, Lex adopts the frame of programming as an athletic endeavor. He asks John questions about his routine, including little details like
his work setup and the tools (physical and digital) he uses
what a typical work day looks like
what he eats and drinks during coding sessions
how he reviews past performance to improve
It’s not clear if John thinks of his work explicitly like that, but his answers show that he at least approaches it the same way. Even after several decades at the top of the game, he’s actively trying to get better. He takes the time to experiment with new tools and approaches, he tracks his day-to-day output and thoughts and regularly reflects on them, and he’s very pragmatic. A lot of John’s answers are of the form “I can see where that style/tool/idea is useful but I tend not to use it myself” before talking about why he does what he does.
As a programmer and athlete (in the conventional sense) myself, I’m kind of surprised I never made the connection between the two. Thinking about it now, I do apply similar strategies to getting better at both ultimate and programming. At the same time, there’s a lot more I could do.
For example, lifting is a big part of my sports prep. I lift to stay healthy and to play better. I track every lifting workout, focus on good form and sustainability over big numbers, and believe that steady incremental progress will pay off in the long run.
What’s my lifting for coding? I don’t know. I don’t have any regular practice to “strengthen” my programming skills. Maybe I could do typing exercises (the equivalent of scales or chord progressions on a guitar), or self-contained coding sprints, or programming challenges?
What “lifting” do you do to make you better at your job or hobbies?
thanks for the nudge to go for a “lift” & play the piano :)