Are you juggling multiple projects at the same time? So am I! Context switching for developers — especially between multiple projects with different tech stacks, clientele, and product concerns — can be difficult. I’ve dealt with this for a little while now and have found a few simple yet helpful ways of switching between my projects with as few hiccups as possible. Here are my methods.
Do one thing at a time!
This seems like a no-brainer right? In theory, it is. But, in practice, it isn’t so simple. What I mean is that you should have clean breaks between your projects. Don’t let them bleed into each other as you work. I recommend explicitly allotting chunks of time to your projects and following those allotments as strictly as you can.
What this looks like for me currently is spending one full day a week working for one of my clients and the other four days dedicated to my other client. When I’m working on my one-day-a-week project, I dedicate all of my time to that client and project. If something comes up from my other project, I take note of it and address it when I’m back on that project.
You may be in a position where you can’t block out full days for one project, but I highly recommend trying this even if it’s just hour-long chunks of time to go heads down for one of your projects. I find that this allows me to give all of my time and attention to the task at hand. If I try to jump back and forth between projects too quickly, it is hard to give it my all.
Break your work up into small deliverables.
Say you’re working on a feature for one project and know it’s almost time to switch contexts. Try to break your feature up into something even smaller you can get merged to your main development branch. I find that if I leave a work-in-progress feature for a few days, it’s mentally taxing to get back up to speed on it when I finally come back to it. Giving yourself a clean break until you come back around can ease this burden. If you’re working with other developers, this can save you a lot of heartache too if lots of other work gets merged in while your work-in-progress (WIP) branch gathers dust (and more importantly, conflicts).
Sometimes, though, it just isn’t feasible to find a nice, clean break in your feature before hopping to a different project.
Leave yourself notes.
Again, this might seem like a no-brainer. But trust me. It’s huge. As much as we’d like to think we’ll remember what we were thinking halfway through a feature when all the builds and tests were failing, we probably won’t. At least I know I won’t. If you absolutely have to leave something in a really rough WIP state, leave yourself detailed comments about where your head was at when you were working on that. Your future self will thank you. If another developer has to pick up where you left off, I’m sure they will thank you too.
Context Switching for Developers
These are some simple, yet very effective ways to jump between projects elegantly. Try these out if you’re feeling some stress or anxiety juggling multiple projects, and let me know if they help! You may even start to enjoy the context switches and see them as a breath of fresh air instead of something to worry about!