I learned to program computers at a young age, and for a while I felt fortunate that I already knew what I wanted to do for my career. Since then I've learned that there are many different ways to have a coding career; I haven't been able to fully escape the ordeal of figuring out what to do with one's life.
I think it's useful to think about criteria for success—what criteria in a given career path define success, and do those criteria match up with what you personally care about?
I'll give some examples. I like this model that Jason Crawford has discussed:
Broadly speaking, there are three domains of activity important to technological progress: science, invention, and business. Science discovers new knowledge; invention creates useful machines, chemicals, processes, or other products; and business produces and distributes these products in a scalable, self-sustaining way.
Applying these three areas to my criteria idea: in science, you're successful if you create new knowledge; in invention, you're successful if you create something useful; in business, you're successful if you make money.
There is often overlap of course. Successful startup founders often create something useful, for instance. But that's not what defines success: if you make a derivative but not-yet-widely-adopted product and you figure out how to market it effectively, you're a successful business person. If you do the opposite—create something novel and useful, but fail to turn it into a profitable business—then you might be a successful inventor, but you're not a successful entrepreneur.
I personally would love to be both a successful inventor and a successful founder. But I'm gradually coming to grips with the realization that if I had to pick one or the other, I'd rather be the successful inventor.
(At least I was able to figure out during undergrad that I don't care very much at all about creating new knowledge, and thus I scrapped my tentative plans of going to grad school.)
Unfortunately, there isn't actually a career path for invention, which was the whole point of Jason's essay. Entrepreneurship is possibly a good-enough fit for me, especially since I do genuinely care about having the things I build become widely adopted, at least to a degree, I think. But building a business is very much a means to an end.
A corollary of my "criteria for success" framing is that ambition is not the main thing that defines a career in entrepreneurship. (I'm trying not to use the "o" word.) I've found that I prefer to help develop public goods, even if it is at odds with creating or joining a high-growth startup. (For example, earlier this year I turned down a soft acquihire offer from a company that otherwise would've been a good fit for my skills and interests, probably.) But I don't think that makes me any less ambitious. In fact I think the software industry/society would benefit from having more people who funnel their ambition toward public goods!
If I do end up achieving business success, I'll be very interested to experiment with ways to help make "software inventor" or "open-source developer" an actual career path.