Early in my software career, I had a hard time struggling through errors and bugs with my code. I felt (self-induced) pressure to turn out results quickly, and viewed the time I spent troubleshooting issues as wasted time—an indication of my failure as a programmer. I could only think of debugging as a distraction from the whole point of my work, which was cranking out features. How did the senior folks on the team always know how to get to the root of the problem so quickly?
What those in dying business sectors call failure, we in tech know to be pre-greatness.
—Gavin Belson (Silicon Valley, S2E7)
I didn’t realize it at the time, but I was (gradually) learning a valuable lesson:
Persistence in failure is more valuable than getting it right the first time.
Yes, getting it right the first time is a good thing. But at some point things will not go your way. If you are always used to things coming easy, then failure will seem foreign and scary, and you will be more reluctant to risk failure.
Looking back at the early stages of my career, I can clearly see the answer to my question:
The answers seemed to come easy to the seasoned veterans because they had earned their easy. They didn’t shy away from the risk of failure. Through trials and struggles they persisted, and then they did it again, and again.