The question is how to structure your work to get feedback quickly. Feedback can be self-directed. Bob the Builder has an idea for a building, draws up some preliminary blueprints, and sees that his idea is unfeasible. Or it can be external-Bob's satisfied with the design and shows it to his customer, who then realizes that having 17 spires arranged in a heptadecagon looks stupid after all.
This is why outlines, specs, designs, etc. are so important. The goal is not to achieve 100% accuracy with the spec and then build the software. It's to iterate quickly to get to 70% accuracy, and then switch to a finer level of detail once you're not learning rapidly from the outline. It's not just about saving time or building a higher-quality product, it's about learning as quickly as possible.
Another fun, famous example is the Wright brothers: they had less funding and less education than most people trying to achieve flight, but they came up with a way to iterate in days instead of months, which meant that in a few months they made more progress than others had made in years.
If you want to get incredibly good at what you do, find a way you can iterate faster and learn more than others in your field. You're effectively buying time and experience. And if you create a structure that allows others to iterate faster, you can allow a swathe of people to become massively smarter and learn more, which to me is one of the greatest feelings in the world.