The skill set includes knowing what the different pieces you can use are (dove tail vs other corner connectors, etc), taking the time to plan out what pieces would be best, etc.
If you want to build nuclear reactors, sky scrapers or semiconductor manufacturing lines, go to college for 4+ years and follow the traditional paths.
If you want to compose a symphony or non-trivial software, skip the college and go sit in front of your instrument(s) for as long as you can stand to every day.
To call programming "Software Engineering" and building coursework around that term would be similar to developing coursework around "Music Engineering". The rigor of science/engineering (while certainly at the foundations of everything) distracts from higher-order and more human understanding once you get past the basics.
The entire game with software is managing complexity in a way that is sustainable for the participants. Effectively, this is what art seeks to accomplish as well. Capturing many raw emotions/ideas and integrating them into a single solution.
The aesthetics of right abstractions are at play that's for sure.