But as an engineer (well, at that time, a tinkerer in high school), it was very frustrating how they had their own flawed formats and protocols. They made it as difficult as possible to interoperate in order to entrench their dominant position. I guess it's what all the biggest tech businesses did in their day.
Networking sucked, filesystems sucked, windows updates sucked. There were arbitrary limitations on "home" and "pro" versions (like number of concurrent connections). And it was all closed, so third party fixes were brittle binary patches.
And then there was OOXML, microsoft's "hey, we have an open XML format too! we named it so common people would confuse it with openoffice, and we had to whip it up quick so we just gave the ambiguous binary bit flags names and put them in xml tags!"
Surely you recall this memo about ACPI, and how unfortunate it would be if linux worked great with it: http://edge-op.org/iowa/www.iowaconsumercase.org/011607/3000...
So yeah, Microsoft wasn't an african warlord conscripting children or anything like that. They weren't dumping toxic chemicals into the environment. They were just offering software, and people more or less did fine with it. And these days they're doing practically everything differently than they used to. But a software engineer hating microsoft in the early 2000s was completely justified. It wasn't personal, just business, but they went out of their way to make my life worse, over and over again.