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
Overall, I probably did a pretty bad job. But, importantly, I was able to see my mistakes play out in the real world. Instead of modeling what other people would tell me to do, I built a model of the problem directly. So when I got negative feedback, it wasn’t “Mentor X thinks this plan is bad” but “the world works differently than you expected.”
Because the stakes are higher and it takes longer to see the results, all these decisions require what I’d call conviction : the confidence that your idea is good enough that it’s worth throwing a lot of effort behind.
Keep in mind that dismissal is largely imperative and fragile. Like manually popping views off the navigation path, it depends on an assumption of how the app is constructed and what views have been pushed and presented.
That’s not much of a problem if you’re coming at it from the application root side during a deep link. But it can be one if you’re... See more