When Engineers Run the Asylum

Get ready for some crazy designs!


This post is not a rant about Microsoft. It could be a rant about Microsoft, but it is not. I mean sure, I could talk about…

  • The time I had a coworker with the last name Cotten that had just accepted that Word would never let her spell her name correctly
  • The couple of years when I first worked on thin clients in a Virtual Desktop Infrastructure environment, and our settings didn’t persist between logins, so I had to click “no, I don’t want to automatically create lists”, “no, I don’t want you automatically adjust my capitalization”, “no, I don’t want you to open Word documents that were emailed to me in reading mode”, etc every. single. day.
  • Speaking of reading mode, does anyone out there have even the slightest idea of what the purpose of reading mode (aka completely-mess-up-your-document-layout-by-warping-it-into-some-weird-split-page-view-based-on-rules-that-are-never-explained mode) even was?!?!? Seriously, why did it even exist, let alone be chosen as the default mode to open word documents received in email?!?!?1
  • The absolutely terrible Windows search function. It’s been covered ad nauseam by the internet, so I won’t repeat it here.
  • My complete fear any time a tech company says “we’re going to have the system figure out what you want and do it for you” because Microsoft has taught me that the statement means “we’re going to make some feature that is somewhat useful occasionally, but incredibly annoying the rest of the time when you don’t want it, and it’s going to be hard to turn off and/or it will regularly turn itself back on”
  • Windows Freaking Recall2

…but that’s not the point of this post. This is a post about development philosophy.

One of my favorite clips regarding how business culture can influence a tech company is Steve Jobs’s comments about “product people” vs “marketing and sales people”. If you haven’t seen it before, you should really stop to watch it. It’s a bit less than 3 minutes and really insightful.

OK, in case anyone didn’t watch it, a very short paraphrasing is that in some companies (e.g. Pepsi), marketing and sales people are the path to company success, but in a technology company, product people need to continue influencing decisions because they are critical to turning great ideas into great products (but it’s stated much better, you really should watch it).

I’ve come to the conclusion that Microsoft is what happens when “engineering people” (a subset of product people) make all of the decisions.3 And that’s not all bad. Microsoft has done some pretty impressive things! However, it does have some pitfalls.

Engineers are the most likely to demonstrate Jeff Goldblum’s famous line from Jurassic Park “[They] were so preoccupied with whether or not they could, they didn’t stop to think if they should”. Sometimes it’s about reviving massively dangerous dinosaurs, and sometimes it’s about getting so preoccupied with your cool new feature that you forget to consider if the customer even wants it.

Also, though I somehow made it through the list above without mentioning Clippy4, it’s hard to come up with a better example of engineers stubbornly and condescendingly trying to help “those non-techy people” than Microsoft’s ill-fated first attempt at a digital assistant.

I can just imagine the design meetings where they were looking at feedback from people that couldn’t figure out how to use templates and saying, “imagine how much people would appreciate it if we could detect when a template would help and then tell them about it!!” It’s rooted in good intentions as much as it is arrogance, and I don’t fault them for trying… but it’s still a reflection on them that they didn’t figure it out. Seriously, their focus groups told them people wouldn’t like it, and they pressed on anyway. I feel like every item on my list above represents the same fundamental mistake.

And it’s a mistake Microsoft is still making today. Their push for AI is motivated by all the things they envision AI doing. It’s things they can imagine being sooooo cool (it will be like the Star Trek computer!!!). Surely everyone will want it, right? Of course, the big missing question is “does it solve anybody’s existing problems?”

Their search still sometimes can’t find a program when you type in the exact name of the program, but apparently it might find it if you type in a natural language description of the program. Which of those do you figure is “somewhat useful occasionally” and which one is “incredibly annoying the rest of the time”?

Maybe the Windows of 2030 will know what I mean if I say “open up Firefox and load my blog login page”, and that’s kinda neat.5 On the other hand, I can do that myself with a few mouse clicks in roughly the same amount of time. If it’s something I do often enough, I could even make a shortcut that does it faster. Also, if my wife and I are using our computers at the same time, using my mouse won’t lead to me doing the equivalent of talking on speakerphone next to her. It could also be an issue if I’m doing anything where I’m using the microphone for other purposes at the same time (e.g. Zoom meeting). And all of this assumes I trust the AI to be correct all of the time. If the error rate is anything more than about .5%, the value proposition is going to be really difficult to justify.6

