Aug. 29, 2023
Read time: 3 minutes and 23 seconds.
tags:Windows user converts, finds inner peace.🧘
I was a die-hard Windows user for a very long time. I thought that Mac was a cop out for real developers and that being an Apple fanatic had taken over the brains of my smart developer friends. Then, I bought a Mac, and my world turned upside down. At first, getting used to certain things can be frustrating. It wasn’t love at first sight, but now I see how much it’s boosted my development game, and I have to share just what it’s done for me.
Windows, bless its heart, has a fundamental flaw. It assumes one user per disk, which is a problem. Which is great if you plan on only using it for yourself and never doing anything else. But as you begin to create software, this becomes increasingly complicated since it relies on system settings and dependencies that have made environments a challenge. Although you can definitely get environments and certain development environments to be compatible, it’s a bit of a headache. I mean, there have been different times in my professional career where I’ve dealt with updates, firewall issues, and adapter troubles that seemed to take an eternity. And I would have to discover how to solve those problems all over again today rather than having a repeatable framework for being able to solve these issues.
Assuming there’s only one disk in design leads to constant compatibility and support headaches. Linux and Unix-based systems (like macOS) handle this much better due to their multi-user design. Mac’s Unix base aligns it with most servers and systems worldwide as well which is a majority of servers in the world. Unless you’re a company who has office or sharepoint dependencies that need a Microsoft server, you’re probably safe even just making the move today.
This flexibility makes integration and adaptation a breeze.
The biggest perk of switching? Less system maintenance. I would spend hours troubleshooting Windows errors and issues, especially when I was developing at times that would cause heartache and headaches alike. With Mac, you set things up once, and they generally keep working almost indefinitely if the release is stable. Windows’ fragility with compatibility and scope can hinder development speed. This is something that’s even come up at companies like IBM that have migrated to Mac since it’s just far more flexible in development environments and require less maintenance. Look, it’s true!
Mac’s alignment with global standards simplifies things and make a system far more compatible, even with their new architecture when you’re developing.
It’s not about being “easier,” but about a smoother interface with the rest of the tech world. Unix based systems are global and even Android is a unix based architecture as well leaving Microsoft in this weird void where they’re trying to be the cool, independent system.
The new M-chips are also a game-changer. They’re incredibly efficient and can run on battery if the work you’re doing relies on a specific app or doesn’t require a lot of infrastructure overhead. When I was on Windows, I would be luck to get 3 to 4 hours of battery life on my computer whereas my like Macbook Pro 13 can get me 12 - 14 hours at times unplugged.
On top of that, I spend less time debugging system issues and more time actually developing since the issues with compatibility have virtually disappeared. I still have to debug issues and solve coding issues, but the nature of the problem is rarely about the system and more about the logic.
Windows has added a Linux feature, but it’s not the same. Windows Subsystem for Linux (WSL) helps, but compatibility problems persist. It’s essentially forcing Windows to mimic a Unix-based system where as a Mac, being inherently Unix-based, avoids these hurdles.
Native integration, especially for iOS/macOS development with Xcode, is a significant advantage too. But even if you’re not about developing apps or code, it’s still nice to worry less about looking for an outlet when you’re working at a cafe or away from home.
Switching to Mac was a reluctant decision that paid off. It’s streamlined my workflow, boosted my efficiency, and made development less of a headache. If you’re a developer on the fence, consider the long-term benefits of a system that plays nicely with the rest of the world.