In my unscrutinized opinion, experience is the sum of evidence that allows you to make decisions. Naively, I would think that if you’re smart enough you can read all books, talk to all people, and brute-force your way through any problem until you have considered all posibilities and second, third, nth order effects of each and choose one.
Unfortunately, that easily goes into an exponential explosion and you end up wasting most of your time still processing the first 5% of possibilites.
The problem with experience is that it’s non deterministic. You cannot expect to just live through things and know that in n years from now you’ll have all this experience under your belt to help you in any way you need it. You could be unlucky, stuck in a local maximum where you are not exposed to enough challenges and but still think you’re doing fine and years later realise you could have learnt so much more.
I guess the solution is to intentionally get exposure to as many things as possible, hopefully with minimum cost on the rest of your life. There is probably a smart hack that doesn’t make you trade off something important for experience.
I guess this is valid when it comes to either choosing a design pattern in Java, to handling a difficult conversation, or saying ‘no’ to a costly design.
Another aspect of it, especially when it comes to software engineers, is that one good engineer with a lot of useful experience can be worth several mediocre ones. Maybe not for productivity and throughput, but for the best practices they can establish, the inspiration they offer to junior engineers to better themselves, the strategic decisions that can save the company years of struggling with monolithic architectures with slow time to market.
“Knowledge is not only power; it is happiness, and being taught is the intellectual analog of being loved.” — Isaac Asimov, Yours, Isaac Asimov: A Life in Letters