Squeegee your Second Eye
System Design is a Right Brain Activity
’80s comic Bill Hicks extolled us to transcend conventional opinion: “Squeegee your Third Eye!”. A lot of people who write software should squeegee their second.
Programming is the ultimate left-brain activity, wedged firmly into the intersection of language and logic. The left side of your head is good at words and logic. The right side knows little of either.
Those of us with this left-brain, logical bias under-value the specialities of the right: fuzziness; metaphor; intuition; emotion. We de-power our effectiveness in the process. I’m forming the view (tentatively, speculatively) that the fraughtness and fragility that besets underperforming software teams is mostly down to people getting trapped in one-sided, half-brained perception. Here, I’ll offer a sketch of some evidence for that, and a few suggestions to get the full brain back into gear.
The Theory
Ian McGilchrist’s The Master and his Emissary* is a book worth reading. [It’s long. Nobody with a techie job has time to read it — bring the audio version along on your commutes for a month.] It makes a strong case for the primacy of the right hemisphere — which, as you know, controls the left side of the body. We used to believe that the right hemisphere was just a blob of primal, irrational, vestigial gunk, and the left was where all the smarts happened. McGilchrist presents a ton of more recent neuroscience to the contrary. He sees the left side(logical/hyper-focused/defensive/aggressive) as merely an agent working on behalf of the right. The right side, he says, sees the bigger picture about the self and its goals, about others and one’s environment. The right forms an overall plan, and the left executes its details. The right works with visual imagination, analogy, and feeling, the left with dry, precise tunnel vision. While I’m not qualified to comment in depth, I find the story he presents very compelling.
We do know for sure that the right cerebral hemisphere ‘sees’ a fuzzier, broader picture of the world, while the left zeroes in on one tiny thing at a time. Coding software is all about zeroing in, while software architecture and system design can spiral out to infinity. Can any one person do both, well, on the same day?
Some indirect evidence for the necessity of a right-brain-led approach to system design comes from the history of Artificial Intelligence. Way back in 1950, Alan Turing had this to say:
The view that machines cannot give rise to surprises is due … to a fallacy ... This is the assumption that as soon as a fact is presented to a mind all consequences of that fact spring into the mind simultaneously with it. It is a very useful assumption … but one too easily forgets that it is false. A natural consequence of doing so is that one then assumes that there is no virtue in the mere working out of consequences from data and general principles.**
Turing is arguing against the view that computers can never ‘think’, since they just follow long strings of individually mindless logical operations. The highest human thought, he says, requires plenty of diligent rule-following too. Turing is clearly envisioning the human mind as working fundamentally like, well, a Turing machine — very quickly processing symbols, sequentially, to derive conclusions. His theory of mind was influenced by Wittgenstein, his former tutor in meta-mathematics, for whom linguistic thought was the only thinking possible.***
AI research continued along these lines marked out by Turing for the next 50-or-so years. Pioneers like Minsky, Newell and Herbert Simon all believed humanlike intelligence could be written into software, if it was given complex enough if-then-else-type control of flow. Dissenters like Hubert Dreyfus were ostracised.
It now turns out that Turing, Minsky et al. were (probably) wrong, and Dreyfus likely more correct. The closest things we have to machine general intelligence — Deep Learning and Generative AI — work much more like wet and fuzzy right brain hemispheres than like the tapes and registers of an idealised computer. Newer theories of brain activity, like Friston and Solms’ Free Energy Principle****, have the brain doing something very similar to a Deep Learning machine, optimising a complex objective function over homoeostasis.
Reasoning with uncertainty, finding a best solution to meet a large set of imprecisely defined NFRs — all the challenging aspects of system architecture— require more than anything the right-brain skills of intuition and low resolution reasoning (followed up eventually with left-brain precision). What I’ve written above is nowhere near enough to prove this — but if your gut (!) tells you there’s something to it, read on to find out how to squeegee your right brain (and your team’s).
Putting it into Practice
- Start every meeting with inconsequential language. Talking about weather, sport, football, DIY, movies, and so on seems pointless to the left brain, but it can make all the difference. By engaging in small-talk before the important business, we activate the mind’s seeking and collaborating functions.
- Literally, expand your gaze. Do your design and planning workshops outdoors, or at least in a room with a panoramic view.
- Bypass nitpicking objections. Need to get someone enthused about a long-term plan? Sit on their left side, so you’re talking to their right hemisphere.
- Get Physical. It’s a pity that executive stress toys went out of style. Engaging the kinaesthetic and tactile senses aids problem solving. Fidget with a tennis ball, magnets or a length of string.
- Mob diagramming. Give every team member a pen and an eraser at the start of your whiteboard session. Take turns to iterate your diagram.
- Start with the good. When running a sprint retro or an blameless incident post-mortem, start with “what’s been good, recently?” or “what’s working well, in any sense?”. Document the good on its own board, page or slide. Not as the first of three good-bad-ugly columns to be rushed through. Don’t move on to issues and improvements until everyone present has named three positives. It may make your retro much more productive.
And, if your left-brain is balking at these woolly, touchy-feely suggestions … it’s just one more sign that you really, really need to squeegee you second eye!
Notes:
*[I McGilchrist, The Master and His Emissary, Yale UP, 2019]
**[AM Turing, Computing Machinery and Intelligence, Mind 49, 1950]
***[Wittgenstein’s Lectures on the Foundations of Mathematics, Harvester, 1976]
****[The Hard Problem of Consciousness and the Free Energy Principle, Mark Solms, 2018]