The measure of a great computer programmer is not that they write bug-free code. In this line of work, I learned quickly that any non-trivial program is going to have bugs. The measure of a great programmer is more how their code handles the unexpected and how they handle debugging.
Perhaps it’s just the engineer in me, but I think this is true of life too. Success isn’t about not making mistakes. It is about what I do when I recognize that I’ve made a mistake.