3 ms·
I disagree that the "practice" taught in CS classes gets out of date with industry. Consider that modern websites use a communication protocol first developed i
by zhemao 13y ago
I disagree that the "practice" taught in CS classes gets out of date with industry. Consider that modern websites use a communication protocol first developed in the 1990s and run on operating systems largely inspired by one developed in the 1970s. Of course, some things do change quickly, like what database/programming language/web framework is "in" at this particular time. The underlying concepts, however, do not change as quickly, and those are the things that engineering schools tend to teach. I just graduated from engineering school and started working. The things I learned in engineering school come up all the time. I'm especially glad I took Operating Systems. Sure, you could get through college and get a CS degree without learning anything practical, but if you pick challenging and practical classes, you'll come out a much better engineer.
Also, about the "4 years is a high opportunity cost" thing. Given how it's much easier to find a high-paying software engineering job with a bachelor's degree than without, it's probably worth it. Besides, just because someone is in school doesn't mean they can't follow along with the latest industry trends, especially in CS where much of it is open source. It's not like the only learning you do in college is in your classes.
So my advice to matteotom is ... go to college. Take challenging classes that interest you (I highly recommend studying operating systems, compilers, and computer architecture). But also, don't neglect the opportunity to learn things outside of class (sounds like you won't really have much of a problem here). Do internships in the summers to get some industry experience (and a nice paycheck). And yes, of course, don't forget to make friends and have fun (I certainly wish I did more of that in college).