Cognitive Load and Your Development Environment

Rate this content
Bookmark

There's lots of information out there about reducing cognitive load for users, but what about developers? This talk will cover Cognitive Load Theory, how some disabilities affect it, and designing a development environment around it.

This talk has been presented at C3 Dev Festival 2024, check out the latest edition of this Tech Conference.

FAQ

Cognitive load refers to the amount of available memory and cognitive resources required to perform a task. It is the mental effort needed to process and store information.

Cognitive overload occurs when a task requires more cognitive resources than one can sustain. Factors such as task complexity, presentation of information, and external conditions like lack of sleep or physical discomfort can contribute to cognitive overload.

External factors such as lack of physical resources (food, sleep, water), physical discomfort, emotions, chronic stress, and disabilities can reduce the cognitive resources available for a task, thus increasing cognitive load.

Disabilities can both decrease available cognitive load and increase the cognitive load required for tasks. For example, sensory processing disorders and learning disorders like dyslexia can make it harder to process information, requiring more cognitive resources.

Intrinsic cognitive load refers to the inherent difficulty of the concept being learned. For example, rocket science has a higher intrinsic cognitive load compared to simple arithmetic.

Extraneous cognitive load refers to the difficulty related to the way information is presented. Poorly organized or overly complex presentations can increase extraneous cognitive load.

Germane cognitive load involves the mental effort required to process information and store it in memory. It is about understanding and remembering the information.

Instructional design can reduce cognitive load by presenting information in a clear and organized manner, considering the audience's needs. This includes using multiple formats like diagrams, mental models, and breaking down complex information.

Context switching is detrimental because it forces the brain to repeatedly erase and rewrite its mental notes, which is taxing and inefficient. It prevents deep focus and increases cognitive load.

Strategies to manage cognitive load include taking physical and mental breaks, reducing context switching, using organizational systems to declutter your mental whiteboard, automating tasks, and optimizing your development environment (e.g., closing tabs, turning off notifications).

Abbey Perini
Abbey Perini
19 min
15 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Cognitive load is the thinking load that can lead to cognitive overload. Disabilities can increase cognitive load, and reframing tasks can reduce it. Information presentation affects cognitive load, with intrinsic, extraneous, and germane cognitive load. Focus and context switching should be managed to optimize workflow and reduce cognitive load. Opening a PR can be simplified with task automation, and optimizing workflow involves reducing distractions and utilizing tools. Prioritizing personal coding skills and reducing cognitive load are key to success.

1. Introduction to Cognitive Load

Short description:

Hi, my name is Abby, and I'm here today to talk to you about Cognitive Load and your development environment. Cognitive load is basically your thinking load. Cognitive overload is triggered by a task or tasks requiring more cognitive load than you can sustain. Many factors determine how much cognitive load you can sustain before hitting cognitive overload. Aspects of the task itself, the way information is presented, the amount of information, and the complexity of the information all affect cognitive load. External factors like lack of physical resources, physical discomfort, emotions, chronic stress, disabilities, chronic pain, and memory-related conditions also influence cognitive load.

Hi, my name is Abby, and I'm here today to talk to you about Cognitive Load and your development environment. I have a blog that has all the information in this talk and more, so if you're looking for more information about something I say, like documentation or just more detail, it's probably in the blog, as well as how the people who study this apply it to real day life and more. So I have the QR code here with the link to the slides, and I'll drop all of this in the Discord during the Q&A session as well.

So what is cognition or cognitive? These are fancy words for thinking. Cognition is the noun and cognitive is the adjective. So cognitive load is basically your thinking load. In other words, the amount of available memory and cognition resources you have. In other words, you only think about so many things at once, and you can only remember so many things at once. Cognitive load is also the term for the amount of memory and cognition resources a task requires, because in psychology, we can't make things easy.

Cognitive overload, on the other hand, is triggered by a task or tasks requiring more cognitive load than you can sustain. You are probably thinking, wow, this is a lot of fancy terms, but you're probably familiar with the sensation, which is when I would play this video for about 40 seconds of constant notifications. So after hearing all those constant notifications, you may be thinking things like, which notification would I even respond to first? How am I going to break down all of those notifications so I even know what I need to respond to? And those are the kinds of questions you start asking yourself when you enter cognitive overload.

