6 ms·
Because you have to relearn all the foundational stuff. Algorithmic complexity, invariants or fundamentals of distributed systems may be useless as a junior dev
by bonzini 3y ago
Because 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"...
- peterfirefly 3y ago> 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. I was perfectly aware of them as a 15-year-old teenager decades ago. Think of your own situation -- did you learn what you know about JITs by taking formal classes?
- bonzini 3y agoAnd how often do you hear people complaining that "interviewers only care about useless stuff like complexity" and "why wouldn't you be able to look up complexities if you really need them" (which only shows that you don't understand why complexity matters)? The reality is that these are arcane topics for 99% of the programmers out there and even more of the self taught ones. > did you learn what you know about JITs by taking formal classes? No, but JITs or emulators are not fundamental topics. One example I can give is this: solid knowledge of data structures, together with some theoretical 20-years-old knowledge of query plans and normalization, meant I could understand a database's EXPLAIN output and quickly learn materialized subqueries and denormalization the first time I needed them. Even obsolete knowledge has a core that is still valid, and experience is also about being able to recall it and apply it. If you have done some CS at school, you will be faster at this because you have more dormant concepts that you can recall.
- the_only_law 3y ago> And how often do you hear people complaining that "interviewers only care about useless stuff like complexity" and "why wouldn't you be able to look up complexities if you really need them" (which only shows that you don't understand why complexity matters)? Now how the fuck do you complain about something if you’ve never even heard of and “don’t know exists”. No one who’s never heard of algorithmic complexity or invariants aren’t going to complain about them because, perhaps to your amazement, they simply have no idea these things exist. But maybe that concept is a bit too complex for you.
- bonzini 3y ago