This week I achieved a modest personal dream of mine I’ve had since I was a high schooler: I purchased a proper standing desk, with a low-profile treadmill underneath.
The total cost for a setup here in Finland came out to only about $350, something I can easily afford with a week’s take-home pay. The primary hurdle for me was psychological: How could I justify spending so much money on a more ergonomic setup when I’m not even sure this whole “software engineering” thing will work out for me? Nevermind that I taught myself to program at 14 from a Civ 4 hacking tutorial, nevermind that I’ve been living my life as a budget cyborg for the last 15 years, nevermind that every job I’ve ever had post-college has been at least 60% WFH – how could I be sure this investment in my home office will pay itself back?
Well, by taking software engineering seriously as a profession, of course. By treating it, and myself, the same way I’ve always treated it: As a game of athletics.
Professional athletes get the big bucks for one thing and one thing only: Their ability to win. Be it football, distance running, financial modeling, the common through line is that these are people who shape their lives in such a way that they win, consistently, and that often involves living in ways which are substantially different to how non-athletes live their lives. Dedicated amateur athletes operate very similarly, within the constraints of their otherwise humdrum existence. Your friend who attends the local powerlifting competition might join you for a burger every now and then, because they enjoy your company, but they’re not eating burgers every day, and probably not even every week.
This has a lot in common with software engineering, at least for the roundabout way I’ve been involved with it for 15/29ths of my life. It’s not just something I have ever done for a paycheck - I like it. I like being good at it. I like trying new techniques, improving my current ones, seeking ways to edge out a faster or more featureful or less bug-prone way of doing things.
And I have in fact shaped my life in a lot of ways to facilitate this. I practice Leetcode problems every day – for fun. I run through a daily list of flashcards I only see right before I’m about to forget them, just so I can keep my situational awareness of things I haven’t worked with recently. (Do I need to remember how to bootstrap a Spring Boot application? Handle CSRF tokens in Django? Do something weird with Kubernetes namespaces? It’s all in the Anki deck.) And, of course, I try to actually program every day in some capacity - sometimes just on the job, sometimes for hours in my spare time. (In this way I’m luckier than most athletes. You probably can’t play pickup basketball every day after age 17 or so and expect your joints to recover in time.)
So, why should I feel conflicted about spending a little bit of money to burn more calories every day, deepen my sleep significantly, and cut my sedentary time by a third or more when all of those things have provably and reliably improved my own ability to program? Mental athletics and physical athletics have a lot in common, and a little of one can vastly improve the other.
Next on my list: Get to finally using those gymnastics rings in the cupboard.