Let me offer some (hopefully constructive) counterpoints:
> If the system doesn't work for you, it doesn't mean you're not capable.
Sure, but working with the system is a useful capability. Don't be lazy and dismiss it as worthless just because you can't (or don't want to) figure it out. I've made this mistake and regretted it.
> Follow your passions, not external dictates.
Following your passions is great, but doesn't always work out. Life is often about finding a balance between something you really like doing and something that society values enough to pay you for doing it.
> Try to get as many different perspectives on life as you can.
Yes, of course, but the challenge is weighing these perspectives appropriately. Everybody's perspective is right from some particular viewpoint, the trouble is figuring out what that viewpoint is, whether it applies to you.
> Coding is making credentialing and "proving" you can do something much easier.
Completely agree.
> As for luck, I have a bad habit of framing things as lucky, and to some extent they are, but there was also hard work behind them.
Sure, you always need some hard work and talent to succeed but it's often not sufficient, and luck is sometimes the necessary component that makes the difference.
ed: One last meta point that occurred to me was that you became successful when you took charge of your career. When you were just doing what others told you, you seemed both unhappy and underperforming. The lesson I would take is that we all need to take responsibility for our happiness and success. Sometimes this means introspecting and figuring out what we ought to be doing and not just drifting around listening to what we're told by society, our peers or parents.