Nothing ventured, nothing gained

a blog by Marc Chung

On learning from failure

»

by Marc Chung

From the productivity, programming, and refactoring part of the brain.

At my first job, I was responsible for write three core components simultaneously. I had to design, code, and test production level components that were on a deadline (read: really quickly). My coding process was to blink out the design on a whiteboard, and refactor iteratively. The results were three on-time, production-ready, well-designed components.

So I thought to myself:

Self: If I just had the time to come up with the design, I wouldn’t need to accommodate a refactoring stage, and I could have arrived at the same well-designed components a lot quicker, right?

Not quite. I realized now that it’s not that I didn’t spend enough time on design. It was because I was failing quickly, and I was learning from my mistakes even faster. This shouldn’t have come as a surprise since success is really about knowing which paths lead to failure and deliberately avoiding them.

So I guess what I have to say is, when engineering a piece of software, you’re going to make mistakes, but you better damn well learn from them. And the faster you make mistakes, the faster you’ll arrive at success.

Want to know more?

I'm Marc Chung, and you're reading Nothing ventured, Nothing gained, a blog about building beautiful software. I'm the founder of OpenRain Software, a web design and development company located in Arizona, where I make millions of users happy by building breathtaking software with brilliant people.

Presentations, Talks, Etc