Most developers are acutely aware of context switching. Your working on a new feature in a sprint when the business comes to you with a urgent production bug from last release. You have to switch contexts from what your working on, remember what your did last release and figure out the problem. That’s a pretty big context switch.
But what about the context switching you do that you really don’t realize is happening? I never really noticed it when I was working full time in the .Net stack, it was just the norm. It wasn’t until I started playing around with the MEAN stack and Meteor that I realized how much context switching I was actually doing elsewhere.
File/Project/Solution Context Switching
When I first started developing I was addicted to Visual Studio Projects and even Visual Studio Solutions. Even simple solutions would have a half dozen projects before there was a line of actual code.
But what’s the harm? Again it’s context switching. Your business logic project will be different then your MVC website or API project. Figuring out where things go and the structure takes mental space. This is especially true if you have ambiguous project names, for example “BusinessLayer, BusinessLayer2, BusinessLayer3”.
Language Context Switching
Medium/Device Context Switching
I really like Cordova for mobile development. There are some caveats to when it makes sense but the promise is amazing, use your HTML, CSS and JS to develop on device mobile apps. It’s just a web browser running a local web server right? The same about responsive websites, just have 1 website and it dynamically changes to meet the device screen requirements
But you just can’t take something designed for a full desktop web browser and just assume “Yep that’ll work fine everywhere”. Same for a Hybrid app, iOS, Android and Windows Phone all operate very differently switching platforms, rendering engines, etc all take pretty major context switches.
Just remember that there is more to context switching then just switching from your active work to a bug in a 1 year old feature or going from a product to another product.
Resgrid is a SaaS product utilizing Microsoft Azure, providing logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search and rescue, CERT, public safety, disaster relief organizations, etc. It was founded in late 2012 by myself and Jason Jarrett (staxmanade).