Personally, I fall into the camp of living my life, while working in software as a day job. I don't make top dollar, I don't work on well-known products, and I have zero potential to someday get a lucrative exit due to my work. Yet I've also built a solid career, have a decent nest egg, and am raising a family while having time to do my own things.
There is no doubt that there are engineers in SV who know more than me, are smarter than me, make more money than me, etc.
But the first step in hitting your full potential is deciding what is important to you. I might be the top or the bottom of this industry, all depending on what your priorities are.
I agree with you that in the end, work-life balance should be there.
So "top software engineer" today might be somebody like Larry and Sergei, or Zuck.
All top software engineers today got there primarily by luck. They were born into the right circumstances, able to coalesce the right network, and able to bet big on the right technology at the right time. Hard work no doubt played a role, but I bet nobody at the top of the mountain worked as hard as a lot of fast-food workers do.
So, one word answer: luck.
So, putting their all efforts and hard work in "LUCK CATEGORY " is not justifiable.
Unless you're naturally gifted you'll have to sacrifice your life to get good at flipping 0s and 1s in machines. I don't value software that much, as long as it brings food on the table I'm happy.
What I totally suck at - creating something that people would want and tell their friends about.