Cognitive friction and context switching

Did I write about this already? I can't remember, so if I did, it's happening again lol. Computer Systems was a required class for my undergraduate degree. It was a good class, and quite interesting, but also very difficult. Regardless, I will always remember two concepts that Dr. Roper stressed -- 

The first one is to minimize context switching. It is often better to batch up related tasks into one big block. For example, today I started by doing algorithm review then launched straight into web dev for work. Of course, if you're a bit of a polymath with a wide variety of interests, this doesn't always apply, but it's a nice principle to keep in mind. 

There is something to be said, too, about working in short bursts. For example, I only had about 45-50 minutes between dinner and band yesterday to work on my rising bubbles effect for Cenote, but the anxiety of that time constraint forced me to push and get a lot more done. However, I still didn't context switch except for a brief break in the middle. The idea is to stay focused in bursts and try to batch up related tasks. And this brings us to our second point -- 

Pushing past cognitive friction

This is without a doubt the most valuable concept I learned in undergrad. You are capable of learning and understanding WAY more than you think. However, you have to push past cognitive friction to actually get there. 

Cognitive friction is the mental version of your body sending pain signals when you are running a hard workout. I don't mean injury pain, just "owww this hurts, go slower!" Your body wants to conserve energy, and it will do everything possible to try and get you to go slower (unless you happen to be listening to Children of Bodom, Follow the Reaper album). 

Your brain does this too. It doesn't want to work harder than it has to. It wants you to get distracted on social media, or zone out, or stare blankly at a page "reading" without actually processing, or whatever, instead of tackling challenging concepts. You might even be forcing yourself to try and do a problem but you can't seem to push your brain past it. 

Like in running -- you're not sitting on the couch, you're out there doing your interval workout, but your body is fighting you. Similarly, you might be on the computer actively trying to solve an algorithm, but your brain is fighting you. "This is too hard." "This is taking forever." "I don't get this stuff." "Why do we have to do this?" Instead of actually trying to solve it. 

When this happens, you have to acknowledge it, then pump up your adrenaline. Artificial deadlines are great for this. With your adrenaline up and your mind focused, realizing that you can push past this...You will. 

I was stuck for multiple days on a fairly simple CSS ticket. But it had to do with some weird flexbox settings and I was just mindlessly editing attributes and wondering "dur hurr why doesn't this work" instead of actually trying to understand what was going on. Then I would just get distracted on the unholy trinity of Reddit, Facebook, and Personality Cafe. This is actually a KEY sign that you are experiencing cognitive friction, just tweaking parameters and variables mindlessly in the hopes that something good will happen, then your mind checking out and saying "nah, internet is better". It doesn't work, and you will end up tired and pissed off without a solution AND without having any fun at all. 

I spun my wheels like this until a coworker asked me how my progress on the ticket was. I explained my issue, and kept spinning, until I finally got frustrated. I knew I could figure this out, and I was tired of being stuck on the same dang ticket! So I pushed myself. I pushed forward through the stupid ADHD brain fog and actually dug into how flexbox worked. And as usual, I only had to understand a few basic things about how flexbox works with width and max-width (which I've already forgotten lmao) to actually change the variables to do what I wanted. 

And I did have to jack with the variables. But I had a purpose doing so, and an idea of what would happen when I jacked with them. 

Regardless, I finally pushed through the cognitive friction and got it working. It might need more adjustments depending on whether or not it gets through code review, QA, and possibly UX review. But it doesn't matter. I made it through the gate. I HAVE BENT FLEXBOX TO MY WILL. :P 

TL:DR; notice cognitive friction when it occurs, and stop it. 

Comments

Popular posts from this blog

Unleashing my inner Disney Princess ✩₊˚.⋆☾⋆⁺₊✧ at the 2024 Disney Princesses Half Marathon

The 20-something types of Computer Science majors

The Evenstar