I had a conversation over the holidays with a person who rejected the idea of fiction or writing about things that “didn’t exist.” Although the origin of the discussion was superheroes I thought a good bridge for said person might be Iron Man since his brand of hero more closely resembles Science Fiction than mythology[1]. Unfortunately Science Fiction fell under the umbrella of “things that don’t exist” and was therefore a subject to be ignored. Moments like this are a bit jarring for me; when I have a very basic assumption (Science Fiction is valuable) that is challenged at its root and I have to mentally reconstruct the rationale for so deep seeded a belief that I’ve come to assume is common for most people.

What is fundamental about Science Fiction is that one must imagine things that may not exist within the context of human nature and narrative, things which are constant. Love is a human nature, as much in the time of the written letter as it is in the previously nonexistent age of email. Formative education is a part of all of our lives, whether it is the tragic bildungsroman of an impoverished boy in Jude the Obscure or the near future when children in impoverished countries learn from MOOCs.

While I would be hard pressed to find any advantage in deliberately trying not to imagine things that don’t exist, a person’s profession does bear heavily on how much of useful such a skill might be perceived. Although they are few and far between, some fields have no bearing on the understanding of technology and people. But for any engineer, and even more so for the software engineer, the entire basis of one’s work is to build things that do not exist. They are wrought from imagination, even the most pedestrian software that must be built.

What catapults an engineer from mere laborer to innovator is the ability to conceive an imagined object of the future in the present. An example of this that I recently read about is the story of Edwin Link, the inventor of a flight simulator called the Link Trainer in the 1920s. It’s hard to imagine in the present but fatality rates for prospective pilots in that age were shocking. Link had an engineer’s mind and came up with the concept of a simulator (he built them from parts used by his family’s organ manufacturing company) that would allow a learner to practice on the ground, in a safe environment before taking to the air. It seems so obvious when we look in hindsight but Link had to work hard for many years to gain acceptance that his contraption would be of any use. He persevered because he could conceive of a device of the future in the present and how it would be valuable.

In the world of software, where the constraints of traditional engineering are loosened[2], the ability to think in a future against typical convention wields tremendous power. There are many precedents for this from the innovations in places like the famed Augmentation Research Center at Stanford Research Institute[3] to more recent evolutions of source control management[4]. In each case the engineer must stretch his or her imagination into the future and pull us into it from the present.

Writers of Science Fiction are aware of this implication in their work. Not too long ago Neal Stephenson made the case for Science Fiction writers to be deliberate in their power to inspire; put colloquially on io9.com:

SF needs to stop mucking around with steampunk and dystopia, and start making decent roadmaps for a future where we all want to live.”

All of this to say that it is possible to live in a world where there is no thought of the future, in a continuous reaction to what the world presents to us. It is possible to ignore science, the human narrative, and the future things which don’t exist. When I think of this possibility, I think of a very dark and drab place. But this is not a world for an engineer, especially not a software engineer. We have to build things which don’t exist. And the difference between the engineer who is perfectly contented to rehash a precedent and an Elon Musk, our present day Tony Stark[5], is that Musk is immersed in hyperloops, mass produced electric vehicles, space infrastructure, and commoditized solar energy; a future world that is being made to exist.


[1] I personally believe that myth is important as well; the definition of “ideology in narrative form” implies that in understanding myth, one can understand how a person thinks. In the case of super heroes, whether they are Greek titans like Prometheus or as American as Steve Rogers, they tell us about our deeper values.

[2] An in depth exploration is Jack Reeves excellent essay “What is Software Design?

[3] Case in point: the “mother of all demos” done by Douglas Engelbart in 1968.

[4] As a person who went from centralized source control (SVN) to distributed (GIT) and back, the latter has hacked my brain with concepts I didn’t “get” before I experienced them. Now it’s hard going back.

[5] Tony Stark is Iron Man