I grew up on Windows. My first computer ran MS-DOS. My schools all used Windows computers, except for a brief period with the colourful iMac. I thought I was intimately familiar with how Windows works. Becoming a developer showed me how wrong I was.
When I first became a developer, I was running Windows, and only Windows. It worked well enough for what I needed. All of the documentation for the things I was using or working on was written with a *nix environment in mind. I managed with web searches and Git Bash.
Then Hacktoberfest 2020 started. I was just getting into open source, and I was heavily involved. I now moderate their Discord. I wanted to contribute to the website. It was a Rails site, and support for Ruby on Windows was very poor. This meant I needed to explore other options.
I am a hardcore gamer. I did not want to give up the ease of gaming on Windows. So I explored Windows Subsystems for Linux (WSL). It worked surprisingly well. The biggest downside was that there was no GUI support at the time. While working at freeCodeCamp, this meant I could not run Cypress in "watch" mode. I made it work.
During that time, I became familiar with bash and *nix commands, and came to like Ubuntu. When Windows 11 shipped with GUI support, all of my pain points were solved. I had Ubuntu for my development environment and Windows for my gaming environment. I did not need to use dual boot.
WSL had a feature where a web server running in Ubuntu was exposed to localhost on Windows. This made my work as a web developer significantly easier. One day, it stopped working. I did not know how it worked, so I did not know how to fix it. I could load the webpage in the Linux browser instance, but I was not authenticated on any platform in that browser and did not have my password manager. I spent a few days trying to fix it, and then gave up. I wiped my hard drive and did a full fresh install of Ubuntu.
I have been on Ubuntu for a couple of months now, I think. It has been good. My development work has been faster and more streamlined, and I have not run into any issues with my workflows. Gnome provides an experience that is similar enough to Windows that it felt familiar from the first day. I also have a retro-styled terminal.
Because of the Steam Deck and Valve's work with Proton, moving to gaming on Linux has also been smooth. I have run into a couple of games that do not run, such as Demonologist, which barely ran on Windows. Some games need adjustments, and I contribute those as documentation to ProtonDB. Some older games run better. I have noticed that heavier games, meaning those that are more graphically intensive, tend to run worse. I accept that trade-off.
There are a few things I miss. I no longer play games in full screen mode. Gnome crashes if I alt-tab to Discord too often. The lack of an emoji picker also affects me more often than I would like to admit. Overall, the change has been positive, and I have not looked back. I probably never will.