Here is a piece of advice I often give to people who are a few years into their career.
Very often when people start accumulating a few different experiences, educate themselves, and grow in confidence, they start providing more and more feedback and ideas. People form themselves an idea about how things should be, see the gap and start pushing to close it. That can be on process, on architecture, on infrastructure.
Often it is heartbreaking to say no to any of these, because they are good ideas, feedback that you support yourself. But we work in finite environments, where capacity is limited. You need to make decisions base on priority ; determine what will be worked on, and by elimination, what won’t be.
The advice goes as follows: The hardest thing about making a decision is that you have to say no to something, and often it is stuff you’d love to say yes to.
If you are following the critical path to deliver a minimally valuable thing as soon as you can, by definition you will often work on something at the very time you start actually needing it. Sometimes it can feel like we are always play catchup1.
Understand what the priority is, evaluate the ROI for the ideas you propose, determine whether the timing for it is the right one. If your idea is not kept, ask why, don’t take it personally, disagree and commit.
See also: It is always about priority
I don’t like the claim: “I proposed this a while back, why are we doing this only now?!”. Very often dropping an idea in a meeting is orders of magnitude easier than implementing it ; and back then might not have been the right time to do it. ↩