I'm a Systems Reliability and DevOps engineer for Netdata Inc. When not working, I enjoy studying linguistics and history, playing video games, and cooking all kinds of international cuisine.
Bit of a different approach here, but I stay focused by not working on the same thing for too long. It's rare for me to have fewer than half a dozen things on my task list, so I take something similar to the following approach:
Pick whatever the highest priority task is and start with that.
Work on that task for some unit of time (often an hour or so) or until it's completed (whichever comes first), then note how much time I've spent on it.
Take a short (often 5-10 minute) break, then pick a new task as follows:
If something urgent came up, start working on that.
If there are tasks with fixed deadlines, pick the one with the highest ratio of time remaining until the deadline to time spent working on it (IOW, whichever one I've spent the least time on relative to how soon it's due).
If I'm not having issues focusing and nothing urgent has come up, continue with the previous task.
Otherwise, pick the task with the least time spent working on it, weighting towards higher priority tasks.
Return to step 2.
Of course, the logic I use is a bit more complicated than what's listed above (I also factor in how much longer I think a task will take and give exclusive priority to anything past it's deadline, as well as shifting the time unit based on priority (giving longer time units to higher priority tasks)), but you get the general idea. Aside from helping me stay focused, this also helps ensure I don't forget to work on things, and helps make sure people don't end up feeling like I'm ignoring them.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Bit of a different approach here, but I stay focused by not working on the same thing for too long. It's rare for me to have fewer than half a dozen things on my task list, so I take something similar to the following approach:
Of course, the logic I use is a bit more complicated than what's listed above (I also factor in how much longer I think a task will take and give exclusive priority to anything past it's deadline, as well as shifting the time unit based on priority (giving longer time units to higher priority tasks)), but you get the general idea. Aside from helping me stay focused, this also helps ensure I don't forget to work on things, and helps make sure people don't end up feeling like I'm ignoring them.
Your approach makes a lot of sense, thanks for sharing!