5 ms·
The real problem with CS is that it changes quickly and skills become obsolete. If you don't actively work to maintain current skills you are likely to end up g
by hodgesrm 8y ago
The real problem with CS is that it changes quickly and skills become obsolete. If you don't actively work to maintain current skills you are likely to end up getting turfed out in the next downturn. Even that's not a unique problem. IBM assembler programmers and blacksmiths are both pretty rare these days, for similar reasons.
- jdsully 8y agoComputer Science - as in the fundamentals and mathematics behind computation do not change frequently at all. Graph theory never really goes out of style, and the biggest changes have been with respect to distributed computing and conflict resolution. The thing that scares me the most is the confusion of software frameworks and platforms with "CS" and fundamentals. Its as if people believe there aren't any fundamentals at all.
- hodgesrm 8y agoI mentor students in CS programs. A lot of the material is very topical. Also, the stuff that gets you a job (or helps you keep it) is likewise topical. It's fine to know about dining philosophers but if you can't implement solutions in the language du jour a lot of places won't hire you.
- jdsully 8y agoI really think that explains much of the problems of our industry. CS should teach the fundamental concepts all these languages are based upon. When you've learned that a new language is merely a different mapping of these concepts rather than something completely new, it becomes quite easy to pick up new things. You understand they are just assigning different syntactical weight to the same old concepts. In that respect I liked that my education taught me things like LISP and smalltalk that are quite different from C/C++/Java that was big at the time. If I didn't have that field of view I might think smalltalk is its own thing entirely and I'd have to relearn everything.
- hodgesrm 8y agoThis is a point where reasonable humans can disagree. There's a middle ground that includes enough current practice to get you an entry level job + enough of the theory to ensure you can continue learning efficiently over the course of your career.
- 0x445442 8y agoBut IBM Mainframe programmers aren't as rare as one might think. And that platform is one a young person can grow with their whole career instead be whip sawed by the latest Javascript framework every year.
- hodgesrm 8y agoSure, ASM is a thing for some people. But such programmers are a vastly smaller fraction of the programming pool than they were in the days when application packages like accounting systems were written in Assembler. COBOL, FORTRAN, and PL/1 put an end to that.