A Student's Mindset
One of the most essential pieces to self-improvement and learning to learn is failing. We'll fail a lot in a variety of ways and often will fail publicly. These failures are how we expose ourselves to the feed-back loops that offer the most oppurtunity for improvement. In this post I'll talk about the different kinds of failures I have every day as a software developer and how forgiving myself for these failures has allowed me to improve myself drastically.
For Being Wrong
Unless we allow ourselves to be wrong, we can't progress in meaningful ways towards work that is truly rewarding. Being okay with getting the wrong answer some of the time, means you'll push your boundaries and arrive at solutions you wouldn't have otherwise.
A lot of folks imagine progressing in software development as a set of stairs where each step is some new level of understanding. In my experience, it's much more of a sliding scale where you're level of comfort gradually bleeds into more and more challenging topics. Hard things become slightly less hard, and easier tasks become trivial with repition and acclimation of new knowledge and techniques.
This sliding scale has failure built into the model. Rather than failing to reach the next rung of understanding, we're constantly progressing outwards from our comfort zone into unfamiliar, high-risk, high-reward areas of learning.
To be continued...