Tech's most contentious debates end with people talking over each other, but they make way more sense viewed through the lens of inter-generational conflict.
What you did with the message queu in Javascript is impressive. And I’m sure there are other efforts that solved “impossible” problems in creative ways. Creativity is important in a lot of professions and I can admit that it is probably more important in programming than, say, accounting (I hear “creative accounting” is not a good thing). However, I don’t think creativity is vital in what we do. It’s useful, sure. But, for example, it’s not as important as critical thinking. I think the real problem is that we are a relatively new engineering discipline that is still under rapid change. The paradox is, if we look at the programming paradigms, we don’t actually see many new things. We reheat the stuff from 60s/70s all the time (functional programming is a good example). But the socio-technical aspects of what we do (and how we do it) is under constant change (waterfall, agile, autonomy, etc.). And, this is probably what makes software unique. We have a very short feedback loop (as opposed to building a bridge). And I would say, that should also have its place in education.
What you did with the message queu in Javascript is impressive. And I’m sure there are other efforts that solved “impossible” problems in creative ways. Creativity is important in a lot of professions and I can admit that it is probably more important in programming than, say, accounting (I hear “creative accounting” is not a good thing). However, I don’t think creativity is vital in what we do. It’s useful, sure. But, for example, it’s not as important as critical thinking. I think the real problem is that we are a relatively new engineering discipline that is still under rapid change. The paradox is, if we look at the programming paradigms, we don’t actually see many new things. We reheat the stuff from 60s/70s all the time (functional programming is a good example). But the socio-technical aspects of what we do (and how we do it) is under constant change (waterfall, agile, autonomy, etc.). And, this is probably what makes software unique. We have a very short feedback loop (as opposed to building a bridge). And I would say, that should also have its place in education.
This talk by Dave Farley sums up my thoughts about “software engineering” quite well: Taking Back “Software Engineering” – Craftsmanship is Insufficient (Piped link).