Many factors determine how much cognitive load you can sustain before hitting cognitive overload. Aspects of the task itself affect how much cognitive load a task requires, so how long you have to focus. The way information is presented to you, the amount of information, and the complexity of the information itself are all going to determine how much cognitive load a task requires. External factors affect cognitive load that is available to you. Lack of physical resources, if you need food, sleep, water, you're probably going to be dedicating at least a portion of your cognitive resources to getting those things rather than dedicating all of your cognitive load to the task at hand. Physical discomfort, like pain, very similar. If you are in pain, you are probably thinking about it, which means those resources are not resources that you can dedicate to the task at hand. Emotions, on the other hand, the relationship is very complex. We all have that coworker who loves spite-driven development, and we have the coworker who can only focus and go deep when everything is calm and copacetic. Chronic stress, on the other hand, over time, decreases your available cognitive load. If you've been stressed for multiple weeks, you may notice that it's a little bit harder to think, a little bit harder to go deep on problems, and that's because your stress is affecting your available cognitive load. Disabilities can decrease your available cognitive load. Anxiety, basically chronic stress. Post-traumatic stress disorder, also chronic stress, but PTSD has symptoms that will take you out of the present moment. You'll have to dedicate all of your cognitive load to dealing with them, making doing menial tasks difficult. Chronic pain, another type of chronic stress, but your nerves will be firing off sensations that you are almost guaranteed to have to focus on. So chronic pain, over time, will decrease your available cognitive load, just like chronic stress. Dementia, Alzheimer's, and amnesia are all affecting your memory.

2. Disabilities and Cognitive Load

Short description:

If you have less memory to use, then you have less available cognitive load. Disabilities can also increase the amount of cognitive load a task requires. Sensory processing disorder, auditory processing disorder, dyslexia, traumatic brain injury, executive dysfunction, attention deficit hyperactivity disorder, and autism spectrum disorder all affect cognitive load.

If you have less memory to use, then you have less available cognitive load. Disabilities can also increase the amount of cognitive load a task requires. So sensory processing disorder. I have an auditory sensory processing disorder, so if people are talking to me, I'm usually a few seconds behind. It takes me a little bit more time and cognitive resources to understand what people are saying, and that requirement only goes up the more people are talking at once.

A learning disorder, like dyslexia, on the other hand, someone with dyslexia would prefer to hear things spoken to them. Reading something in text is going to take more cognitive load than hearing it spoken aloud, which is why a lot of people with dyslexia use a screen reader to navigate websites. They are able to get through that information much faster. Some disabilities both decrease your available cognitive load and increase the cognitive load that tasks require. A traumatic brain injury really depends on which part of your brain is affected. If it's your language processing center, then the it will probably present much like an auditory processing disorder. If it's the part of your brain that allows you to keep track of time, then tasks requiring keeping track of time are going to take more cognitive resources. If the part of your brain controlling executive function, which is the big front part, is affected, then your ability to plan, control your impulses, and direct your attention are the things that are going to be affected, which is why attention deficit hyperactivity disorder is the worst possible name for this disorder.

