Programmers Aren't Being Lazy: They're Reducing Cognitive Load
There’s a common joke among programmers: I’m so lazy that I made this script to automate these tasks. Efficiency and process are prized, but also sometimes mocked and ridiculed. So, are programmers actually lazy - or is there something deeper here - have they been mislabeling something else?
Cognitive Load is a multi-pronged psychological mechanism split into three distinct areas: intrinsic, extraneous and germane. These have limitations based on something called working memory - or the ability to hold information temporarily. Working memory capacity is limited - and therefore it can slow or disable various parts of the cognitive load process. For example, if you’re busy with continually reprocessing intrinsic things to a task, its very difficult to have the capacity to germanely create long-term memory. This long-term memory is the basis of how you can make intelligent decisions in business moving forward.
Another way to say this is that the amount of time you spend thinking and doing things that are simple but important to your business reduces your capacity to file away other thoughts for long-term growth. If you’re busy doing a manual, boring, but important task, your brain will not be able to free up to synthesis other important things into a decision framework or system. If you spend too much time puttering around with simple tasks, you’ll never get any better at the complex ones.
So, when programmers and developers talk about making automations or scripts because they’re lazy, they’re actually working to reduce their cognitive load in that area so they can make more decisions elsewhere. And, programmer’s main work is decision making, not coding. They’re not being lazy, they’re optimizing.
The important thing to take away here is that these tasks that seem important, but are trivial, are damaging your ability to move forward intelligently in the longer-term parts of your business or role. Spending too much time on the micro damages the macro growth. You can’t expect to do simple tasks over and over AND somehow synthesize solutions - so stop it. Take a break. Automate. Pay someone “more than you can afford / should” to do something simple so you can figure out the bigger things - it’ll benefit you in the long run.