<p>I wouldn’t take Joel to heart too much. The “abstract fluff” stuff (and btw, that’s an oxymoron, as the abstract stuff is usually the very core of the material with everything else abstracted away) is pretty important. It’ll teach you how to think. It’ll teach you why whatever the heck you’re doing makes sense and is the right thing to do.</p>
<p>Also, there’s not really too many abstract courses required for a CS degree at Michigan. Instead, there’s tons of entirely meaningful classes - operating systems, compilers, A.I., databases, networking, whatever you like.</p>
<p>
</p>
<p>It’s possible, that’s for sure. But usually, you’d like some of your school projects to involve coding, which is not going to happen in a foreign language major. So that’s one of the downsides of what you’re proposing. Even so, it’s possible to get a software engineering job with any degree, or even no degree, if you’re comfortable having to go above and beyond to show you’re competent.</p>
<p>I actually was thinking of learning programming if there was no jobs after I finish college. And my wishful thinking was since I would be a Umich grad, I might be able to get the 75k jobs that Umich CS majors get instead of 55k jobs that low-prestigious CS majors get.</p>