How to deal with context switching?
Posted by ConcentrateSubject23@reddit | ExperiencedDevs | View on Reddit | 24 comments
SDE II at Amazon, 4 YOE.
I’m in charge of 5 different projects at work now, with each one a “high priority”.
AI has decreased the amount of time and focus required to make a feature, but as a result has increased the need to switch from thread to thread.
I’m sure others are dealing with this now. How do you manage having to juggle many more projects at once? Or do you not?
Monowakari@reddit
I'm so excited for when these companies start imploding from slopification
Monowakari@reddit
Keep going till you or the company explodes
xamott@reddit
You simply block off time for each one. if they’re equal priority tackle all of them each day. You’re always gonna be juggling stuff more than you want to. You’re always gonna feel like there’s not enough time to get things done. You’re always gonna feel like you’re never gonna catch up on your to do list. So you just get used to that feeling.
nsxwolf@reddit
You don’t. You just deliver slow and inconsistent work.
x-jhp-x@reddit
I remember asking a former coworker what his current startup was like. He said, "Our CEO plans to overtake our competitors with his consistent and exemplary ability to over promise and under deliver."
moreVCAs@reddit
i guess the trick is to promise faster than your board realizes you’re not delivering anything
gfivksiausuwjtjtnv@reddit
How to get stack ranked out of a job
lenswipe@reddit
This is the way. More slop, less quality. The shaaaaarreeeeeehooolllddeers demand it!
x-jhp-x@reddit
Schedule your time! I also mean that quite literally. Make a private calendar, and schedule lunch/sleep/whatever in it alongside work. Use 15/30min blocks. If you need to coordinate with other teams and people, schedule that as well, and also chunk off time on your work calendar to focus on the tasks that you need to do.
Also talk with your manager, and be sure to ask them how you should prioritize. Come up with a plan as to what happens if things fall behind/out of schedule. Hopefully you won't need it, but thinking ahead will save you time and brainpower for focusing on your critical tasks.
Task swapping requires additional overhead, so plan that in your schedule as well. If you can batch roles together, do it.
subLimb@reddit
Also, do it in a way you can document. That could be as easy as helping your team mate directly from the shared slack channel. But lots of this stuff happens via DMs or 1on1 calls. So do yourself a favor and document when you help others on the team so you can use it when it comes time for performance review.
Cultural_Wheel_6936@reddit
Decompose and delegate work as much as possible.
xsdf@reddit
Does a SDE II have even people to delegate to?
Boonbzdzio@reddit
Usually operating system handles that for you
gfivksiausuwjtjtnv@reddit
I would love to know. I have ADHD so my problem is massively amplified and it’s exposed some serious gaps in my own organisational systems (which is like, no organisational system)
effectivescarequotes@reddit
I don't know about Amazon, but at a normal company, you'd check with your manager to confirm the priority and then come up with a plan that you communicate to your stakeholders. This will not eliminate context switching, but it might help you schedule it.
Another way to think about this is everyone needs a story to tell their manager to keep them off their back. Generally, that means they need a timeline.if you tell them Tuesday, they can say to their manager, team blocker says they'll be done Tuesday, then we can release on Wednesday.
The worst way to handle it is how one of my contractors does it. They'll tell me today or tomorrow, then after a beat, maybe Wednesday. Then I'll say, "so Wednesday" and they'll say, "yeah, Wednesday or Thursday." Don't do that.
necheffa@reddit
Sounds to me like you have 5 normal priority projects. :-)
It helps that my current manager is actually competent so we talk about priorities during 1:1 but during the few years where I did not have competent/consistent management I just basically did whatever I wanted and set my own priorities. After all, I am the technical expert.
roger_ducky@reddit
If they tell you everything is the same priority?
Finish one first. Pick the easiest.
If they yell at you for picking it and told you to switch to something else instead? Thank them and ask for that in writing, then switch.
Goal is to either knock out the projects in least effort first order (so your backlog shrinks faster) or make them prioritize properly.
Either way, reduces your context switching.
davwad2@reddit
High priority and priority have lost their meaning for me at work. What's number one this week falls to number four the next week and number eight the week after that.
Anyway, management seems to want multiple things at less than 100% done versus one or two things 100%. I just juggle whatever the last two or three things were high priority in the last 48-72 hours. Then they wonder why stuff isn't getting done.
BoringBuilding@reddit
The only way I have been able to deal with this is ruthlessly occupying a private calendar and becoming increasingly reliant on personal knowledge management systems (pick whatever flavor you like.
inqark@reddit
First I’ll say that if everything is high priority, nothing is. That said, as much as AI lets us run multiple tasks at once, you are still single threaded. So the best you can do is try to focus on one, and switch when there’s a natural stopping point. That could be when you put it out for PR review or do enough to commit a change to that branch. Whatever it is, you’ll usually notice that you can catch your breath a sec.
Either way, you can’t juggle everything at once so something has to give. I usually tackle “simultaneous” tasks by deciding which would yield the most gain from some slice of time over another. If I know I have a solid spot to start writing tests, while another task needs some planning still, I’ll focus fire tests and get that over to PR, before starting on the other task that needs more planning. I’ll do this all day, reranking tasks as I go.
None of this is obvious, and you’ll gain an instinct in these things with experience. Don’t stress too hard about not doing all 5 at equal effort. Just do your best and trust your judgement, but also don’t overwork to meet some unreasonable timeline if you can help it. Else that’ll become the expectation forever and you’ll be that person that you can throw 5 high priority tasks at and they’ll kill themselves to do it. Make sure you take care of you in all of this.
Exciting_Door_5125@reddit
I write down everything and use Obsidian, AI, and linting for keeping things neat.
grizzlybair2@reddit
So do you have people under you to delegate work to?
Regardless though, 4 "high" priority projects actually mean none of them are priority. Someone higher than you should be able to say what the actual priority is. We have 3 "high" priority projects right now and yet when my team rolled off of 1, my higher ups couldnt tell me what we would be working on for 3-4 weeks because of the constant infighting between them. Took them like 2 more months to really say we have a 1a, 1b and 2 and everything else is off the plate (yet they won't tell product team this who is pushing these other projects).
MoreHuman_ThanHuman@reddit
discipline, focus time per project, tracking goals and incremental deliverables
scrub-muffin@reddit
Great question.