And again, I’m not saying it’s not impressive, or that it’s a “bad thing”. I’m just saying that I don’t trust it to be done well because Microsoft doesn’t have a good track record of grounding their impressive technical achievements in pragmatic issues.

However, despite everything I’ve said above, I do think Microsoft has a niche that it is exceptionally good at. Microsoft is amazing when engineers are the customers.

VSCode is an outstanding IDE. C# is an easy language to use, with lots of useful tools, and great documentation. Copilot’s integration into VSCode works great. I don’t have any experience with Azure, but it’s generally regarded as well as AWS, with the general sentiment seeming to be that Azure is easier to use. Microsoft clearly understands what engineers want!

It doesn’t seem like they understand their Windows customers though, at least not their current customers. They used to be the good middle ground between Linux’s complexity and Apple’s lack of flexibility. Recently, it seems that they are abandoning that lane because they desperately want the financial advantages of Apple’s walled garden approach.

Unfortunately, they are just turning Windows into a crappier version of Macintosh. As a former (and somewhat current) Apple hater, I’ve gotten to the point that I’m recommending Macs to “non-techy” people that ask me for advice. If you’re going to go with an OS that controls everything, you might as well go with the OS that’s already good at it and is made by a company that seems to have a foundational respect for user experience.

The only situations where I would recommend Windows these days are “I need software that only works on Windows”, “it’s the platform I know and I don’t want to change”, and “I can’t afford Apple and Linux is too technical, but I still need a relatively powerful laptop/desktop, so I guess I have no other choice”. That’s not a healthy place for the company to be.

As a contrast, I’d like to look at Valve’s Steam platform. There’s a lot of reasons why Steam can’t and shouldn’t be compared to Windows, but I think there is a fair comparison of higher level philosophy here.

There’s a somewhat tongue-in-cheek joke that Valve/Steam/GabeN are successful despite not doing anything; that their success comes simply from the constant failures of their competitors, but the truth is that Steam regularly innovates and adds tons of features. It’s just that most of them are, on their own, fairly boring. However, most of them have a readily apparent use and are implemented in an unobtrusive way. They also almost always serve the customer.

For example, Valve has stuck to it’s guns about requiring game developers to disclose when their games are made with AI assets. That only serves the end user.

As another example, as I was preparing to write this post, it came out that Steam will now notify you if a game you are purchasing is available for less as part of a bundle. Does that serve Valve too by sometimes converting single game sales into bundle sales? Of course it does, but it’s done in an unobtrusive way just notifies the user and lets them decide if they want to do it on their own. On the other hand, how many of us have felt intruded on by OneDrive at some point?

Valve comes across like it’s doing nothing because it’s not typically rolling out big impressive achievements (like building an AI agent that can invent a picture of anything you ask), but what they do roll out is almost always useful for some, and benign for everyone else.

Over time, that focus on the end user builds a better product. It also builds trust and loyalty.

If Microsoft wants to build the same loyalty (and I’m sure they do), they need to find some product people that are primarily concerned with “how the products interacts with their users” instead of “what cool tech is possible”, and those people will need the power to influence decisions at every step of product development.


  1. A quick Google search suggests that it was a protected mode for untrusted files. That part makes sense… but why was it necessary to completely warp every page into some weird split two page view? It wasn’t even about macros or something. It would do it to documents that only had text! โ†ฉ๏ธŽ
  2. Yes, even the new encrypted version is still a security concern โ†ฉ๏ธŽ
  3. Just to be clear, I say this as a self-admitted, and proud, engineering-brained person. I live in fear of making the same mistakes, which is part of why I’ve thought about it so much. โ†ฉ๏ธŽ
  4. Or the Kinect disaster during the Xbox One launch โ†ฉ๏ธŽ
  5. There is absolutely no way I’m giving my passwords to an AI that was implemented by the company that was apparently surprised to find out how much people think Windows Recall is a security concern… so yeah, please just load the login page and I’ll type my credentials myself, TYVM. โ†ฉ๏ธŽ
  6. And if the “oops, I deleted your songs when you just wanted me to delete them from your playlist” error rate is any higher than 0%, forget it โ†ฉ๏ธŽ

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *