We've reached an era where the average worker's serviceable time long outlives the competitive edge they've gained from their education/training in their formative years. The accelerating pace of economic and technological change is faster than ever, and this condition is unprecedented in human history.
I've become more and more convinced that this is the defining problem of our times- we're becoming victims of our own success. The author of this post feels like a dinosaur, and I would bet that many young people in our field who give in to their natural instincts and specialize in something will emerge on the other end feeling the same, at a much younger age than the author, and maybe unable to find equal or better work than before.
In other professions, the difference is more stark, and I think this is a major catalyst for the political/populist zeitgeist of the day. Entire industries have disappeared in a historical blink of an eye, and their former struggling workers are up in arms fighting powerful forces of nature trying to turn back the clock and stay relevant / valuable.
Bringing this back to CS, it's interesting to use this lens to determine whether the degree is worth pursuing anymore. On the one hand, it's fundamental and it encompasses the building blocks of how computers work and what they can do. On the other hand, programming techniques haven't changed very much and are quickly becoming commoditized and more accessible. As the author notes, it's true that you don't need to know as much as you used to, to build a useful program anymore. Like it or not, that's a fact, and economic forces are exploiting this more and more.
I think our human-being wiring is optimized to learn when young, and then "grow up" and become efficient at repeatedly applying our skills to obtain the expected outcome. Increasingly, I feel like the winning (or at least a better) strategy is to stay "young" as much as possible, since the chance you will need to reinvent yourself seems to only rise. This sounds great when you're actually young, but as time passes you get worse and worse at it, despite needing to remain "young" and malleable, and despite the mounting competition from actual young people.
So given all this, saying people "need" a CS degree seems like punching and kicking at giant waves you'll never beat. And I say this as someone who deeply loves both CS and academia. Stay "young" as best you can and try to keep riding the next wave you can find.
Disclaimer: My only formal training in this field was TAFE in Australia, which involved an 18 month course and is roughly analogous to a trade school or community college, before that I was a high school drop out.
> We've reached an era where the average worker's serviceable time long outlives the competitive edge they've gained from their education/training in their formative years. The accelerating pace of economic and technological change is faster than ever, and this condition is unprecedented in human history.
I think when change is this fast understanding the basic building blocks is more important than ever. These don't change quickly, some haven't changed since the industry was born. So much technological change is just reinventing concepts that have existed for decades and once you realize you're staring at an old concept in a new package keeping up is much easier.
The question then is what educational format teaches these fundamentals the best. For some of them it probably is a computer science course but for others it might not be. One of the best classes I had was building our own database (TAFE was pretty hands on) and from what I've seen this was a lot better than how it's taught in many universities. We had to start at the file level and think through the various steps to make a half decent database, like what is required to handle index lookups efficiently, how to retrieve records in order, etc. It gives you a much more intuitive grasp of what steps a DBMS has to go through on your behalf. In my first real job after graduating I had to explain to someone with a CS degree why storing dates as strings was inefficient and making our monthly billing took half a day to generate instead of half a second.
Foundational knowledge is important but the where/when and how we obtain this knowledge could do with a shake up, you can produce a lot of valuable output without an upfront 3-4 year investment, but it doesn't seem like there are a lot of opportunities to gain it after becoming a full time worker.
I've become more and more convinced that this is the defining problem of our times- we're becoming victims of our own success. The author of this post feels like a dinosaur, and I would bet that many young people in our field who give in to their natural instincts and specialize in something will emerge on the other end feeling the same, at a much younger age than the author, and maybe unable to find equal or better work than before.
In other professions, the difference is more stark, and I think this is a major catalyst for the political/populist zeitgeist of the day. Entire industries have disappeared in a historical blink of an eye, and their former struggling workers are up in arms fighting powerful forces of nature trying to turn back the clock and stay relevant / valuable.
Bringing this back to CS, it's interesting to use this lens to determine whether the degree is worth pursuing anymore. On the one hand, it's fundamental and it encompasses the building blocks of how computers work and what they can do. On the other hand, programming techniques haven't changed very much and are quickly becoming commoditized and more accessible. As the author notes, it's true that you don't need to know as much as you used to, to build a useful program anymore. Like it or not, that's a fact, and economic forces are exploiting this more and more.
I think our human-being wiring is optimized to learn when young, and then "grow up" and become efficient at repeatedly applying our skills to obtain the expected outcome. Increasingly, I feel like the winning (or at least a better) strategy is to stay "young" as much as possible, since the chance you will need to reinvent yourself seems to only rise. This sounds great when you're actually young, but as time passes you get worse and worse at it, despite needing to remain "young" and malleable, and despite the mounting competition from actual young people.
So given all this, saying people "need" a CS degree seems like punching and kicking at giant waves you'll never beat. And I say this as someone who deeply loves both CS and academia. Stay "young" as best you can and try to keep riding the next wave you can find.