Leading a small dev team without getting in the way
For a long time I did all the building myself, which works right up until it doesn't. At some point there's more work than one person can hold, and you have to bring in other developers. That transition was harder for me than any technical problem, and none of the difficulty was technical.
The instinct, when you've built everything yourself, is to hand over a task and then hover. Review every line, redo anything that isn't how you'd have done it, and quietly conclude it's faster to just do it yourself. That instinct is a trap. It burns out the people you brought on, and it caps the whole operation at the size of your own two hands.
Learning to delegate properly meant learning to give people the outcome and the context, not the keystrokes. Here's what this needs to do, here's how the rest of the codebase thinks, here's the standard, now you own it. Strong conventions help enormously, the same thing that makes an AI agent useful makes a new developer productive. When the patterns are clear, people can be trusted with real responsibility quickly, and they do better work because they're solving the actual problem rather than guessing at my preferences.
The other half is being technical enough to lead without micromanaging. I can read someone's work and tell whether it's right, have a real conversation about a tradeoff, and know when "good enough" genuinely is. You can't fake that, and you can't lead developers well without it. But knowing when to hold the line and when to let something ship the way someone else built it is judgment, and it took me a while to earn.
The version of me that had to do everything was more skilled with a keyboard. The version that can hand something over and trust it gets done is more useful. That was a harder skill to learn, and a more valuable one.