Why Having a Tiny Brain Can Make You a Good Programmer

This post is not just for software developers. It is intended for a wider readership; we all encounter complexity in life, and we all strive to achieve goals, to grow, to become more resilient, and to be more efficient in our work.


Here’s what I’m finding: when I am dealing with a complicated software problem – a problem that has a lot of moving parts – many dimensions, I can easily get overwhelmed with the complexity. Most programmers have this experience when a wicked problem arises, or when a nasty bug is found that requires delving into unknown territories or parts of the code that you’d rather just forget about.

Dealing with complexity is a fact of life in general. What’s a good rule of thumb?


parts-of-the-brainWe can only hold so many variables in our minds at once. I have heard figures like “about 7”. But of course, this begs the question of what a “thing” is. Let’s just say that there are only so many threads of a conversation, only so many computer variables, only so many aspects to a system that can be held in the mind at once. It’s like juggling.

Most of us are not circus clowns.

Externalizing is a way of taking parts of a problem that you are working on and manifesting them in some physical place outside of your mind. This exercise can free the mind to explore a few variables at a time…and not drop all the balls.

Dude, Your Brain is Too Big

I have met several programmers in my career who have an uncanny ability to hold many variables in their heads at once. These guys are amazing. And they deserve all the respect that is often given to them. But here’s the problem:

kim_peekPeople who can hold many things in their minds at once can write code, think about code, and refactor code in a way that most of us mortals could never do. While these people should be admired, they should not set the standard for how programming should be done. Their uncanny genius does not equate with good engineering.

This subject is touched-upon in this article by Levi Notik:

Screen Shot 2015-04-01 at 9.47.43 AM

who says: 

“It’s not hard to see why the popular perception of a programmer is one of some freak genius, sitting by a computer, frantically typing while keeping a million things in their head and making magic happen”

wsshom1A common narrative is that these freak geniuses are “ideal  for the job of programming”. In some cases, this may be true. But software has a tendency to become complex in the same way that rain water has a tendency to flow into rivers and eventually into the ocean. People with a high tolerance for complexity or a savant-like ability to hold many things in their minds are not (I contend) the agents of good software design.

I propose that people who cannot hold more than a few variables in their minds at once have something very valuable to contribute to the profession. We (and I’m taking about those of us with normal brains…but who are very resourceful) have built a lifetime’s worth of tools (mental, procedural, and physical) that allow us to build complexity – without limit – that has lasting value, and which other professionals can use. It’s about building robust tools that can outlive our brains – which gradually replace memory with wisdom.

My Fun Fun Fun Job Interview

I remember being in a job interview many years ago. The guy interviewing me was a young cocky brogrammer who was determined to show me how amazingly clever and cocky he could be, and to determine how amazingly clever and cocky I was willing to be. He asked me how I would write a certain algorithm (doesn’t matter what it was – your typical low-level routine).

Well, I was stumped. I had nothing. I knew I had written one of these algorithms before but I couldn’t for the life of me remember how I did it.

Why could I not remember how I had written the algorithm?

Because I did such a good job at writing it, testing it, and optimizing it, that I was able to wrap it up in a bow, tuck it away in a toolbox, and use it for eternity – and NEVER THINK ABOUT HOW IT WORKED ANY MORE.


“Forgetting” is not only a trick we use to un-clutter our lives – it actually allows us to build complex, useful things.

Memory is way too precious to be cluttered with nuts and bolts.

tech_brogramming10__01a__630x420Consider a 25-year-old brogrammer who relies on his quick wit and multitaskery. He will not be the same brogrammer 25 years later. His nimble facility for details will gradually give way to wisdom – or at least one would hope.

I personally think it is tragic that programming is a profession dominated by young men with athletic synapses. (At least that is the case here in the San Francisco Bay area). The brains of these guys do not represent the brains of most of the people who use software.

Over time, the tools of software development will – out of necessity – rely less and less on athletic synapses and clever juggling, and more on plain good design.


Immortality: Can Humans Attain Eternal Youth And NOT Destroy the Planet?

Why are humans so obsessed with immortality?

Can humans ultimately achieve immortality?

And can immortality be achieved while still maintaining the health of the planet? In other words: can we avoid the scale of human population growth that would turn us into a seething viral infection on Earth’s skin that completely destroys it? (or, more likely, destroys us?)

The key to answering these questions is to redefine “immortality“.

Let’s start with Neoteny – a biological phenomenon in which traits of youthfulness in a species are extended into adulthood. Humans have pronounced neoteny, and there are several theories as to why this is the case, including some theories that claim that a longer period of learning, play, exploration, and creativity (features of youth) gave Homo sapiens an evolutionary advantage. The fact that humans continue to actively learn throughout life can be seen as a kind of psychological neoteny.

Given this biological essence, this genetic fact of our existence, one might conclude that we – as a species – should have a fondness for youth.

Indeed, we are obsessed with it.

Our Eternal Offspring