I have plenty of attention. It's directing the attention that is the problem. It's an executive dysfunction. That's what I struggle with. The popular joke is, you know, ADHD, look, squirrel. That's because I have a hard time directing my attention away from things that are interesting, but also a hard time directing my attention towards things that are very boring. So if you give me an interesting task, such as in a video game, I can do that all day long. But if you need me to wash the dishes, that's going to be a little bit more of a struggle. It's so boring. It happens every single day. It's because we have an interest-based nervous system. If you give us things that are novel or interesting, we're going to have a great time. But just because it's important, like a neurotypical importance-based nervous system, doesn't really register the same for us. Autism spectrum disorder is a little different. There's some research showing that the verbal working memory, so how many words someone with ASD can hold in their brain at once, is lower to start. But also sensory information comes in at the same level of importance as every other stimulus. So they have to dedicate cognitive resources to filtering out that information.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Impact: Growing as an Engineer
React Summit 2022React Summit 2022
27 min
Impact: Growing as an Engineer
Top Content
This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.
On Becoming a Tech Lead
TechLead Conference 2023TechLead Conference 2023
25 min
On Becoming a Tech Lead
Top Content
The role of a Tech Lead involves shaping the roadmap, helping the team be more effective, and working on important projects. Lessons learned include encouraging idea sharing, avoiding taking on all the work, and focusing on delegation. Tech Leads focus on the outcome, involve the team in decision-making, and make plans based on how different pieces will interact. The role of a Tech Lead is to focus on engineering and guide the team in figuring out how the whole system should fit together. Architecting can become problematic when it loses touch with the coding part, resulting in implementation issues.
Effective Communication for Engineers
TechLead Conference 2023TechLead Conference 2023
36 min
Effective Communication for Engineers
Top Content
Today's Talk covers the four building blocks of communication: people, message, context, and effective listening. It emphasizes the importance of considering the perspective of others and tailoring messages to the recipient. The Talk discusses different types and channels of communication, and the need to align them with the intended message. It also highlights the significance of soft skills in communication and provides techniques for effective communication and assessing soft skills in tech interviews. Cross-cultural communication and the impact of bluntness are explored as well.
Imposter Syndrome-Driven Development
TechLead Conference 2023TechLead Conference 2023
31 min
Imposter Syndrome-Driven Development
Imposter syndrome is a common experience that can lead to self-doubt and feeling like a fraud. The speaker shares their personal journey with imposter syndrome in school and throughout their career in software development. They discuss the challenges and doubts they faced, as well as the strategies they used to overcome imposter syndrome. The importance of support from managers, celebrating achievements, and sharing experiences to help others are highlighted. The talk emphasizes the need to embrace imposter syndrome and use it as a motivator for personal growth.
A Career As Software Engineer
React Advanced Conference 2022React Advanced Conference 2022
24 min
A Career As Software Engineer
Code will be imperfect and perishable, so testing and debugging are crucial. Building relationships and being generous with code reviews are important for teams. Code ownership should belong to the team, not individuals. Prioritizing functionality over consistency can lead to more efficient development. Growing into a tech lead role requires building relationships and coaching skills.
How to Turn Engineering Work into a Promotion
C3 Dev Festival 2024C3 Dev Festival 2024
29 min
How to Turn Engineering Work into a Promotion
This Talk discusses the process of building a toolkit and applying neurolinguistic programming techniques to succeed in software development. It emphasizes the importance of self-promotion and setting effective goals for career advancement. The concept of a brag bank is introduced as a tool to collect and remember achievements. The NNQ method is presented as a way to build a compelling case for promotion using names, numbers, and quotes. It also explores the idea of having a backup plan and considering alternative options when promotion is not feasible. Finally, the Talk touches on the importance of positive thinking, knowing when to move on, and avoiding excessive specialization.

Workshops on related topic

