←back to thread

1457 points nromiun | 3 comments | | HN request time: 0.431s | source
1. bambax ◴[] No.45080748[source]
Cognitive load is an important concept in aviation. It is linked to the number of tasks to run and the number of parameters to monitor, but it can be greatly reduced by training. Things you know inside and out don't seem to consume as much working memory.

So in software development there may be an argument to always structure projects the same way. Standards are good — even when they're bad! because one of their main benefit is familiarity.

replies(2): >>45080899 #>>45081135 #
2. Szpadel ◴[] No.45080899[source]
I would say that's very important rule. We have lots of projects using framework dependent magic, lots of useless interfaces and factories that give only theoretical value, magic that patch other classes methods etcz but this is standard practice in this framework and all experienced developers know that.

by doing something better here would actually not bring any value, because it would mean that developers would have to remember that this one thing is done differently.

that's trap where I would say many mid Devs fall in, they learned how do things better, but increase congnitive load for the rest of developers just by doing things differently.

3. TZubiri ◴[] No.45081135[source]
An important difference is that the aviator would be the user of the airplane system. OP is talking about the cognitive load of the plane engineer.

It's an important distinction in terms of priorities. I personally think the experience of the user is orders of magnitude more important than engineer cognitive load.