Learning thru Failure
Michael_Rowe 110000E1VR Visits (2990)
As I sat thru the IBM CTO discussion this morning between four IBM Fellows: Martin Nally - CTO IBM Rational, Jerry Cummo - CTO IBM WebSphere, David Lindquist - CTO IBM Tivoli, and Rod Smith - IBM Vice President Emerging Technologies I realized that these four technologists all started as developers. Their each traveled different paths but have reached the pinnacle of the technical careers in IBM. And they each have kept their curiosity and passion for technology. We then had an incredible talk from Jamie Clarke who took three attempts to climb Mount Everest. The personal journey that he took to get to the pinnacle of his passion, was full of failures and learning.
To me Jamie and the IBM Fellows have all taken a path that as a developer should be compelling and exciting. The hardest part of their journey has been to get bogged down in failures. As I mentioned on recently, I've been reading the book "Reality is Broken" by Jane McGonigal and the pattern of many failures ultimately leading to success is also found in gamers. Gamers see a challenge and try over and over with different approaches to solve that problem. In development we see similar problems. It could be that you are looking at how to improve a specific algorithm to run faster or be more scalable or more fault tolerant. It could be that there is a specific market that you are trying to develop a new product for, and as such you put out multiple applications or offerings each testing out a new hypothesis. The problem isn't that one of them fails, it is a great opportunity to learn, as Thomas Edison said, one more way how not to develop that code or product.
As a developer I find that having the time to reflect on the reality of some failure is a great way to learn how to become better. Another great way to learn is to gain experience from others. Tomorrow I am planning on sitting in at least one live coding session. This is a friendly time to play with the IBM Mobile Foundation - Worklight mobile development platform, with no penalty for failure. The ability to fail quickly and learn, is one of the best teachers I can imagine.