From Engineer to Leader: A Workshop for First-Time Tech Leaders
TechLead Conference 2024TechLead Conference 2024
144 min
From Engineer to Leader: A Workshop for First-Time Tech Leaders
Workshop
Andrew Murphy
Andrew Murphy
Transitioning from an individual contributor role to a leadership position, especially in the fast-paced tech industry, is hugely challenging. Most new leaders don't receive any training at all in the first 10 years of their new responsibilities.Our comprehensive workshop is designed to assist new and emerging tech leaders in understanding their new roles and gaining the skills to make them confident, happy and effective leaders.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
A Developer’s Guide to Communicating, Convincing, and Collaborating Effectively With Stakeholders
It’s a tale as old as time - collaboration between developers and business stakeholders has long been a challenge, with a lack of clear communication often leaving both sides frustrated. The best developers can deeply understand their business counterparts’ needs, effectively communicate technical strategy without losing the non-technical crowd, and convince the business to make the right decisions. Working at a consultancy, I’ve both failed and succeeded in architecting and “selling” technical visions, learning many lessons along the way.Whether you work at a product company, are a consultant/freelancer, or want to venture beyond just being a developer, the ability to convince and clearly communicate with stakeholders can set you apart in the tech industry. This becomes even more important with the rise of GenAI and the increasingly competitive developer market, as problem-solving and effective communication are key to positioning yourself.In this workshop, I’ll share real-world examples, both good and bad, and guide you through putting the theory into practice through dojos.
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
React Summit 2022React Summit 2022
75 min
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
WorkshopFree
Shane Ketterman
Shane Ketterman
Ready to kickstart your freelance career or just getting started on your freelance journey? You’re in the right spot. Learn from the world’s largest fully distributed workforce in the world.
The independent talent movement is the future of work. If you’re considering leaving full-time employment for a career as a freelancer, now is the time to find your successful space in the independent talent workforce. More people are working freelance today than ever before, with the freelance marketplace now contributing $1.2 trillion to the US economy. Some of the most in-demand roles for freelancers right now are senior developers with professional experience in React, Python, Blockchain, QA, and Node.js.
This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing/contracting career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
At the end of the workshop there will be a Q&A session with a Freelance Developer who can answer your questions and provide insights and tips into their own success.
During the Workshop break, we will be running a speed-coding challenge! At the end of the workshop, we will award a prize for the winner and display the leaderboard.
We will have you login to our portal and complete the challenge as fast as you can to earn points. Points are assigned based on difficulty and the speed at which you solve the tasks. In case you complete all tasks, you get extra points for the remaining time. You’ll see your score, ranking, and the leaderboard once you complete the challenge.
We will be giving away three Amazon Gift Cards ($200, $100, $75) for the top three winners.
Designing A Sustainable Freelance Career
React Advanced Conference 2021React Advanced Conference 2021
145 min
Designing A Sustainable Freelance Career
WorkshopFree
Alexander Weekes
Rodrigo Donini
2 authors
Would you like to pursue your passions and have more control over your career? Would you like schedule and location flexibility and project variety? Would you like the stability of working full-time and getting paid consistently? Thousands of companies have embraced remote work and realize that they have access to a global talent pool. This is advantageous for anyone who has considered or is currently considering freelance work.>> Submit your interest on becoming a freelance engineer with Toptal and get a call with Talent Acquisition specialist <<

Freelancing is no longer an unstable career choice.

This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
Table of contents

Module 1: Dispelling common myths about freelancing
Module 2: What does freelancing look like in 2021 and beyond
Module 3: Freelancing choices and what to look for (and what to avoid)
Module 4: Benefits of freelancing from a freelancer + case study
BREAK
Module 6: How to get started freelancing (experience, resume, preparation)
Module 7: Common paths to full-time freelancing
Module 8: Essentials: setting your rate and getting work
Module 9: Next steps: networking with peers, upskilling, changing the world
Module 10: Freelancer AMA
Landing Your Next Developer Job
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Landing Your Next Developer Job
WorkshopFree
Sadek Drobi
Nouha Chhih
Francois Bohyn
3 authors
Renaud Bressant (Head of Product), Nathanael Lamellière (Head of Customer Success and Solution Engineer), Nouha Chhih (Developer Experience Manager) will be looking at the different developer jobs that you can accounter when looking for your next developer role. We'll be explaining the specifics of each role, to help you identify which one could be your next move. We'll also be sharing tips to help you navigate the recruitment process, based on the different roles we interviewed for as recruiters, but also as candidates. This will be more of an Ask Us Anything session, so don't hesitate to share your thoughts and questions during the session.
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
TechLead Conference 2024TechLead Conference 2024
35 min
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
Workshop
Andrew Coleburn
Andrew Coleburn
Onboarding to a new project can be difficult, no matter your background and experience. But it can be especially challenging for new developers straight out of school or a coding bootcamp. Drawing on personal experience as a bootcamp grad and JavaScript consultant, this talk will discuss tips and strategies for managers to help the new developers on their teams get their bearings in an unfamiliar codebase, so they can make more of an impact, faster!