Going on tangents kills too.
I see this as a manager all the time, when dealing with ambiguous tasks, it’s all too easy to go off on a tangent that seems important at the time but, on further reflection, probably isn’t.
An inability to stay on task is one of the most common and most effective ways of stunting your career growth.
Here’s an easy way to stay on track. Ask yourself the following three questions first thing in the morning, after lunch, and at the end of your workday.
1. What is my highest-priority goal today
Note the question isn’t “What is my highest-priority task?”
The key word is goal.
The difference between a task and a goal is that a goal is higher-level. A goal typically consists of several tasks.
You should, at any given moment, know what your highest-priority goal is. If you don’t, ask your manager.
<brief aside> As an aside, your manager should be assigning goals, not tasks. Here’s the difference:
Goal: We need a way to track our application’s crash rate in the wild.
Task: Please integrate the CrashTracker library into our product.
One gives you a sense of ownership over the solution. The other doesn’t.
Make sure your manager is giving you goals. </brief aside>
Sometimes you have several high priority goals. Which one is the most important? That’s the one you should be working on.
2. Is what I’m doing right now directly related to that goal?
There should be no ambiguity here: your current task is either directly related or it isn’t. Be honest with yourself, and don’t pre-judge the answer.
In other words, at this stage, both yes or no are acceptable answers. There could be a very good reason why you’re doing something not directly related to your highest-priority goal. (A high-urgency, short-term ask for example. Or your co-worker came in asking for help. Etc etc.)
Which leads us to…
3. If not, why am I doing it?
This isn’t meant as a rhetorical question designed to self-shame. There could be a perfectly valid reason why you’re doing something that’s not the most important thing. Could be something time-sensitive, or something simple you want to quickly get off your plate. The point is, there could be reasons.
All I’m saying is you should know what those reasons are. If you have a good reason to keep going, keep going! If not, consider yourself lucky: you’ve just realized you’re off in the weeds and self-corrected. Your manager will love you for it, I promise!
It’s worth noticing that being that cognizant of the importance of your work makes you ready to tackle other requests as they come. Your PM wants you to implement that extra feature he’s excited about? Awesome! You’d love to help! How does the importance of this task compare against your current most-important-goal?
If it’s more important, and if your manager agrees, then perhaps it’s time to pivot.
If not, then you’ve just said no to your PM without actually saying no. Cool, right?
That, by the way, is the secret to always saying yes: it’s not about yes or no, it’s about prioritization. That’s your hidden developer superpower. You never need to actually say no. In fact, you shouldn’t. Let your committed priorities say that for you.