> Incidentally, this sort of thing is why, 25 years ago, I became a theoretical rather than applied computer scientist. Even before you get to any serious software engineering, the applied part of computing involves a neverending struggle to make machines do what you need them to do—get a document to print, a website to load, a software package to install—in ways that are harrowing and not the slightest bit intellectually interesting. You learn, not about the nature of reality, but only about the terrible design decisions of other people.<p>That really resonates. Something random broke, for some random reason. What contortions do I have to go through to get it back to working? What random maze do I have to run? That's not software engineering; that's just masochism. It's exhausting, and it's <i>pointless</i>. It's just a drain.