Now consider that humanity has created a huge brainchild which consists of culture, art, writing, technology, and the internet. This offspring of humanity extends beyond our physical selves and into our collective future. Culture is self-perpetuating, after all. The more we engage in the meta-world that we have created, the more we notice that it lives on while our physical selves grow old and die. And I believe that we are not having the same experience as our primitive ancestors, who preserved oral traditions as told by their ancestors, and built stone edifices to last thousands of years. I’m talking about something different: computers and software extend the human mind in a new way.

Extensions of Our Personal Selves

CatherineSoftware technology and the internet are forming external versions of our selves – beyond mere portraits or memoirs. Our individuality and personas are being increasingly articulated outside of ourselves. It is quite possible that within a few decades it will be commonplace for FaceBook pages, and other records, expressions, and creations of our lives, to be archived for prosperity. Personal digital preservation is a fact of our times, and it is becoming more sophisticated and thorough.

I used to think a lot about avatars in virtual worlds. That fad has started to pass. And yet, some avatar-like versions of ourselves – which may include software agents based on our personal styles of thinking (and of course shopping) – could become a core feature of future FaceBook-like services. Our identities are gradually being fragmented and distributed into many digital forms – often in ways that we are not aware of. It can have subtle effects on consciousness – even diluting the locus of consciousness – although it is too soon to feel the effects – or to articulate it. This idea is explored in Brian Rotman’s Becoming Beside Ourselves.

Total Brain Upload?


I have just as much criticism of Ray Kurzweil’s vision of the future as I have admiration for his hard work at trying to build a better world. One of his more intriguing explorations is how to upload an entire brain into digital form so that one can live forever.

Uh, “Live” forever?

The very claim that this could be achieved is fraught with logical problems, even contradictions. In the absence of a body, how can a brain actually experience reality? (much less, a digital copy of a brain). One answer is that our bodies, and thus our senses, will be “simulated” using virtual reality. Okay, I can see how this might be achieved. But, having spent almost a decade developing virtual world software in startup companies, and having done academic research on the subject, I would say that this will be even harder than digitally uploading a brain. The unfathomable task of creating a convincing simulacrum of reality (forever) makes the task of a digital brain upload seem like a walk in the park. The Matrix will be fiction for a long time before it becomes fact – if ever.

The Aging Mind

Whether or not you believe in the possibility of a digital brain upload, you are more likely to agree with the following:

As we age, the stories of our lives, our memories, and other intangible aspects of existence attain more importance. Aging people tend to have an increased spiritual sense. The physical world – with all its entropy (and aches and pains) gives way to something like a virtual world: the realm of the mind. (Unless you become senile, in which case, you’re screwed).

santa-claus-athleteDoes an 80-year old man have much reason to mentally explore techniques of snowboarding? Or new ways to have sex on a trampoline? My guess is…not. But I may be wrong. My 80 year-old neighbor might think about trampoline sex all day, every day, and never tell me (I prefer not to know anyway).

But I digress. It is only the year 2013 after all. A hundred years from now, medical science will have made huge strides. In the future, sex at age 80 might actually be as good as sex at 30. And sex at 150 might actually be as good as sex at 100 (if you can imagine that. I choose not to dwell on the details).

What s the Purpose of Medical Technology?

Is medicine all about prolonging life, or is it all about making us healthier? Many of my friends believe medicine should be about making us healthier. What good is living longer if you’re miserable? Actually, being healthier has a side-effect of longevity – so perhaps these two things go hand-in-hand.

…which finally leads me to the core problem: More people…living to the age of 150…means more mouths to feed. Our planet can only feed so many mouths.

So: if humans insist on extending youth (and by implication: age (and by implication: population size (assuming we still insist on making babies))), how do we keep ourselves from turning into Earth’s pesky skin infection?

Answer: immortality will have to be reserved for the mind; not for the body. And the reason is this:



Evolving Our Digital Selves

Here’s my wacky, quaky idea:

“Death” as we know it will gradually shed its absolute status. It will start on a path similar to other age-old concepts like “intelligence”, “God”, and “consciousness” – all of which are being chipped away and blurred, as science, technology, religion, and the human experiment advance.

Personal digital preservation seems to me as an inevitable evolution. Data storage is becoming cheaper all the time, and the desire to retrieve memories, archives, knowledge, and data will continue. My grandmother’s death came as a shock to my emotional life. In the future, there may be a lot more left of one’s grandma after she dies. Just watching a video of her recounting a story is enough to bring back a little piece of her – at least for a moment. Consider that digital preservation might soon include artificial intelligence algorithms, and one might begin to imagine asking your virtual grandma to tell that story about dad’s fist car.

In the future, we won’t “believe” that we are actually talking to grandma, any more than we “believe” that our computers are thinking. Eventually, it might not really matter.

We invented virtual reality as a plaything. As long as we insist on living forever, virtual reality will become a necessity. It is what we will use to achieve the experience of immortality…rather than outright physical immortality.

Otherwise, Earth will decide she’s had enough of us, and shrug us off – like the pesky little germs that we are.