-Sometimes we fail. Sometimes the code that we wrote isn't up to the realities of the system it's implemented on. Sometimes we push code that does something that we didn't expect and does any number of things. In all of these cases it causes discomfort, whether to us, the folks we support, or the folks we work with.
-
-I'm not going to lie: failure sucks. It makes us feel like we're less of a person because we failed. We feel inadequate and wonder how others think of us. Do they think less of us? Have we damaged our relationship with those who use whatever we've programmed? Have we let our team down? All of these questions come at the forefront and they all stem from two desire: a desire to do our best and desire to do no harm to others. We want others to think well of our skills and of us. Failure runs counter to those desires and amplifies whatever feelings of inadequacy we might have. We wonder if we should be programming at all or if our talents should be used elsewhere. We feel like giving up.
-
-We don't think of failure as part of the learning process. Failure is often seen as the end-point of the journey. In school a failing grade is seen as a condemnation. We don't see it as "I need to practice this some more"; instead we see that we have caused shame and discomfort to ourselves and our loved ones. We do ourselves a grave disservice if we don't realize that failure is a natural part of a process and that it's OK to fail. Not everything we do will be perfect. Mistakes will creep into the best code we write. We will slip up and deploy to the wrong system. Our mistakes will cause discomfort to others. Accepting this gives us the freedom to realize that despite our best efforts we will not be perfect. But rather than seeing that as a limitation we can use this as part of our growth process.
+Sometimes we fail. Sometimes the code we write isn't up to the realities of the system it's implemented on. We push code that does something unexpected and systems break as a result. We can lose track of where we are in our code and make changes that conflict with other changes which then causes us to spend time undoing those changes. All of these cases cause discomfort, whether to us, the folks we support, or the folks we work with.