23

How to work on multiple tasks in parallel efficiently?

Profile picture
Mid-Level Software Engineer at Taro Community9 months ago

Recently, I was required to work on multiple things in parallel. Like 1-2 features and couple of bugs.

In theory there are dead moments, like waiting 20 minutes for a build, that I can use to do something else. But even in those 20 minutes I feel like my context belongs to that task and it seems hard to switch the branch and investigate a bug while the build is running because of the context switch and when the build is done I have to come back to the previous task and re-switch context.

Also the pressure of knowing that I have to deliver multiple things is very stressing. Even though they might not be complicated things, the pressure alone of knowing that I have multiple items and the deadline is coming is very harmful.

Is there any "trick" or effective way to work on multiple items at the same time without feeling like "drowning" and to not be affected by the multiple deadlines pressure?

459
5

Discussion

(5 comments)
  • 16
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    9 months ago

    The time scale on which you juggle multiple projects is really important. IMO 20 min is not enough time to context switch to a new project. Instead, I'd use those 20 minutes to plan ahead on the same project:

    • What are the likely outcomes of the build/code change, and what will you do in each scenario?
    • Who are the people you'll need to get buy-in from?
    • What could go wrong in the project?

    The 20 min you have between builds is a perfect time to plan ahead with these questions.

    For multiple projects/features, I recommend doing that once the first project has reached a natural stopping point, e.g. when you're waiting for someone's review.

    See also:

  • 12
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    8 months ago

    If you're decent at context switching, I recommend using those 20 minutes to review a teammate's pull request (PR). If your team is following clean PR principles, then there should be a small PR somewhere that is easy to review.

    If you hate context switching, then I recommend digging deeper into your current task as Rahul mentioned. Waiting 20 minutes for a build? Then use that time to figure out how to thoroughly test your code and capture it into a test plan after the build's done.

    If you really can't come up with anything to do, just take a break. Go out for a walk or just close your eyes and rest for a bit.

    Is there any "trick" or effective way to work on multiple items at the same time without feeling like "drowning" and to not be affected by the multiple deadlines pressure?

    The easiest way to feel good about a deadline is to be far, far ahead of it. If a task is due in 2 weeks but you're already 95% done and there's 3 days of work left tops, then you're walking on sunshine. This is only possible if you first break up a task/project into digestible chunks/milestones. From there, follow standard productivity tips to move faster: [Taro Top 10] Time Management And Productivity

    This other discussion is an excellent read as well: "How to improve at multi tasking at work?"

  • 11
    Profile picture
    Senior Leadership @ Meta | Mentor | Coach | Tech Advisor
    6 months ago

    Balancing multiple tasks efficiently requires prioritization and effective time management. Start by listing and prioritizing tasks to visualize the workload and break them down into smaller, manageable sub-tasks. Use techniques like time blocking or the Pomodoro Technique to stay focused, and batch similar tasks to minimize context switching. Employ tools like task managers and IDEs for better workflow management.

    To manage stress, take regular breaks, exercise, and ensure adequate sleep. Practice mindfulness techniques to stay calm under pressure. Regularly review and adjust your workflow to identify areas for improvement and stay flexible with your priorities.

    • Prioritize Tasks: Use a list and prioritization methods to manage workload.
    • Time Management: Implement time blocking or Pomodoro Technique.
    • Minimize Context Switching: Batch similar tasks and use efficient tools.
    • Stress Management: Take breaks, exercise, sleep well, and practice mindfulness.

    One more thing, if you have different types of work like coding and project planning/scoping try to run the two in parallel. These tasks require different focus and you can switch between one and the other ensureing you are not overwhelmed.

    Finally, if you believe you would not be able to deliver all 4 feature, speak up! Speak to your manager or TL explain that you might not be able to deliver one of the tasks (lowest priority). To show seniority you can also come up with options, i.e. scope reduction of one of the features, getting another person to work alongside you, breaking your feature in phase 1 and phase 2 respectively still delivering but taking longer overall. Communication and visibility is important.