👋 Enjoying the content? Subscribe to our Medium publication for more articles like this. 👇
Keep Learning

Cognitive load in software engineering

BY Atakan Demircioğlu
Table of Contents

Here are my notes about cognitive load in software engineering.

Cognitive load in software engineering image 1

Here are my notes about cognitive load in software engineering.

“Our codebase is easy to understand”
“It is easy to understand, you won’t need more than a couple of hours”

Did you even hear sentences like that?

Probably YES.

Bingo, that is about the cognitive load.

What is Cognitive Load In Software Engineering?

Types Of Cognitive Load

  1. Intrinsic cognitive load is the difficulty of learning the task itself. It is determined by the number of existing elements, and the level of interactivity between them.
    Ex: How is a class defined?
  2. Extraneous cognitive load, which relates to the environment in which the task is being done. Unnecessary details have an impact on the cognitive capacity that an individual has.
    Ex: How do I deploy this component, again?
    Ex: It also imposes extraneous load when the learning material or the teacher uses poor fonts, speaks in a monotone, or uses complicated vocabulary. It’s anything included that does not directly contribute to the learning goal.
  3. Germane cognitive load, which relates to aspects of the task that need special attention for learning or high performance. This type of cognitive load allows people to focus on the task at hand and reduces distractions. This is the business domain we must know. If our application is a banking system we need to understand how that works. This can have subtle changes for each company.
    Ex: How should this service interact with the ABC service?

Reducing cognitive load

References