re: mini software dev rant
@dysfun@treehouse.systems Oh yeah, to expand on my earlier comment about teaching problem decomposition to programmers: my approach to teaching it is somewhat non-standard, in that I let students pick *their own* projects to work on, regardless of what its total complexity would be (explicitly stating that it's completely okay if they never actually *complete* it fully), and then help them break down their own project into smaller bits and pieces.
I do this instead of giving them 'example projects' because with their *own* projects, they would already fully understand all the details of what they want to achieve, so the only unknown is "how to approach it". If I used sample projects, they'd have to simultaneously understand (and probably misunderstand) what the goals of the sample project are.
Overall this makes it much much easier to learn problem decomposition because they 100% understand the frame of reference 100% of the time, ie. they have a stable base to work from, and so they can actually reason about the smaller pieces and why they're chopped up like that.
After doing that a few times, they eventually learn the patterns and how to identify sensible problem boundaries, and start being able to do it independently.