35

How to NOT drop tasks assigned?

Profile picture
Mid-Level Software Engineer at Series A Startup2 years ago

I have been repeatedly told that I have a tendency to drop things when doing context switch between multiple tasks. How to manage my tasks effectively so that I can minimize this pattern?

3.4K
4

Discussion

(4 comments)
  • 36
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    2 years ago

    I feel this question! (lots of dangling sentences and incomplete Slack messages...)

    What helps me:

    • Put every task, even small ones, into a task backlog. Some people call this a "second brain" -- the idea is that you shouldn't use your brain to remember what to do. That should be in your Google Doc/Notion/whatever.
      • Before: Read a Slack message, type out a partial response, and then forget about it
      • After: Read a Slack message, make a note in my backlog to reply, and then move on with the original task I was working on
    • Figure out how to (1) lower the stakes of dropping things or (2) give yourself more margin for error. One way to do this is to have more frequent check-ins or deadlines on important tasks. You can do this through a calendar invite or an accountability partner.

    Here's the full masterclass on productivity and managing your time in tech.

  • 34
    Profile picture
    Staff Software Engineer [E6] at Meta
    2 years ago

    Thank you for asking. I have been there multiple times.

    Here are a couple of things that helped me:

    1. Since my team has a lot of random work, I started to reserve 20% of my time for that work. It helped me take up new tasks without overworking or dropping existing ones.

    2. Inviting the team lead and manager to make decisions on priority and being upfront about what can and cannot be done. It will help you and your lead/manager understand your workload and expectations.

    3. Dividing your weekly tasks into three categories can help you track how many items you have in the high-priority bucket. If it goes above your threshold, push back and invite lead/manager in re-prioritizing.

    • - High priority
    • - Low priority
    • - Long term
  • 27
    Profile picture
    Senior Software Engineer and Career Coach
    2 years ago

    Great question. As an avid context switcher, I have some tips for this.

    • Schedule time on your calendar to yourself to specifically work on something. Reward yourself if you manage to spend time doing it or punish yourself if not (like doing 20 pushups)
    • Look up the GTD system and Clark Kegley Notion templates. I personally have not tried them but they help for stuff like this. The general idea is that you track what you plan to do in a couple buckets that make it easy to just pull from the right "queue."
    • Set slack reminders. You can use the "remind me later" feature in Slack to not let things slip.
    • Try to be observant about when you said you would do something but haven't got around to it. Most times the other person just wants to know you didn't forget about it, so you can let them know you haven't forgot but haven't got to it. For me, I have literally just a bullet list at the top of my Notion inbox and I check it every day or two. If I see something is on there that I know someone has been waiting on for awhile, I'll DM them to let them know I didn't forget

    Hope this helps!

  • 23
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 years ago

    Such a classic engineering question - I 100% feel this. I have a couple thoughts here.

    Minimize Context Switching

    I know that this sounds obvious, but you'll often be surprised at what you can get away with here. As a mid-level engineer, your schedule shouldn't be too packed with meetings (if so, try removing some), so I highly recommend setting up focus blocks. Tactically, it should look something like this:

    • 1 to 2 days where you just get to code
    • 1 to 2 days where you have all your meetings
    • Remaining days split into whatever other tasks you have with themes for each (e.g. "This day is my bug-fixing day")

    We talk more about focus blocks here: A Powerful Tool For Software Engineer Productivity - Focus Blocks

    Put A Due Date On Everything

    The good news is that this problem can really be helped with tooling. Every tool like Asana/JIRA allows you to put a due date on tasks, and you can customize how it alerts you (e.g. approaching the due date sends you an email/Slack message).

    And if you don't have due dates, then this might be the underlying problem. Push your manager to clarify expectations, so you two can work better together.

    Plan Out Your Day

    Some days I'll just have like 5+ tasks and I can't de-prioritize any of them away. In this case, I'll write a small checklist on a local note, and just go through them one by one with a rough idea of how many hours each one should take. Having the simpler format is better than looking at Asana/JIRA board spaghetti.

    Just Drop Stuff

    No seriously. The "trick" here is to do it with alignment from your manager:

    • Tasks generally follow a power law where 80% of the impact is achieved through 20% of the tasks
    • Figure out what those 20% are by analyzing the tasks yourself, proposing a list, and then reconciling it with your manager
    • Drop everything but the 20% of actually important tasks
    • Continue doing this exercise whenever you're feeling overwhelmed - I have worked with so many engineers who were working on tasks they thought they had to do, but their manager didn't actually care about them. I have fallen into this trap myself many times

    Ruthless prioritization is a crucial survival skill at any fast-moving company, and a Series A startup will generally be fast.

    Here's some other resources I really recommend: