My main focus in development has always been around the Microsoft .NET stack since before I started my first dev job. Most recently, I have gotten into the Node realm, using React JS and Vue JS.
I want to start by saying that I do not or have not worked for Microsoft, but have always been an avid user of their products, still am, and probably will always be.
I started my Software Development path around the age of 24 before that I was always a computer enthusiast since I could remember. The first computer I ever messed (or seen) with was a Compaq Presario my uncle had bought for my grandmother with Windows 95 on it (even had speakers mounted to the side of the CRT monitor). This is when I got into computers immediately and was always able to navigate and fix issues that arose, even at such a young age.
My first tech job was working at Dell on a Help Desk tier one support role, and after two weeks, I was considered for a tier two contingency position. Once I moved over to tier two full time, I decided I wanted to start to learn how to program. Shortly after that, I found Visual Studio and Visual Basic. It wasn't long after that I found C#. This was the start of my strong Microsoft following.
I had become the cliche PC versus Mac guy. I had beta tested Windows 7 (before my programming start), eventually, Windows 8 and 10, Had bought Windows Phones, and was now developing in their ecosystem. It didn't matter at that time what you told me I would always tell you that Windows was better for everything. Keep in mind, a lot of this was the pre-Satya Nadella era. Microsoft at that time was still a closed-off company in terms of its software and the way it operated.
So, where does Apple, and the Mac I develop with, now come into this picture? I think it all started back at my first development job. I had started a new .NET job in January 2016 and came on with a group of brand new devs, fresh out of college (I was just at the beginning of my Bachelor's degree but had other professional experience). I was all about the Windows phone and loved everything about it, but everyone knew, the death of the Windows Phone was on its way and later confirmed in late 2017. Eventually, I became one of the ones that 'jumped ship' and decided to go with an iPhone (6S Plus). This is when I started getting into the Apple Ecosystem.
I was still all about Microsoft, though. I did get an Apple Watch, eventually (I used to have the Microsoft Band). Microsoft started changing since Satya Nadella became CEO of the company. The company was making it easier to develop for other platforms, and .NET Core 1.0 was released midway through 2016. Along with many other technologies that were made available.
Fast forward a few years to 2019, and I had just started working for a startup, and a new company. This was the time that I started working with .NET Core, React JS and Vue JS. At the company I was working for, I had a coworker (fatfingers23) who was into using Mac and Linux operating systems, and worked with many different technologies including .NET and Node.JS, I learned a lot from him. In the startup, my front end developers all used Macs, and they were still learning how to do certain things that became difficult for me to troubleshoot or train because I didn't know my way around the CLI tools well, let alone the MacOS. I was very much a Windows and GUI type of developer. I was also the Tech Lead in the startup.
Then it happened around October or November 2019. I had an opportunity come up that allowed me to buy a Mac for a small price of $300 and a new battery from someone who just wanted to get rid of it. The Mac in question was the mid-2015 15-inch model with the battery exploding issue, and this one had it. The guy brought it to me, and I didn't think anything of it, but when I opened it up, the battery was so swollen that anymore and it would have exploded. I was very careful in removing all of the battery adhesives and placed the new one within it, closed it up, and booted it up.
It was then that I decided I was going to try and use this computer to learn and develop on. It was difficult at first, but me being me, I was able to figure most things within the OS quickly (and still learning to this day). I installed Visual Studio for Mac and VS Code, I did get Boot Camp going with Parallels so that I'd have an instance of Windows running when I needed it. I found myself going back to Windows quite often to finish tasks that could have been easily done in Mac, but I was just too comfortable in Windows. I tried and tried to push myself to use MacOS more.
Eventually, I pushed myself enough, and now I can comfortably use a Mac system to develop and run everything I need to without the need for Windows. I do still have Windows there for specific programs and other things like LinqPad and some games. It has also help me be a better developer, being able to know the CLI tools better than having to rely on GUIs to do my job. It also helps me to teach other developers how to do certain tasks like a git-rebase within the CLI.
Then another thing happened, in May I decided that I wanted to buy my first actual Mac from Apple themselves and have a faster more up-to-date machine. I had been looking around for quite a while and bounced the idea of going to a 13-inch or the new 15-inch. On Saturday, June 6th, 2020 I decided to take the plunge and grab a MacBook Pro 16-inch with an i9, 5500M graphics, and 32GB of ram. It came in three days later. An all-around Microsoft guy who used to say "I hate Apple products" bought a brand new MacBook Pro 16-inch.
Today, for most development it doesn't matter the operating system you are on, especially if you are developing web applications. The whole PC versus Mac or Mac versus PC argument should no longer be a thing anymore, at least within the development world. Sure, there are certain things that one can still do better than the other, but end the end, you don't have to rely on a specific OS. Be free, Microsoft has opened up to other operating systems to allow them to develop on the Microsoft ecosystem without having to touch a Windows machine as well as running applications. Microsoft has also made it easier to develop for iOS and Android while on a Windows machine, and now there are other technologies that help with native-style apps that you can build and deploy to iOS and Android.
If you are a Microsoft .NET Core developer, I encourage you to branch out and try Linux or Mac and learn your CLI tools for git and dotnet as well as other tools you use. I feel like this can help you to become a better developer in the future. If you are working on a team with a diverse group of people and technology, you should learn all you can. I'm a lot better of a developer than when I started, but I'm continuously learning new things every day.
If you find this an other content I post helpful, please consider buying me a coffee using the button below.