I say “no” to tech plans. A lot of tech plans. Most of the time, if you ask my opinion about a tech plan, I’m going to tell you not to do whatever you’re planning. If product owners are involved the odds of me saying no go way up. And yet, few people dread asking me about their plans.
Staff Engineers can’t just say “no” and leave it at that. The power of no comes with responsibility. When I say “no”, I have to explain why, offer alternatives, and make myself available to work through emergent issues. When product owners are involved it is my responsibility, as a Staff Engineer, to help separate the product goals, which are fine, from the solution, which got a “no”.
Let’s break it down.
Explain Why
My expertise is in Scaling and Performance. I say no when the solution won’t scale, won’t perform well, or has problematic edge cases. Often, something that works fine for the average customer won’t work well for the largest 10% of customers.
When I say no to a design that won’t scale, I speak to real numbers. “That’s fine for a table with 1,000 rows. We have customers with a million rows in that table. They’ll be waiting minutes for a response from the backend.”
Offer Alternatives
Decades of experience doesn’t make me right, but it does give me a lot of experience to draw on. There were specific problems in the design that caused me to say no. Those problems are solvable. The solutions may not be appealing, but they exist.
If you have data centers all over the world, a central database full of global data is going to be a problem. There are lots of alternatives depending on why you wanted global data in the first place. Alternatives are a conversation, not prescription.
Be Available For Emergent Issues
Now that I’m part of the solution, I’m responsible for helping with emergent issues. As the project continues, new constraints will emerge and new requirements will be discovered. Some of the emergent issues are going to impact Scale and Performance.
Things change and the old recommendations may become invalid. Staff Engineering recommendations have to be living documents.
Saying No Should Be More Work!
It would be much easier to say “Looks good to me!” If I pretend to be on board I’m no longer responsible. I have sabotaged the asker, but they’ll be too busy fighting endless fires to realize that I could have stopped everything from going wrong.
For Staff Engineers, saying no to a proposal comes with an implied offer to help.