Lessons from Failure

Failure is a possible outcome when we step outside our area of expertise or take on a sizable challenge. However, these types of situations are those that are most conducive to our learning experience. As such, failure should not deter our efforts. The Apprenticeship Pattern by Dave Hoover and Ade Oshineye discusses approaches to managing and learning from failures.

  1. Create a Safe Environment to Contain Failure

Software development is a field where failure can be catastrophic. As an example, a ‘technology breakdown’ at Knight Capital Group cost the firm $440 million in trading losses. The magnitude of failure will vary based on the application of the software; however, this should not deter us from wanting to learn about an area even if it is more risky. The Breakable Toys pattern is a practical solution that allows developers to create a safe environment that is tolerable to failure. Essentially, by building test projects that uses the same toolset we can expand our knowledge in an area where failure can be contained. As the project owner, we can take the project in any direction we want. If the project fails we can use it as an opportunity to learn.

2. Learn from Failure

Failure has a strong negative connotation in many cultures, however, it is often a source for our experience and can contribute to our growth. How we deal with failure can set two drastically different trajectories for our future. If we walk away from failure it is likely that we will continue to take steps back from what we really want. However, by overcoming our obstacles we gain the experience and knowhow to confront even more difficult challenges. Dissecting failure to identify patterns, situations, and our behaviors that lead to failure is a technique Dave and Ade introduced in the pattern Learn How you Fail. By knowing what led to the mishap we can find ways to minimize or prevent them in the future. This iteration process of overcoming defeats and learning from it should allow us to start seeing failure as a source of wisdom.

The constant fear of failure can be a huge obstacle to our growth and could potentially be enough to discourage us from pursuing our goals. Furthermore, the consequences of failure will increase the further along we are in our career. As software development apprentices, we have to refine our practice and shift into a mindset to learn from our failures. Only then, will we be able to disassociate the fear from failure. Creating a safe environment and learning from failure are techniques that can be applied to help shift our attitudes on failure.