You’re reading Register Spill, my weekly newsletter in which I share thoughts I can’t keep in my head.
In The Bear’s season 2 episode 7 (which I highly recommend and could and probably will write more about), there’s a scene in which one character asks the other why they’re so into working front-of-house in a restaurant. Their reply: „every night there’s a chance to make someone’s day” It reminded me of something.
As a teenager and for a few years in my twenties and thirties one of my hobbies was 10 meter air rifle shooting. In case you haven’t been to one yet, let me assure you: Bavarian small-town shooting clubs with air rifles are probably nothing like you imagine them to be and air rifle shooting has as much to do with “shooting guns at the range” as seen in US movies as Olympic weightlifting has to do with bodybuilding in a gym. Just look at this picture – that’s what I looked like as a teenager on Friday nights, you figure out the rest.
Here’s how 10 meter air rifle works: you have 40 shots, the target has scoring rings from 0 to 10 points, perfect score is thus 400. My personal record is, I think, 378. I hovered around 360 most of my shooting career. 360 means that the average points per shot is 9.
Now here’s the thing. Say you want to shoot 360. If you take a shot and go below 9, ding ding ding, you are in debt, you have to catch up because you’re not on track to reach 360 anymore. Get a 7 and you have to shoot two 10s to make up for it. Shoot a 3 and that 360 looks far, far away.
Ultimately, that (and the long drives to the club house after I moved) was one of the things that turned me away from the sport: I couldn’t handle that making a mistake at the start meant that I’d then would have to to either catch up or know, while taking the remaining shots, that you won’t catch up. I like under-promising and over-delivering. I despair when over-promising and having to deliver.
Conversely, that’s why I think I like writing code and working with software so much. Because with code, it’s different.
Sure, you can back yourself in a corner when writing code. You can build something today and forget how it works tomorrow. There’s legacy code, tech debt, code as undocumented as a barn full of hay and ready to go up in flames just as so.
But there’s also always a chance.
Code isn’t chiseled in stone. It’s malleable. It’s written on blackboard and you always have sponge in hand to wipe it all off.
Every line you write or change – a chance, a new shot, to write something great. Write a 1000 lines of code tomorrow and you have a chance and a thousand single ones to write something great. The score is reset every time you crack your knuckles.
Every line you can make great. What that looks like depends on the line your cursor’s on. Maybe great means to make it as succinct as possible. Or maybe you can get the formatting just right. Or make it as clear as possible. Or the most efficient version it can be.
There’s no clock, there’s no score; you get a new attempt every time you touch the keys. If you start off bad and write 10 awful lines of code, tomorrow you get 10 chances to improve it.
That’s why I’m so into it.