The New Wheel: A Software Engineering Parable - No Fluff Just Stuff

The New Wheel: A Software Engineering Parable

Posted by: Robert Fischer on December 16, 2009

My co-author on this blog, Brian Hurt, is my software mentor. He taught me everything important that I’ve learned in software development. I’ve been a pretty dense student: I’ve consistently rebelled against his advice only to find him proven right in the long haul. Of course, I then proceed to rebel against the next piece of advice. Sooner or later, you’d think I’d learn.

Anyway, of all the parables and the jokes and the pithy aphorisms he’s told me, this is the one that I’ve found most key to software engineering, and it jumped to mind after reading Marc’s recent groovy-user post.


In the early days of humankind, a young man excitedly ran up to the leader of the tribe. “You won’t believe it! I have an awesome invention! See, I know that our parents invented the wheel, but the wheel has all kinds of problems. It’s too hard to produce. It rolls away on you when you want to stand still. It’s hard to understand and to describe to people—’it’s like a thin slice of smooth rock with a hole in the middle’ isn’t exactly easy to grok.”

The leader of the tribe looked askance at the young man. “Are you telling me that you have improved on the wheel?”

The young man nodded in excitement, “Yeah! You wouldn’t believe it! I just went back to square one. I started from scratch with the generation of experience and knowing all these problems we have with wheels, and I went off and developed a proof of concept, and it seems to be working out pretty well. I’ve been showing it to other people, and they love it, so I’ve got a prototype that I want to show you. This new wheel is really the wheel of the people—the elders won’t be the only people who can invent new things based around wheels anymore! Even better, all my friends agree that the new design solves the problems we have with wheels: we can produce them at speed, it doesn’t roll away when we want to stand still, and it’s easier to understand!”

The leader of the tribe did not seem impressed. “But what new design improves on the wheel?”

“Well, my new wheel is just like the old wheel—but this time, it’s square!”


This post was by Robert Fischer, written on December 16, 2009.
Comment on this post: http://enfranchisedmind.com/blog/posts/new-wheel/#respond
Public Permalink: http://enfranchisedmind.com/blog/posts/new-wheel/
Creative Commons License
This article was a post on the EnfranchisedMind blog. EnfranchisedMind Blog by Robert Fischer, Brian Hurt, and Other Authors is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

(Digital Fingerprint: bcecb67d74ab248f06f068724220e340 (69.147.112.168) )

Robert Fischer

About Robert Fischer

Robert Fischer is a multi-language open source developer currently specializing in Groovy in Grails. In the past, his specialties have been in Perl, Java, Ruby, and OCaml. In the future, his specialty will probably be F# or (preferably) a functional JVM language like Scala or Clojure.

Robert is the author of Grails Persistence in GORM and GSQL, a regular contributor to GroovyMag and JSMag, the founder of the JConch Java concurrency library, and the author/maintainer of Liquibase-DSL and the Autobase database migration plugin for Grails.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »