5 ms·
I'm about 20 years into my career as a self-taught software engineer. I mostly work with companies that only hire out of MIT, Cornell, Stanford, Waterloo, etc.
by busterarm 3y ago
I'm about 20 years into my career as a self-taught software engineer. I mostly work with companies that only hire out of MIT, Cornell, Stanford, Waterloo, etc.
By and large my experience with these graduates is that their awareness of the field does not extend much beyond what they learned in school and what the current hype technology is (today it's ML). If you got enormously lucky, they worked or interned somewhere special and were able to expand their skillset.
Consistently, the absolute best developers I've worked with tend to be self taught and especially people with Computer Music degrees. It turns out that learning DSP is a skill that pays huge dividends elsewhere in this field. I've also worked with CompSci Ph.D.s that can't build their way out of a wet paper bag.
As far as the degree programs go though, Waterloo is excellent. I would even say above the rest. Even MIT. I am consistently impressed with their graduates that I've had the privilege to work with.
And as for my own journey, I have my weak spots. I also tend to read more papers and technical books than most of my peers by a significant margin. I think that's my edge.
- commonlisp94 3y ago> I also tend to read more papers and technical books I have only met one self-taught person who reads anything like this. My experience is exactly the opposite. Most self-taught programmers are great at programming and solving business problems, but tend to be less technical and think academic stuff is a waste of time.
- busterarm 3y agoFunny. It might be the companies that I've worked for but I tend to find with _all programmers_ is that we're all too often focused on the individual problems at hand and their complications and we fail to recognize them for the simple, well-described academic problems that they actually are. Often there's some self-imposed and pointless complication that prevents us from reducing the problem we're working on and we'd be better off changing the constraints than going down the road we're already on. The academic stuff is invaluable, but people only get a small nibble of it in their degree programs. That's why I value the knowledge over the education/process.
- commonlisp94 3y agoI agree with that experience, but it's not clear how it relates to the topic we are discussing.
- busterarm 3y agoMy argument would be that having the education/degree does not help you correlate the day to day work in the field with what you learned to get that degree. The degree is worth dirt if you can't apply that experience to your job and I think that's the case an above-average amount of the time. So maybe getting the degree isn't necessarily the best path to get into our industry.
- commonlisp94 3y ago> having the education/degree does not help you correlate the day to day work in the field with what you learned I also agree with that. The vast majority just aren't interested or did the minimum to pass classes, without really absorbing it. What I disagree with is the self-taught correlation. The people who can do what you describe overwhelming are academically curious and have degrees. > maybe getting the degree isn't necessarily the best path I think you'll find a similar pattern in all fields. I think what's more in question is the ability of education to transform ingrained aptitudes and interests.
- twic 3y agoIn my experience, it's very rare that there is a self-imposed and pointless complication that prevents a real problem being reduced to an academically tractable one, and far more common that there is a second-rate programmer on the team who thinks there is.
- VirusNewbie 3y agoI dunno, I’m consistently having to teach PhD folks stuff at FAANG and I didn’t go to college. A lot of them only have a cursory understanding of distributed systems, graph theory, type theory, abstract algebra, compilers, etc.
- dlisboa 3y agoI have the opposite experience, though in a different country than yours. Most people I've met in the industry that did not have a formal education (or an interest in one) would end up scratching the surface and not really dig deeper. The best programmers I know did go to great college programs. Not that the programs made them great programmers, but they acquired a breadth (not depth) of knowledge that prepared them for a lifetime of learning. Without formal education it's very hard for you to know what you DON'T know. You can go very far in this industry without ever touching a book, giving people the assumption that it's a waste of time. Bootcamps prepare people for work leave it at that, where many people stagnate. College has quite a few problems, and for some really driven people it's not necessary, but on average it works.
- nonameiguess 3y agoI would say my own experience actually comports with what both of you are saying. Anyone I've worked who self-taught over 20 years ago is damn near universally talented, dedicated, and good at what they do, both because they stuck with it and gained decades worth of experience, and because they loved computing enough before it was trendy to actually care and teach themselves something like this over 20 years ago. On the other hand, if you're talking about people who decided in the last decade, as tech salaries exploded and other industries dried up, that they could just learn to code without a formal education because everything is on the Internet anyway, they seem to largely be bare-minimum "I understand roughly how a browser works and damn near nothing else about computers and networks and distributed systems" types. And the quality of a brand-new college grad is almost always lower than a multi-decade veteran, regardless of where they went to school, but that doesn't mean the education was valueless. That doesn't seem like a revelation.
- screye 3y agoThis is Survivorship bias in full swing. The only self-taught developers who would get an interview at a top systems lab, would be ones who have far surpassed the achievements of the average MIT/Stanford grad. The kind of person who'd shine as a self-taught developer, would be on their way to be distinguished engineer if they'd just done a CS degree to go with it. A degree does not kill the energy and initiative that makes for a top-tier self-taught engineer. But, it grounds your foundations, opens doors and lends you much needed prestige. All of these together will put a person on course for exceeding any 'merely self-taught' or 'merely MIT educated' engineer. Your best self-taught Computer Music hires would likely have been even better if they'd done CS. And if they're good enough to be practically guaranteed 6-figure salaries, then the debt of university education is hardly a risk at all. Hell, they could pay off their debt just from internship-salaries and signing bonuses.
- tester756 3y ago>The kind of person who'd shine as a self-taught developer, would be on their way to be distinguished engineer if they'd just done a CS degree to go with it. what makes you think so? how would those basics of basics of computers and stuff would help you to become distinguished engineer? self-taught people with huge curiosity are well aware of this stuff because this material is available on the internet freely
- bonzini 3y agoBecause you have to relearn all the foundational stuff. Algorithmic complexity, invariants or fundamentals of distributed systems may be useless as a junior developer, but once you proceed to more complex stuff it pays off that you have already learnt them, maybe even applied them for an internship. A self taught person doesn't even know that these things exist unless they also have an excellent mentor at the beginning of their career in the industry. The material may be freely available but it's not stuff that they will consider unless they also have a penchant for boring theory.
- tester756 3y ago