But I agree about the cognitive load. I have ADHD so in order to qualify as "high functioning" I need to continuously improve my coping strategies when it comes to keeping that load low. I write everything down. My thought process is anchored in long text files with hundreds of indented lists. My programming style is super verbose and perhaps a bit enterprisey, but each class does one thing and I always spend extra effort making sure the things I can re-use work well enough that it's safe to forget how they work.
Oddly enough, my reserves are much bigger when it comes to programming. I remember having trouble with some linear algebra homework - it involved a lot of matrix calculations, and my results just didn't make sense, and I couldn't focus long enough. So I programmed it instead, and it worked immediately and solved my homework. I think it was about change of basis, which actually got me side-tracked because I realized the same code could be used for a simple 3D renderer. And that's what got me into computer graphics. What was the topic again?
Also adhd, and our coping mechanisms are similar.
What are you basing this opinion on? :)
---
As an aside, the blog in your profile link ( https://teraku.me) has an invalid HTTPS cert. Seems to be for a different domain.
There are three forms of cognitive workload: Intrinsic, External and Germane.
Intrinsic is things you just *know*. How to write a class in java, how to write a query in SQL, ...
External is stuff you only need occasionally, and need to look up every time: How to deploy to X, how to set up CI/CD, ...
Germane is context knowledge. Usually referred to as business knowledge.
You want to keep external cognitive load a minimal as possible. You can really dig deployment and stuff, and then this becomes your intrinsic cognitive workload and coding becomes more or less external, but for somebody who just likes to code, it's best to once do a deep dive to deployment logics, write a scaffold and stick with an automated version forever.