0:00
In the 2021 Stack Overflow Developer Survey, nearly 83,000 people shared their preferences
0:05
on operating systems. Mac OS and Linux-based systems were neck and neck around 25% each, and Windows took the
0:11
lead with 45.33%, down from 47.5% in the 2019 survey. If we focus on just those people who describe themselves as professional software developers
0:21
Windows drops to 41.2%, and Mac OS edges out Linux with around 30%
0:25
The survey is interesting because it reflects the views of nearly 58,000 self-proclaimed
0:30
professional developers. Yet, based on my experience over the last 7 or 8 years or so working in large enterprise
0:37
environments as a professional software engineer, it does not reflect the observations I have
0:42
made working at these companies. Nearly every software engineer I've worked with has used a MacBook
0:47
Two companies ago, there was a database engineer who chose to use a Lenovo ThinkPad
0:51
The rest of us use Mac. At my last company, when we were hiring on, they asked us our preference of Windows or
0:55
Mac, and I chose a Mac, along with pretty much everybody else that I associated with
0:59
However, there was one DevOps engineer that I worked with, and also a Quality Assurance
1:03
engineer who chose to go with a Windows. At my current company, I can't think of a single engineer or person that I've been working
1:09
with that uses a Windows laptop. These are large companies, and I've worked with hundreds of software engineers, front-end
1:14
back-end, full-stack. And even when I've been out interviewing at other companies, they have been using MacBook
1:20
Pros, the exception being a small mom-and-pop shop that actually made software for Linux
1:25
trainings and did some virtual machine work around the Linux operating system
1:30
And at the JavaScript conferences that I've attended, nearly everyone is using a MacBook
1:34
The dominance of Windows in the survey feels a little bit off to me. I'd be curious to know your personal observations, because it kind of feels like to me maybe
1:41
there's a lot of these guys that are doing freelance work, maybe some of them might be exaggerating their experience as professionals, or maybe there are just some niches out there
1:49
where there are a ton more people using Windows. That just hasn't been my experience
1:53
So let me know in the comments below what you have seen at the places you have worked, and maybe even the type of company that you work for. Thanks
2:00
Now for my unashamedly biased reasons for why... And now for my unab..
2:05
And now for my unashamedly biased reasons for why professional software engineers prefer MacBooks
2:11
Prior to becoming a software engineer, I had always used Windows laptops
2:15
And in fact, even when I was learning how to code, I started on a Windows laptop
2:19
I've also built a couple of really powerful custom PCs that were used for video editing
2:24
for doing graphics, animation type stuff. They always start off really fast, but after several months of use, the performance starts
2:30
to take a hit. And eventually I end up having to waste a lot of time reinstalling Windows and reinstalling
2:36
all the applications I'd put on there. This even happened with my custom PCs that were dedicated specifically to video editing
2:42
I mean, I put a very limited amount of software on them, and I did not use them for browsing
2:46
I did not use them for gaming, I did not use them for anything other than video editing
2:51
and yet I'd still end up having to reinstall Windows to get the performance boost again
2:57
Compare that to Mac OS. I have never had to reinstall the operating system on any of my MacBooks due to system degradation
3:05
The only sluggishness that I've experienced has been on my oldest MacBook Pro, which was
3:09
all the way back from 2011, and is just showing signs of age as software has become more and
3:15
more demanding, and it just does not have enough RAM to really handle things
3:19
The MacBooks are just more stable and more reliable. Another reason software engineers use MacBooks is because it's easy to develop applications
3:25
for just about anything. Do you want to develop an app on Mac OS, or what about iOS, or tvOS, or watchOS
3:32
Well, you're going to need Xcode, and that's only going to be available for you on a Mac
3:37
What about Android apps, or apps for other operating systems? Well, it's easy enough to run a VM on a MacBook and develop for any of those environments
3:45
However, if you're going to go down the path of developing for iOS on a Windows machine
3:50
then you're probably going to end up having to build in Hackintosh, and then you're dealing with all the finicky maintenance of that, licensing issues, and at that point you're
3:57
basically trying to build a Mac, so you might as well just go buy a MacBook
4:01
Another reason I use MacBook is because the Apple ecosystem just plays nicely together
4:05
I can easily share files across my different devices, and with Sidecar, I can use my iPad
4:11
as a second monitor to my laptop. I can even do cool things like use my iPad as a drawing tablet for design work, or even
4:18
for whiteboarding. Some people complain about the restrictiveness of the App Store and being able to get applications
4:24
into this ecosystem, and that's something that I actually appreciate, because I feel
4:29
like applications available to a MacBook or to an Apple device tend to be at a higher
4:35
threshold for quality and user experience compared to a ton of the apps for Android
4:40
and some of the other operating systems can feel just old, clunkish, and just very janky
4:44
The Mac ecosystem tends to be better when it comes to usability and aesthetics
4:48
Out of the box, I like the terminal in macOS better. The one that comes default in Windows just bites, and yes, you can go install others
4:55
that's great, but I just don't want to be tinkering around with that. I mean, I like to mess around and fiddle around with applications that I'm actually
5:01
building, but I personally am not someone that just wants to really dive into the operating
5:06
system and do a ton of customizations and installing a bunch of additional tools and
5:11
apps and everything to get my environment running if I don't have to, especially if
5:16
six months down the road I'm going to have to reinstall the operating system and do that
5:19
whole thing all over again. Windows is probably going to be more customizable, so if you enjoy tinkering with kernels, more
5:25
power to you. If I wanted ultimate flexibility, then I'd actually look at going down the Linux path
5:30
There's a lot of strong arguments for going down that path, and I even tried it once
5:34
and there's a lot to like. It's just, for me personally, I have a lot of software that I really like to use around
5:40
like video editing, photo stuff, that just is not available in the Linux
5:45
Several of the Windows laptops have been taking on more and more of the Mac aesthetic, which
5:50
is really cool because they're starting to look better than the old clunky bricks that
5:54
they used to be. But one thing that they have not been able to master is the keyboard and the trackpad
6:01
Keyboards are starting to get better. There are some pretty decent ones out there, but I still like the Magic Keyboard on the
6:07
MacBooks, but I especially like the trackpad on the MacBooks because, I mean, just nothing
6:13
competes to them out there. All of the other trackpads that I have ever used have just really kind of felt awful to
6:19
use or the performance just was mediocre, whereas the Magic Trackpad is just super fluid
6:25
and is very refined. Then there's connectivity issues. Specs don't matter if you aren't even able to get around to writing code
6:32
Aside from the early problems with the M1 MacBook Pro connecting to the Magic Mouse that
6:38
was fixed with an update, I have not had any other connectivity issues with any of my MacBooks
6:43
but when it's come to the Windows machines, I have constantly had problems with Bluetooth
6:47
dropping connections or losing connections to external hard drives and to my NAS, sometimes
6:53
in the middle of a really long render or while I'm doing a build that just completely kills
6:58
everything that I'm working on. With Windows, I feel like I have to lean more heavily on wireless dongles to have reliable
7:04
connectivity over the Bluetooth, and I just don't like this because that ties up ports
7:09
that I would like to use for other things like my external monitor or external hard
7:14
drives and sometimes forces me to have to use a hub for those other peripherals
7:19
I know they're super expensive and Apple definitely loves to price gouge, but I'm in a place in
7:24
life now where I just am not feeling the Windows love anymore and I think it's worth it to
7:30
take the time to save up in order to get a MacBook instead of a Windows machine for software engineering
7:36
Totally some internal bias thing, but I don't know, I just feel much more creative when
7:41
I am using my MacBook Pro, and it makes my life as a software engineer so much more enjoyable
7:48
If I've missed anything, be sure to let me know in the comments below. Thanks for watching and I'll see you in the next one. Lates