Picking battles
Hello!
The past week I had a set of multiple competing priorities that had to get dealt with. I came to several points during the week where I needed to pick my battles.
At several points in my career, where my scope has grown or when more project ownership was required, I've had to take a step back and re-think my battles.
As scope grows, picking your battles becomes more critical. The sentiment of "not all battles are worth fighting even if you're sure to win it" is a good thing to remember as you navigate the priorities you're responsible for. I fail, but I keep trying to restrict the number of battles I pick.
This sounds obvious at face value. But it has been challenging for me to learn to pick my battles correctly, more of try, fail and repeat operations for me daily.
Win-win situations
Whenever there are "battles to fight," I think about if there's a way to avoid being their battles and converting them into win-win situations.
This has happened to me when teams external to ours need something to be done, and we usually already have a roadmap that wouldn't allow us to accept the additional work. But we can agree on an arrangement to unblock them and not derail our plans.
Is it worth it?
Another thing I ask myself is if the battle is worth it at all. Do I care about the outcome if I'm not involved? What do I lose by not fighting?
I've encountered this when a team is set on a solution, and I knew about the project too late. The answer might be adequate for the current context, so it might not be worth fighting to change it, and I ask them to document their decision and contemporary context so that it can be revised later if necessary.
In other cases, something in the present might have a lower impact in the long run, so it might not be the right moment to fight.
In software, even "short-term hacks" live forever, and things like Hyrum's law need to be taken into consideration when allowing a solution to go through.
Is this my battle?
Lately, with a larger scope, I've wondered if this is even my battle to fight. I could ask another person if it's their battle. Or if they care? Or could you share my concerns with the people involved but not step too much into the action?
Team ownership is a thing, and if we have a team in charge of something like CI, groups might be doing something I disagree with or that could be a more general solution. I would ask the teammates what they think about what is happening or if they're even aware.
Other times, teams are aware and keep an eye on it, but they might be waiting for other signals before jumping into action or attempting to make a change.
Your turn
Have you had recent times where you need to pick your battles? Let me know! How you've gone about it?
Happy Coding!
website | twitter | github | linkedin | mastodon | among others