4 ms·
This 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 t
by screye 3y ago
This 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 agoAlgorithmic complexity? distributed systems? Please, I thought somebody will mention some arcane, rare topics that self-taught person may have no opportunity to hear about, but definitely not those really popular topics. People talk about those 2 all the time, especially in context of interview for big_tech >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. You don't need to learn those at your year #0, year #1 or whatever, it heavily depends. But if you worked for e.g 5 years and didnt need those then still nothing prevents you from learning. Anyway, almost all graduates barely have any proficiency in multithreading, let alone distributed systems. >The material may be freely available but it's not stuff that they will consider unless they also have a penchant for boring theory. I thought we were talking about people with drive, with passion, people who are potential candidates for being distinguished engineer, not average person.
- the_only_law 3y ago> Please, I thought somebody will mention some arcane, rare topics that self-taught person may have no opportunity to hear about, but definitely not those really popular topics. Agreed. These are it something many “self taught” developers I know have never heard of. For fucks sale with all the complaining about things like leetcode and other interview styles. do you seriously believe self taught people have never heard of these things? Unfortunately, it seems in recent years “self taught” became synonymous with “some guy who decided to do a bootcamp because he heard there was money in learning to code”.
- bonzini 3y agoIt is more typical of a self taught developer to complain about fizzbuzz, rather than talk about leetcode. These are both extremes but still, the average self taught developer is not the one who interviews for big tech exactly because he has never heard about invariants.
- saltcured 3y agoThose who value the CS degree and the schooling process most are often those who value the whole idea of "schools of thought". The eager student is a blank slate to be influenced by mentors. These influences pass on a culture of knowledge, an ontology of problems and solutions and ways of thinking about them. Also absorbed are implicit boundaries around what is important vs mundane, what is generalist and what are recognized specialties. The school of though is a community where these outcomes are somewhat stereotyped. The students will react similarly to similar questions or debates, not too disparate from their mentors. Those who value the auto-didact most are often those who value the individual pursuit of curiosity and idiosyncrasy. The eager student hunts down or pillages knowledge wherever they can find it. In the extreme, the auto-didact is self-mentored. Individual interests and unguided exploration of existing literature builds a personalized ontology of problems and solutions and ways of thinking. The distinction of important vs mundate, as well as specialization, is more idiosyncratic. The auto-didact may belong to a school of thought with one member. The underlying experience is when these groups meet is almost culture shock. It could lead to great collaboration or to a meltdown, depending on the temperaments of the individuals and their willingness to embrace or interact with the "other"...
- mcguire 3y agoThe are many, many gigabytes of good information available on the Internet. The problem is that they're mixed in with many, many terabytes of not-so-good information. Finding out which is which, when left as an exercise to the reader, is not terribly efficient.
- sph 3y agoSo the real skill to learn is how to efficiently seek information and do research online. If you know how to do that, with some effort you can learn everything you want (in CS). I know I've done iy.
- hnfong 3y agoIs there something from a CS program that can't be learned from studying half a dozen books (or maybe a couple more)? Because that's what "self-taught" means, and unless you can identify the things specifically that can't be practically learned by a determined person without going through a 4 year CS program, you're basically making things up to retrofit to your bias. I don't know why so many people seem to believe that foundational CS knowledge can only be gained through doing a CS degree. The Internet was built by "computer people", and computer related resources were among the first things to be highly available and easily found on the Internet. Maybe what you claim are true in a "literal" sense but I doubt it's very useful. Basically what you're saying is that assuming a person's that did not have a CS degree has a CS skill level X, then if they spent 4 more years studying CS they would presumably have a skill level > X. TBH at the highest levels I'm not sure whether this even holds, since once you get to a certain point, the depth of your knowledge and skill has to be complemented with some breadth as well. Often interdisciplinary knowledge brings new insights.
- peterfirefly 3y ago> Is there something from a CS program that can't be learned from studying half a dozen books (or maybe a couple more)? Yes ;) -- you can't teach "Stanford", "MIT", or "Harvard".
- screye 3y agoIsn't this sort of true though ? Not just the prestige, but the really strong networks you build. It helps you be 'I know a guy who knows a guy' distance from VCs, experts and hiring managers at top labs. A lot of my close friends went here, and they're able to catch up over phone with people who leave my linkedin requests on 'pending', and this is with folks who've achieved exactly the same as me at the same age. It is a force multiplier beyond comprehension.
- ipaddr 3y agoIf your purpose is creating a strong network, becoming a CEO and leveraging relationships later in life you don't go to those schools for computer science. What a waste of an opportunity. Go into business and meet important people. Or go into the arts so you have time to join social clubs. Going to those places to get a VC to email you more easily is better achieved by getting into an yc or some other incubator.
- CyberDildonics 3y agoThe other way to look at it is that this company does not know how to hire people and can barely tell the difference between great self taught programmers and terrible graduates from a school with a good name.
- vvanders 3y agoDegrees are useful but there's a whole class of things they skip over as well. When I was going to college the state college didn't teach C on a regular basis and we usually had a number of people at my community college since the course was offered there. When I was looking to transfer from community college into state not a single college offered C++(it was during peak Java) and so I didn't attend. Even then I regularly find that so-called "fundamentals" are missing, the number of times I've had to explain page tables, how the kernel shares memory and other core details is surprising. Everyone drives Big-O notation left/right/center but can't tell what a page fault is or why algorithms with higher complexity wipe the floor with better "ideal" algorithms under actual operating constraints. I've found that engineers who have drive or innate curiosity will poke in those areas but getting a degree doesn't automatically confer that knowledge(or guarantee that it sticks). Also, if you're getting into systems programming I care about 0% about "prestige", it's a domain that is even more binary(things work or they blow up spectacularly[1]) than some other programming domains. I care that someone understands the fundamentals, can apply reasoning and drive a hypothesis with data more than what college they did/didn't attend. [1] https://www.usenix.org/system/files/1311_05-08_mickens.pdf https://www.usenix.org/system/files/1311_05-08_mickens.pdf
- madsbuch 3y ago> When I was looking to transfer from community college into state not a single college offered C++(it was during peak Java) and so I didn't attend. Why is C / C++ education so important? Personally, What helped my during my studies were type theory, PL, complexity theory, etc. Had I gone into systems development, then my compiler courses would probably be of most value (which are standard curriculum in any CS degree).
- vvanders 3y agoIf you don't understand C, C++, or one could argue Rust these days you're sitting at an abstraction level much higher than where the "systems" domain tends to be. ABI, cache misses, page tables and memory mapping, restrict, all of that stuff is at an arm's length in a managed language. One of the best courses I had was taught by Bruce Dawson, it was an entry-level "image processing" course but really it was a tour-de-force on cache hierarchies, modern computer architecture and how to build efficient real-world algorithms and not things that just scored well on the complexity scale. The first assignment was a simple bit-blit, he grabbed a random assignment from the class and in about ~30 minutes walked us through a multi-order-of-magnitude performance improvement with just small adjustments that made the program more cache-aware and also showed how you empirically test for performance improvements instead of doing it in a theoretical manner. Back when I was in college(which was admittedly a long while back now) those sorts of things just weren't taught and that class was by-and-far an outlier from traditional coursework. My experience has been that even though there's a lot of talk about "fundamentals" in a CS degree it's touched at such a shallow layer that practical application of any of those fundamentals are missing and it doesn't "stick". I've met all of a handful of people who can tell me what restrict does(much less how to use it), what a cache-aware data structure is or why we care about value types. ABI is just a 3-letter word to a large majority of people because they just don't have to deal with it(but are then oblivious when it blows up, I.E the number of times I've seen STL in what are supposed to be ABI-safe boundaries). That stuff is all foundational at the systems level. I've had much better luck with breaking people of their assumptions(I.E. Big-O) and working up from first-principals of how computer architecture works and structuring systems in such a way that take advantage of that instead of a theoretical ideal.
- zlg_codes 3y agoHey, find me a college with a good CS program that isn't just half-assed IT is disguise, that's accessible to a low class white guy, and I'll ace that Bachelor's program. There are many others like me who would and could do it, but lack the financial or social resources to put it into action. If I lived in Europe I could have my education paid for.
- screye 3y agoYour local flagship state-school likely has a fairly rigorous CS program. This is especially true if you engage with the professor and ask for challenging work & deeper clarifications in office hours. 4 years instate tuition is around $15k * 4 = $60k total. That's not cheap, but not that expensive either. If you are smart enough to end up an excellent software engineer, then you should be able to get decent enough SATs and Grades to get into your local flagship state school.
- zlg_codes 3y agoI will not be taking out a loan to go to school. I have seen too many people fall into the pit of debt, and with the current political climate with the older generation completely comfortable screwing over younger generations with false promises of success, I prefer to be financially solvent when I graduate. If my country cannot do this, then it is a failure compared to Europe. So, that means either financial aid, or a scholarship. Are there any scholarships for low income white guys? My guess is no, because we are assumed to be on top of society already. I'd be considered an older student too since I'm in my late 30s. Based on my own cursory search, there are no real opportunities for me to reach higher education without putting myself into potentially life-ending debt. I'm even in a state that's renowned for CS (Washington) and I have not found anything.
- zlg_codes 3y agoIn the interest of trying to prove myself wrong, I looked around a little harder, and preferring government sources to any old page. https://wsac.wa.gov/sfa-overview https://wsac.wa.gov/sfa-overview A lot of programs seem to be targeting mostly high school students or minorities. It's great that those groups are getting help, but I cannot help feeling left out. Is my desire for education or a better life less valuable or less important because of my identity? Of the programs listed on that page, I have a chance at maybe two: the State Work Study, or the College Grant. The College Grant seems to look at a lot of variables, so the level of coverage may not be as "free college" as advertised, though I do make less than 200% of federal poverty at present. The others which advertised helping disadvantaged people seemed more focused on helping women, minorities, and foster children. Fair, of course, but still doesn't seem like they'd be interested in helping someone like me. It seems like a wonderful environment for non-white, non-male students to get a leg up. Lots of stuff to help them. I wonder if there's a male outreach program to get enrollment and graduate rates up for men, since they've been falling for at least a decade...