In Project Development Context Switching
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
In a typical project how many programming languages/syntax’s are you using 2, 3, 4 or more? In the Resgrid project we have C#, JavaScript, HTML, CSS, Razor, TypeScript and SQL. There’s a tax you pay switching languages, even if they are C based. If you’re a C# or Java developer and working in JavaScript how many times have you done equality with “==” instead of “===”? Just because HTML or CSS isn’t a ‘language’ you still have to conform to it’s rules, thus you need mental space to remember the rules and syntax. The more complicated the markup or language the worse the hit it (I’m looking at you XAML!).
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).
One thought on “In Project Development Context Switching”
Comments are closed.