| Those things aren't taught in CS programs as the majority of companies don't need those skills. Most want application development such-as a web or iOS app developer. This sort of thing is very relevant for someone writing an application or a server process. Programmers who can write their own compiler are much better C and C++ programmers, because they have relevant background. Programmers who understand the low level stuff can write faster code when it's important, and they know better where to look when optimizing. Since when has our "field" become so flubby that we're now eschewing the notion of background knowledge? Are you telling me that we are churning out Comp Sci grads who couldn't write their own low level libraries or compilers? Tech people should have at least a working knowledge of how their own tools work, to the extent that if civilization fell, they could have a good chance of recreating primitive versions of those things. However Computer Engineering programs teach those concepts as the focus is on low power micro controllers. Also relevant to high performance code. Also relevant to game engines. Also relevant to interfacing servers with legacy code. Also relevant to technology like WASM. Whoever decided to relegate stuff like that to Computer Engineering seems guilty of the same ignorance I see in these recent students. |
I do mainly frontend web development with EmberJS, and occasionally work on our backend which is also JS, and I've been doing that for a little over 2 years now.
I never went to college and so a lot of the stuff you guys have been talking about in this thread goes right over my head. I've never written a compiler, the last time I wrote any C++ was high school, and I would so easily fail a lot of these interviews if those were the questions being asked. With all of that said, I think I do a good job at what I do without all of that knowledge. The industry is increasingly heading towards web/app dev in a lot of positions as other people mentioned, and I think it's very elitist to judge people for not knowing everything you do, even if you think it's important. The fact that this industry is becoming so open to so many people is amazing. Me being able to find a good job without a college degree just because of my knowledge of computers is what I love about tech. I think mindsets like yours are what help drive people away from it because they think they need a ton of knowledge to get an entry-level job, and that's just simply not true.
I don't want to sound like I'm accusing you of being malicious, I just wanted to share my point of view as someone who is relatively new to the industry and never went to college and doesn't have the knowledge that you are suggesting is very relevant. Maybe it is relevant and I just haven't figured that out yet, but from where I'm sitting that feels like something that could be taught instead of a hard and fast rule for hiring.