a good plan, superseded
Here's how I think about strategy. Strategy is an orientation, plus the steps you think will get you there. The orientation is durable. The steps are your proximate objectives - that you need to confirm, deny, rethink as you learn.
I shipped something big this week. Not alone - obviously - me, my one teammate, our intern, and Claude. We built an all new Twill. Escaping the no code platform for a more normal infra setup - a postgres db, a Go API, a Next.js frontend that means we can stop evaluating feature requests against a bad data model and a system we wanted to deprecate, and start evaluating them on business value.
It's always exciting and terrifying to launch something. Exciting because as developers, don't we love to ship? Terrifying because this is when the theory and the test suite and the internal users meets production, and there is always something.
The other big feeling for me is always relief. Relief of being on the other side of the big project. Relief at the real data rather than the theory. Relief at the dramatically reduced complexity of evaluating what the legacy system really needs versus what the new one should do. Relief that my default answer no longer needs to be "no" or "let's discuss after this" but instead can be about slotting things into the queue. Relief that all the work is now visible.
This has been some time in the making. Clear it was needed in December when I started getting more involved, but some things needed to be unblocked first. Really starting to move in April. And now live. About four months of active development, during which I had to get to grips with a lot of things I had little experience with.
AWS was the big one. The plan was to put the whole backend there. Then when I met the reality of working with AWS, I rethought it - worked out that Render and Neon would be cost comparable and much easier to work with, so we kept AWS bounded to file storage.
At the start of thinking about how to do this, in January, I wrote a migration plan. Step by step, derisking, running things side by side as much as possible. It was a good plan - at the time. Textbook migration strategy.
We didn't follow it. Claude compressed the timing. The reality of the data model mismatch (between basically csvs and proper Postgres) made some of it too difficult to be realistically worth it. So we shipped on a slightly riskier profile than I would have liked, put in round the clock monitoring instead - which for a 2 person team is rough, luckily we are split between Ireland and PST, I guess.
These are implementation details, sure. They're also proximate objectives, rethought, reworked, updated to meet the reality of the work.
I've always been frustrated by how being strategic and being a good executor can be seen as separate things. What's the value of a strategy you can't get done? Probably - definitely - exacerbated by who tends to be seen as strategic and who does not... but that's a different letter.
The best executors I know, they're strategic. They have to be. You don't get sustained execution without that. It requires you to look ahead, see what's coming, get ahead of it. That is a strategic point of view. Communicating that... well that is something else. It's hard to get people interested in problems that haven't happened yet. There is strategy in the opportunity, of course. But there's also strategy behind the thing that runs smoothly, undramatically, and makes the opportunity possible to think about.
I think leaving the no code drag and drop style platform is always going to be hard. What's interesting to me is that it's now possible. This is why I'm optimistic about AI. Because it took the thing that was obviously needed, but how do you possibly do it with two people, one part time? How do you justify the cost to the business? And made the math make sense, and got it out in four months.
We're already discovering things in production. An embarrassing number bug, and no tests, despite my rules in Claude.md. No doubt there will be more.
But we're living at a different baseline now. Many more things are possible. It's a new beginning for us as a platform. This is the 2.0.
For now, I'm returning to my monitoring, bug fixes, and another deep sigh of relief.
We shipped it. Now onto what's next.
What I've been doing
I spent a week on a cruise around the Norwegian fjords with my entire family. Which doesn't sound like a relaxing experience, but despite my ambivalence about cruise life, Norway is beautiful and I really had a lovely time. My first real break this year.
DRI Your Career is quieter over summer - who wants to think about career development when it's sunny? - but we're working on an exciting autumn, with multiple partner courses in the works. Course audio is now in Apple Podcasts too. A real feed, in a real podcast app, authenticated per person. Enjoying my infra engineer era.
Jean and I talked about work-life balance and more on the Engineering Leadership Podcast. I don't believe the route to balance is doing less work. I think it's doing more life - and the busy weeks when you're tempted to cancel everything fun to accommodate? That's when you need a schedule in your personal life the most.
The DIY MBA continues. My latest business accounting course complete and I've had to accept: it's time to learn marketing.
I also wrote about six months of trying to measure my way out of the ick of self-promotion. The engineer's response to feeling bad about something: what can I build, and what data would make the feeling go away. Mixed results, but progress.
Continuing to expand my coaching practice. When I was doing it alongside my full time job I thought about it as my "profitable hobby", kept small by my time and emotional energy. It's becoming something bigger now, and I'm really enjoying working with more people.
Finalising autumn speaking. I'll be at next.app, and probably one other.
What I've been reading
- It's summer, which means lots of new releases. Two of my favourites: The Someday Garden by Ashley Poston. I enjoy the magical realism and read everything she writes as it comes out. I thought this one was beautiful. Ungodly Rich by Katharine McGee - the Greek gods as a modern billionaire family. She's great at taking a wild premise, and building a world around it that you can lose yourself in.
- Churn by Claude Steele. I bought it the day I saw it, then left it unread for months. Chapter one explained why. Stereotype threat is the impact, churn is what happens inside you while it's happening - and it's the label for why I'm so much less strung out lately.
- Invisible Women - a birthday gift I'd been sitting on. It's infuriating how much data is missing, and how the cost of considering women is often so low compared to the returns - in so many examples, from the order of clearing snow to the design of crash test dummies.
- Using AI to write better code, more slowly - I do a lot of the same wearing an IC hat, and I think it's good practice. Worth thinking about how to systematise it at a team level too: discipline encoded in your process is what makes a codebase increasingly agentable.
- Be more strategic, and other lies - I like how "Explicitly. Out loud." is emphasised here. Being seen as strategic is partly what you do, but often more about what you're seen to be doing. Which unfortunately means talking about what you're doing, and why it matters.
Add a comment: