April 5, 2007

The origin of "Willing To Fail"

Years ago I spent a lot of time dreaming about sofware, writing software, writing about software, distributing software, and supporting software. Software was my passion. I was young, everything was new and I had a lot of enthusiasm.

But around 2000, I stopped, and it took me seven years to figure out why.

This is a self-discovery piece. Writing it has been theraputic; it's taken me a lifetime to understand this much about myself.

Rebooting my brain

Several factors contributed to my declining participation in software. Some are reasonable, like having kids that deserved my time more than software did, and some less so, like feeling I couldn't do an adequate job implementing the ideas I had. That bothered me a lot, and I felt powerless to help myself.

Three years ago I figured out how to start helping myself. I decided to return to university to resume studying Computer Science. I should graduate in April of 2008.

Sometimes I tell my friends, "I feel dumber every day". The more I learn, the more I realize I haven't learned yet! The good news is I've learned enough to dream about my ideas again. The bad news is, I suppose, there's still so much more to learn! I know I still need to learn more before I can "properly" implement my ideas.

Regardless, it's time to get started.

Willingness to fail

The name of this site was inspired by a statement made by John W. Backus, a legendary computer scientist best known for leading the team that invented the Fortran programming language, and is also the "B" in BNF grammar. He passed away on March 17th, 2007. R.I.P.

I learned of his death from a post on the Lambda the Ultimate. His obituary in the New York Times has this amazing quote:

Innovation, Mr. Backus said, was a constant process of trial and error.

"You need the willingness to fail all the time," he said. "You have to generate many ideas and then you have to work very hard only to discover that they don't work. And you keep doing that over and over until you find one that does work."

When I read that, I immediately understood what had stopped me from moving forward. Fear of public failure. I know if I try to implement some of my ideas, my implementation will be naive, someone will point that out in public, and I'll be embarrassed. I don't want to embarrass myself publicly because I worry it could affect my ability to attract work and support my family. It's a reasonable concern, but one I simply must get over to move forward.

The year 2000 was the first time I had job uncertainty in my career. Now I realize the fear of unemployment (starting with the dot-com bust and later the post-9/11 tech crunch) is what initially paralyzed me.

In 2004 I resolved to stop lying to myself and others about why I left university, go back and get the education I need.

In 2007 I resolve to stop worrying about what other people think of my work, acccept that my software will suck in the eyes of some, and just do it anyway. I have to work very hard to build software that works the way I want, and improve it when I can.

I'm willing to fail.

PS: Dumber Every Day was my second choice for the name of this site.

PPS: I've already registered dumbereveryday.com. :-)