I’ve been a life long Microsoft disciple. I’ve had a Microsoft Windows operating system since Windows 3.11 and learned software development starting from classic VB4-VB6 through masm32 (Microsoft’s Macro Assembler) and into C# with .net. I even bought a Windows Phone believing Microsoft could carve out some market share.

At one point in my career my employer was looking for excellent laptops to use for developer workstations. We ordered up the top fully loaded windows machine from a popular vendor and put them to use. These laptops were about 1-1/2” thick and I jokingly referred to them as “20,000 btu heaters” as they put out quite the heat while running that cutting edge i7 processor.

The problem was these laptops blue screened frequently, specifically when using multiple monitors. It wasn’t really Microsoft’s fault though, it was just pour quality video drivers from the laptop OEM that caused the lock ups. There were other unique issues too. For example having the bluetooth on would prevent Microsoft Office from working. Again some integrations with a bad Bluetooth driver caused the unreliability.

During this time the support for Bootcamp on Mac significantly improved. We bought all new MacBook Pros and bootcamped them into Windows 7 laptops. This is around 2013-2014. This was an incredible combination! The hardware quality of Mac with the ubiquitous software support of Microsoft Windows. This was a very stable, very powerful and reliable laptop.

I ran my 2013 MacBook Pro as a Windows 7 machine right up to 2019! I restarted it maybe only every few months. Never an issue. After about 3 years my employer allowed employees to buyout company laptops for cheap and they refreshed the company with the latest models, so I bought out my MacBook pro for personal use.

Shortly after that I ended up with a Microsoft Surface Pro as my main work machine with another employer. The concept was cool. I had liked the idea of a touch screen and the magnetic single cord docking station was beautiful (the mac required 4-5 cords to dock to a full developer workstation with a few monitors using display port and hdmi connections). However in the long run the form factor was a bit awkward to use on the couch or any other informal seating area - not too bad, but not great either. So what really pushed me over the edge? Windows 10.

Windows 10 has frozen for me on a regular basis from day 1. Sometimes it drops wi-fi connectivity until I do a full system restart. Sometimes it just “locks up” with a frozen display and no response to keyboard/mouse. Sometimes the surface keyboard will light up and respond to keys but the display won’t turn on. But worst of all Windows 10 has made me restart my computer several times a week for the last year or more. Perhaps I have bad work habits, but I like leaving my work open, closing the lid for dinner or something and picking up where I left off a few hours later. I rarely “shutdown” my computer and tend to have quite a few open apps while I work.

Worst of all Windows 10 has made me restart my computer several times a week for the last year or more.

To make matters worse Microsoft often changes system behaviour or settings during one of these forced updates with a restart. Sometimes they give you something new, sometimes they take something away - its always a surprise!

While frustrated with my frozen Microsoft Surface one day, I grabbed my then windows 7 MacBook Pro and did the unthinkable… I booted back into MacOS! I hadn’t booted the laptop into MacOS since 2013 or 2014. The old MacOS noticed I was out of date and asked if I wanted to update. After 1 unified update the laptop was right up to the latest release of OSX. The process was so smooth… even on this old laptop.

I installed Microsoft Visual Studio Code (VSCODE), Microsoft Office, Google Chrome, Firefox, Docker Desktop and in about an hour I had a very up to date and capable developer environment.

To give Microsoft credit where credit is due, part of why my Mac is now an excellent environment is because of tools like VSCODE and MS Office being available equally on a mac. I will always have a soft spot for C# as one of the best languages for developers, but the ubiquity of NodeJS as a strong framework for containerized web apps or microservices can’t be denied either.

I’m now planning to refresh my MacBook Pro sometime in the next year and retire the Microsoft Surface.