Run a line around your think
How do you do your best work?
When I was at Amazon, there was a running joke that your IDE changed as you progressed in your career (or, to use the Amazon parlance, as you leveled up):
- The novice developer’s IDE of choice is Eclipse.
- The intermediate developer’s IDE of choice is IntelliJ.
- The advanced developer’s IDE of choice is vim.
- The software architect’s IDE of choice is Microsoft Word.
- The senior software architect’s IDE of choice is Microsoft Outlook.
The punchline being that when you’re senior enough, you’re not actually writing any code — you’re writing, but you’re writing specs and architectures and high-level plans; and, eventually exceeding even that level of abstraction, being a conduit for others, managing your time and attention in the same way that a junior developer would manage a computer’s memory.
I think a common sentiment among inexperienced developers is that such a lot in life — being consigned to a work-week filled with meetings — is a cruel and pitiable fate. (I certainly used to think so. Maybe I’m just projecting.)
This week marked my one-year anniversary at TenantBase. I’ve started spending my time in more meetings, thinking more about KPIs than CLIs, but I haven’t stopped coding.
I don’t know what my role will look like a year from now. But I think my mindset has already started to shift from “I want to build this” to “I want to plan this”.
(Maybe that’s where I keep getting tripped up. The planning is the building.)
Technically speaking
Last week I talked about about adding custom subdomains (really I meant custom domains in general) and how it was an interesting problem where I didn’t really know how to approach a solution.
A week later: I approached a solution! It works, too: I’m using it here.
A funny thing happened on the way to the solution: I blitzed through a lot of the work for it yesterday, when I had an empty apartment and a playlist filled with four hours of tropical house to keep me focused. I got everything working: all of the I’s dotted, the T’s crossed, except for one strange and nondeterministic little bug that I couldn’t seem to replicate on my personal machine. I spent four hours working on it until I quit in a huff, hoping that it wouldn’t be too big of a deal. (It was causing something like 30% of all requests to fail, so it was a big deal.)
This morning, before I even had my first cup of coffee, I was going through my emails — filled with error notifications! — and took a brief glance at the codebase. Instantly I figured out the problem and five minutes later the solution was live.
I know this isn’t really a practical approach to things, but I’m increasingly convinced that if you can’t solve something in an hour you should just walk away and come back the next day. Time and distance seems to reveal a lot of things, technical or otherwise.
This coming week: a couple small pieces, probably. Whitelabeling; Intercom integration; cleaning up some technical debt from custom domains (it caused a lot of grossness, and there’s still sawdust everywhere.)
Three things I really liked this week
- A little girl’s explanation of what drawing is.
- The artwork of Katie Rose Pipkin.
- This series of tennis apparel shoots for Adidas.
Happy Sunday
I hope you set a PR.