Is 3 years enough time to become an ELITE programmer?

So to make things short: I really want to start a company. Really badly.

In that case, you may also want to focus on learning about business and marketing and such in addition to coding.

But every corporation I look has its founder as an amazing programmer that changed the way we live via code.

Not necessarily -- you're thinking of startups. A good chunk of businesses (plumbers, restaurants, etc) have nothing to do with technology and startups. And startups are often created by a small group of determined individuals, not by a single person (and in fact, a startup with only a single founder is typically seen as a bad sign).

Furthermore, many startups have fairly basic, from a technological point of view. Even websites like Google, Facebook, and Twitter initially started off very basic, and only became sophisticated after many iterations over the span of several years.

While I'm sure the founding programmers for many tech companies were talented, I think the main reason they became good was because of the sheer amount of time and effort and energy they put into growing their company/building their infrastructure/adapting over time.

It scares me to think that my lack of programming knowledge is what might keep me from reaching my goal.

You're focusing on the wrong thing. If you want to start a business, go and start a business -- make that your primary goal. If it turns out that programming is needed to execute your idea, fine -- either learn enough code to get shit done, or find and convince a partner to join you.

There's not a day that I don't regret starting programming when I was 12 or so, so by the time I become 20 (in 3 years) I could've had 8 years under my belt.

Most people don't start coding when they're 12 -- most people start in high school or college. If it's something you want, stop complaining about it, and just go after it.

It also seems like you're in a huge rush, for whatever reason. The average age of a successful startup founder is 40 -- you have plenty of time to learn, experiment, mess up, try again, grow, etc...

You've barely started your career -- instead of focusing on supposed missed opportunities, focus on starting and expanding your career.

And it's not like the people who are in charge of large companies were good or even great programmers. It seems as if they're all elite, the best of the best.

I can think of only small handful of people who I would genuinely consider to be an "elite" programmer or computer scientist, and none of them lead companies.

There's people who basically invented or made significant contributions to computer science -- people like Turing, Knuth, Chomsky, Dijkstra, Turing, Shannon. You also have people who invented vital pieces of infrastructure/programming languages like Berners-Lee, Wirth, Richie, Kernighan, Thompson, Rossum, Stroustrup, Gosling, Torvalds, Engelbart....

None of these people were really involved with leading companies in any way.

The only people who I can think of who were hugely technically skilled and founded/led companies are Gates and Zuckerberg, and possible Wozniak.

I think your problem is that you're confusing people's vision, drive, and business acumen for technical skill.

Some of it is talent, but I know for sure those guys spend months upon months learning about computer science. I'm a fairly quick learner, but I understand the depth of computer science. I know that even the smartest people literally need to spend a finite amount of time to understand the concepts of CS. It just worries to me to know that this might be a glaring hole that can stop me from my goal,

The same can be said of anything that's worthwhile to learn, including business, marketing, sales, design, UI, etc...

It's not as if your lack of knowledge of programming is the single and sole barrier stopping you from success -- your lack of knowledge in everything is what's holding you back.

And again, that's normal -- it's a part of being human. You're only just starting your career, and I'm guessing still in high school. You have time.

and I want to know if I start now from scratch (I know a minuscule amount of c++, only enough to make like a calculator, but even that is zero) and work my ass off in these next three years, is it possible to hit that level of adept coding? Or is it still not enough actual time and experience to even think about considering that 'elite' status?

No. It'll probably take you 4-5 years to become competent, and another decade or two to become truly excellent.

/r/learnprogramming Thread