Originally posted on CodingMindfully.com.
As programmers we educate ourselves to a high degree about the internal operations of the platforms that we work with. We acquire knowledge about the structure and data flow in the frameworks and libraries that we use.
We develop intuitions about how complex systems fit together, and know how we can influence those systems to get them to achieve particular desired results.
It pays to have the capacity to learn about complex systems - it's part of the job and if we want to develop non-trivial systems then we better understand how they fit together!
It's kind of like that with our own minds - the more we understand how they operate (or malfunction!), the more we can use them to our advantage. I've been on a journey of understanding my mind for the last decade and there is so much I'd like to share - and so much I've yet to learn.
The human brain/mind system isn't exactly like the hardware/software system of your typical computing device, but it's a close enough metaphor to be useful sometimes.
Here's a few places the analogy stands, in my opinion.
- The brain/mind system has subsystems that communicate with one another
- The brain/mind system responds to input and generates output
- The brain/mind system operates in different states
- The brain/mind system can be debugged and reprogrammed
The brain/mind system has subsystems that communicate with one another
There are all sorts of conceptual, and real, subsystems in the human mind. The aggregate of their operation governs our behaviour. Understanding their existence and their operation can lead to great insights into HumanOS.
At a physiological level, two of the most important brain systems are the limbic system and the prefrontal cortex.
The limbic system is quick to respond, dealing in the currency of emotion.
The prefrontal cortex is a bit slower, dealing in the currency of reason and logic.
The dance between these two systems explains why sometimes we're unreasonable, emotional messes, and sometimes super-cool logic gods or goddesses.
Other examples include the sensory subsystems, memory (working and long-term - roughly equivalent to RAM and disc in computing terms), the “mind’s eye” internal visual subsystem, and so on.
The brain/mind system responds to input and generates output
Our brains are the most complex information processing devices that we know of in the universe with around 100 quadrillion neuronal connections. That's a lot!
One of the major tasks of the brain/mind system is to take in vast quantities of information from the environment, filter out the important bits, cross reference that information with memory, and create impulses to act. It's a process that's in operation every day of our lives - so much of it is automated, backed into the physical structures of the brain itself.
It's a remarkably complicated and beautiful arrangement.
The brain/mind system operates in different states
As you go about your day, your mental state varies. One minute you might be focused. Another moment your state might be distracted. A moment after, fearful. Another moment, joyous. Another, paralysed with anxiety.
These states (and the transitions between them) colour and inform your experience of being a human. Understanding the conditions for each to arise and how the transitions between them occur can be very powerful. You can even develop the capacity to shift between them in a more controlled manner than usual by training your mind.
A common state pair that programmers encounter is distraction/focus. I spend a lot of my day battling distraction and trying to become focused. By learning about mindfulness and meditation, I’ve been able to manage the transition between the two more effectively.
The brain/mind system can be debugged and reprogrammed
The human capacity for observation and attention can be directed at itself. It's possible, with a little guidance, to see into the inner workings of your own mind. You can observe how thoughts and feelings come and go, and gather information about your mind states in real time.
You have the power to use the information that you've gleaned to decide how to respond to your inner state. It's like reprogramming yourself over time - it's very powerful.
As we go through our lives, and encounter situations and learn how to deal with them, the mind remembers these events.
For example - waiting at a bus stop. You’re rarely confused by what to do when the bus pulls up. It’s as if there’s a script in the mind that says “get on, pay driver, sit down”.
Or meeting someone for the first time - you’ll be running a culturally influenced greeting script (maybe shaking hands and so on).
The process of learning is akin to the installation of more scripts in the mind. Some of these will be useful. Others might actually hold you back! But if you don’t know that you’re running them, there’s little you can do to change things.
I hope this has been an interesting mental exercise in the consideration of your mental operating system. Like I say, it’s not a completely accurate metaphor but I like to use it to learn a little about myself.
Part of the reason I talk about the importance of Meditation to programmers is that it gives you a front row seat into the operation of your own mind. It can help you witness the scripts that are running and even alter or mitigate their operation.
Originally posted on CodingMindfully.com.
15 Command-Line Tools to Make You Better at Shell & CLI
VS Code shortcuts that I would teach myself if I had a time machine with limited fuel
Vitor Paladini -
Productivity: Are you a fox 🦊 or a hedgehog 🦔?
Raksha Kannusami -
7 Reasons Why Front End Developers Going Full Stack Should Choose Go
Jeremy Morgan -