4 ms·
I think it's worth noting that some of the most celebrated programmers have been self-taught – think Aaron Swartz, John Carmack, George Hotz and so on. Among le
by kubrickslair 3y ago
I think it's worth noting that some of the most celebrated programmers have been self-taught – think Aaron Swartz, John Carmack, George Hotz and so on. Among leading academics also, it's not unusual to find those without formal undergraduate degrees in CS. Many come from mathematics backgrounds, including several Turing Award recipients.
In the world of software development, degrees have often held less sway, and I think this trend will only become more pronounced. Too much focus on CS degrees I feel does not account for the inherent nature of the role - and I say this as a CS grad from a top school.
- eatonphil 3y agoAnother datapoint, Anders Hejlsberg (author of C#, TypeScript, etc.) didn't graduate from university. https://www.thecrazyprogrammer.com/2022/08/anders-hejlsberg-biography.html https://www.thecrazyprogrammer.com/2022/08/anders-hejlsberg-... However, I'm sure that the ideal (if not the norm) in systems programming companies is that you did finish at least a bachelor's degree. So it's not like you betting against formal education is a good idea.
- anta40 3y agoTorvalds, a hardcore system programming guy got a Master degree: https://www.cs.helsinki.fi/u/kutvonen/index_files/linus.pdf https://www.cs.helsinki.fi/u/kutvonen/index_files/linus.pdf For example... :D
- SuboptimalEng 3y agoI feel this is a weak argument. Like saying Bill Gates and Zuckerberg dropped out — but they dropped out of Harvard. IIRC, George Hotz studied at CMU for a semester, took 4 difficult classes, got a 4.0, and won a CTF competition before dropping out. My take is that the normal programmer (frontend, backend, systems, etc.) would benefit greatly from a CS degree.
- bena 3y agoGates was also taking upper and graduate level courses as a freshman/sophomore. And technically, Gates is on an extended sabbatical from Harvard. He took leave to see if this software thing would pan out. If it fails, he still has Harvard as a fallback plan.
- kubrickslair 3y agoYes, but George Hotz went to CMU after already accomplishing more than many of us might accomplish in our entire careers. So the broader point on pigeonholing still stands. I agree that for the average programmer, the CS degree still helps, but these outliers remind us that talent can blossom in many ways!
- saiya-jin 3y agoI used to think that too when I was younger a way less experienced. Suffice to say, not so much anymore. The reason, apart from US which is unique in this in worst possible way, is something else than just pure code hacking skills - these are not that important. What even the crappiest school will teach you way better than no school at all - discipline. Wading through tons of useless topics (at least in my case), its hard to be self-centered primadona. Real work looks much more like meetings, wading through tons of documentation, accepting mundane tasks since they improve things overall but are not fun at all. Brilliant self-thought people usually require fun and challenging work or they quickly move away, which most work isn't, even in software. I'll take OK disciplined guy over stellar one which needs management babysitting re what I mentioned, any day. YMMV. But yeah what is actually taught in school, at least in my era, was basically useless at work. The stuff that helped were my projects where I picked/created topics that actually helped me to get better at given area.
- hnfong 3y agoI'm not sure school teaches you discipline rather than filter out the people who don't have discipline by making them unable to graduate unless they ingest all the useless crap taught there (together with the useful stuff). If you can't teach an employee to be more disciplined when you can put their job on the line, I don't know why you'd think that even the crappiest school knows some secret to teaching discipline that you don't. Of course that means if you're hiring and need somebody with "discipline", maybe hiring a CS grad makes sense. But if my hypothesis is correct, a high school student probably wouldn't benefit from going to university to learn "discipline". Not that I think putting up with crap is something I'd want to actively learn.
- sho_hn 3y agoIt's a bit self-aggrandizing to make decisions based on comparing yourself to exceptional people, though. It may be that John Carmack didn't need to graduate, but that the average programmer could still benefit from structured learning and a suitable environment. I have a particular perspective on this: I well into my own career now. I'm presently chief architect at an automaker, and a decent enough systems/embedded programmer - you've probably used some code I've written today at some point. And I didn't even graduate high school. I've often had a chip on my shoulder about this when I was younger. I am particularly sensitive to "so what school did you go to?" class distinctions when I encounter them. I fully agree people in tech should get a chance to be evaluated regardless of their academical background, and I definitely don't insist on one when I hire. That said, there's an even mix of great people around me who have spent extensive time in education and academia, and those who have spent none at all. The ones who did rarely regret it, and often found ways to use the environment to its fullest. I got lucky, too: I fell in with open source instead of, say, online gaming as a teen, and spent my "idle afternoons as a lazy kid" fixing bugs in browser engines and other things that turned out to be useful. Because that online environment was motivating and because I had some fantastic mentors. I'll forever be grateful to my past friend who sent me his yellowed old copy of Wirth's "Algorithms and Data Structures" - with code examples in Modula-2! IMHO: Forget about exceptionalism, what matters is what you spend your productive hours in the day on and who you do it with. For many their best, easiest way to get something like that in place is likely to attend a university. There are alternatives, but make sure you seek out some version of this.
- mcguire 3y ago"Among leading academics also, it's not unusual to find those without formal undergraduate degrees in CS. Many come from mathematics backgrounds, including several Turing Award recipients." Before 1975, computer science degree programs were pretty thin on the ground. Most of the Turing Award winners have degrees in physics, mathematics, or electrical engineering, which were closely related to CS. Fortunately, today, you can become interested in CS topics and easily find a CS program without going through one of the other disciplines.
- kubrickslair 3y agoI think it’s a little more complex. Reflecting on a decade ago, my then relatively young PhD advisor, along with many colleagues, came from a myriad of backgrounds – applied math being a standout. And some of them ended up doing really remarkable work - almost everyone has used some work that came out of our lab. So I think pigeonholing on CS is not a good idea. My stress on achievements was just to underscore this point.
- mcguire 3y agoI don't know. I graduated with a BA in CS (which is no longer available), and am pretty happy to have skipped the chem/bio/physics requirement; those are a lot of work for very little gain as far as I can see. I've gotten much more use out of the formal logic and automata theory classes (which weren't taught by the CS dept.).