- Nov 2020
When you’re implementing a bad plan yourself, instead of having a mentor bail you out by fixing it, a few really useful things happen:You learn many more details about why it was a bad idea. If someone else tells you your plan is bad, they’ll probably list the top two or three reasons. By actually following through, you’ll also get to learn reasons 4–1,217.You spend about 100x more time thinking about how you’ll avoid ever making that type of mistake again, i.e., digesting what you’ve learned and integrating it into your overall decision-making.By watching my mistakes and successes play out well or badly over the course of months, I was able to build much more detailed, precise models about what does and doesn’t matter for long-term codebase health. Eventually, that let me make architectural decisions with much more conviction.
There's a benefit to embarking on a challenge without a more experienced authority to bail you out.
- You learn many more details about why it's a bad idea.
- The lessons you learn in terms of how to avoid the mistakes you made stick with you longer
(I would add that the experience is more visceral, it activates more modalities in your brain, and you remember it much more clearly.)
These types of experiences result in what the author calls more "detailed, precise models". For me they result in a sort of intuition.