>Experimentation was opening myself up to failure. But necessary to succeed.
For Joshua, learning to become comfortable experimenting in the code was critical.
He realized that he kept facing barriers that felt impenetrable. So, he had to ponder if the problem might not be solvable with his current understanding of the system. Perhaps he needed to step back and look at the system in another way.
By doing so, he found that as he tried new solutions, problems were surfacing in other parts of the system that he was not previously aware of.
The only way forward for him was to start to define small experiments through which he could better understand the behavior of the system. But to do so, he had to continually accept the potential for failure.
The small nature of these experiments limited the scope of these failures and reduced the risk of painful frustration.