3 ms·
Good software engineering is ridiculously difficult to the extent that nobody gets it right, everything sucks everywhere, and there's no way to win. It requires
by tedks 10y ago
Good software engineering is ridiculously difficult to the extent that nobody gets it right, everything sucks everywhere, and there's no way to win. It requires a lot of domain expertise and background knowledge that goes far beyond just programming. That's why developers are, as you put it, hella paid.
That said, programmatic thinking itself is much simpler. Learning how to think algorithmically and think about things like recursion, iteration, functional abstraction, etc., are definitely things everyone can learn to do. And this sort of thinking is valuable in areas other than software engineering. The weakest thing you can claim is that knowing programming lets people write programs, which is somewhat popular hobby activity among people can do it regardless of their profession, and something that there's some value in given the success of IFTT, Tasker, and similar systems that either approach or are actually programming.
- elliotec 10y agoOk, I don't disagree with that. So if they teach programmatic thinking in the ways you describe from a very young age, and they can apply it to realms outside software engineering, then it makes perfect sense to teach.
- damptowel 10y agoMy course started with learning structured programming logic by drawing structograms. From 'what is a variable?' to several sorting algorithms and their time complexity. No keyboard was touched, everything was computed by hand to tables. I found it hugely satisfying and think just doing the thinking-like-a-machine bit is a great addition to any curriculum. It doesn't need to make programmers out of every one, it just needs to show young students that programming isn't this black art only math geniuses can aspire to, because it's too often portrayed that way.