Probably because they were autodidacts that got frustrated with following courses that were either not relative to what they already knew or far below the level they already had achieved.<p>When I went to study CS in 1981, I already had mastered Fortran and LISP. I did not learn anything new about programming languages until my second year in college. The new concepts were currying and lazy evaluation. I did learn a lot of other things thou. Primarily about mathematics: calculus, algebra, graph theory, combinatorics and statistics. Also some about electronics and digital circuit design.<p>But when I started working as a software developer, I also realized that much what I learned at the university was not relevant and that I could have done without much of what I learned there. I still happy about my time at the university.<p>A degree is more a proof of that you have the ability to master certain material than a proof you know what is being taught. I that view it is more of an entry exam for certain job positions, although for certain companies, especially in the US, that no longer seems to be the case. But that does not mean that people without a degree are not able to perform as well as does who do. This might not be true for all fields of study, such as law and medcine.
How does anyone learn anything?<p>I'm no Bill Gates, but I am a college drop-out who makes a living writing software.<p>I think there are a couple of things that came together for me: Access to computers for the purposes of programming (including in school settings from about age 8 onwards), interest in them, encouragement from family, and enough college level classwork in CS to get a good theoretical grounding. When I left college, it was half because I was too poor a student to buckle down and complete my coursework, and half because I'd found a job at a local software company that already paid pretty well.<p>Compare to Gates, whose wikipedia article states that he started programming at 13 in a prep school and soon formed a "programmers club" with the goal to make money; he "took leave from" Harvard to found Microsoft and never returned.<p>The other thing it's important to remember about whoever you think of as a 'big name' is that they are by definition extreme outliers. For each Gates, are there 100 people whose company failed, and they either returned to school or left the discipline entirely? Are there 1000? On the other hand, there are also a lot who took a similar road and arrived not at worldwide fame and extreme personal wealth but at contentment in their work and comfort in their lives.
Bill Gates described his experience learning to program in one of Malcolm Gladwell’s books. He learned by practicing, for a long time. I did too.<p>Programming is not the same as computer science. How do you know that any of these people are experts in computer science, as opposed to programming?<p>More generally, anyone can learn almost anything with some combination of study, practice, and mentoring. Attending school is one way to get an education, but not the only way, or the most efficient way for everyone. School attendance does not equal learning a skill.
Bill Gates was writing and selling software (with Paul Allen) while in high school.<p><a href="https://en.wikipedia.org/wiki/Traf-O-Data" rel="nofollow">https://en.wikipedia.org/wiki/Traf-O-Data</a><p>The selling part is what sets him apart from almost everyone. Writing lots of code sets him apart from most programmers.<p>Gates was able to learn CS by working alongside experts who he hired to work at Microsoft and self study <i>over decades</i>.
You can actually complete your master thesis and not be any good at programming. You get introductions to coding, but the skill itself isn't the focus of a CS degree.<p>It does help having formal education, but you could just as well read some books. A degree is just a certificate that you have done this and at least partially understood the contents.
80% of what you need to know to be a good programmer is best learned through programming, not course work, and the other 20% you can learn on your own from books. I only ever took one formal CS course but that didn't stop me from building a distributed control system, neural network trainers or dozens of other pieces of software.
To the best of my knowledge, none of the Beatles had any formal training in music and they can’t (or at least couldn’t) read music. Yet they took their talent, did their 10k hours of practice and growth and generated a fair bit of music in various genres. And they were lucky with both timing and meeting George Martin and his engineers. Check out Starostin for his commentary on this.<p>It’s not that book learnin’, it’s practice and reading and interacting with like-minded individuals. As others have commented, CS != programming or even development. And Zuck and Gates profited more from timing and connections than sheer programming ability. Linus or the Bell Labs folks or the MIT family tree are way more learned in CS (they thought some of it up) and development but ya can’t call them famous.
They learned to do their jobs, by doing their jobs.<p>Second point: Your examples aren't really people who rose on <i>their</i> programming skills, are they? They rose on directing the work of others, not just programmers; they had to be able to speak the language in depth but the actual skills leading to their successes are the political and people skills that cooperative enterprises require.
I had to drop out before I got my Bachelor’s degree and I’m missing some of my general requirements rather than CS requirements and I’ve been doing fine as a programmer. So I would say you also have to look when people dropped out and why. If somebody dropped out rather late because they’re already working in the field that is something else than somebody that dropped out before he ever took his first CS course.<p>I also want to say that what I’ve learned at university and what I needed on the job didn’t mach fully (academic needs vs professional needs) and that when I talked to people that are from other universities they had different sets of courses. For example when it comes to algorithms and data structures my classes stressed data structures more than algorithms and it was the other way around for one of my fiends. You need to fill in your specific gaps if you have a degree or not. A university degree teaches you how to fill in those gaps, if you are already an autodidact you can sort of do without.
It’s cause they are already set in life before they drop out. Work is going great lots of money coming in and College is just a distraction at that point
OK. It's obvious but maybe only in hindsight...<p>I started programming computers when I was 10-11 yo. And that was with punch cards on a mainframe. How did I get access to that? Interest, good parents and luck.<p>Bill Gates was a lot like me in that sense - he'd been involved using a time-share computer system all through high school (just as I was also).<p>So he (like me) already had his first 10,000 hours of experience long before he got to Harvard (or I got to engineering school). It was already a 2nd nature skill. Ditto for me for electronics - started at the same age. Ditto for chemistry - started at the same age.<p>So that's how I was the 4.0 curve-breaking in engineering school - I'd already been exposed to all of it just without some of the math and corner-knowledge. I got jobs over summers doing engineering straight out of high school.<p>That included one summer job on a Naval Test Range operating and fixing radar systems - I'd already learned about similar systems through shortwave and amateur radio combined with my electronics building. I was already reading Skolnik's "Radar Handbook" book (and knew it existed) by sophomore year in high school. Note that I had ZERO romantic life and didn't lose my virginity until university plus I've been married and divorced twice - there's always a price - NOTHING is free.<p>In the case of Bill Gates, I'm guessing he realized at Harvard "I'm not learning anything here; I already know what I want to do and even how to do it". Because he indeed could. Plus his family had money so he had options most people never have.<p>That's not the only or even best path but it's a path.<p>I "did time" in government, military and Fortune 20 corporate with my experience (which was ALWAYS a major career advancing asset) so when I decided to move to entrepreneurship, I'd learned a ton about economics, organization behavior, social interactions in addition to how to do things like project management, finance, etc. on top of multiplying up my technical knowledge and skills. That's another path.<p>There is no "right path" BTW.<p>You can NOT become successful just by practicing Cargo Cult behaviors of other successful people (e.g. Elizabeth Holmes cargo-culting on Steve Jobs by wearing the same kind of black turtleneck sweaters apparently for karma). You have to commit to something and enjoy the ride with all gusto. That's the only thing that works (though you never get a guarantee on success either - just table stakes)<p>However, being conscientious and persistent are probably worth slavishly emulating. Those leverage well.
I began programming my first year of high school, and in college ended up getting a Humanities BA. My first job was a computer operator/programmer position. I've been doing sweng and IT stuff for almost 50 years, using many different systems and languages.<p>And, I was almost famous. :)