• As a software engineer, the nicest thing is that the whole programming ecosystem integrates with Linux. Git, SSH, Docker, you get natively in your OS. Even dumb shit like file path separators, line-endings, file permissions. Most programming languages make the assumption that you’re on a UNIX system (Linux, macOS, BSD).

      Aside from that, Linux is fucking awesome as an SE, because everything is open-source. Find a bug in a program you use? You can fix it, if you want. Want to learn how a specific program works? Just look at the source code. Or its config file. Or its logs. Everything wants to teach you about itself.

      And personally, I also just love the usability. The built-in file manager, terminal, PDF viewer etc. are good. The built-in text editor is no IDE, but it’s up-to-snuff with Notepad++.
      And I’m making these blanket statements despite there not being one built-in anything. You can choose between multiple GUI bundles (so-called “desktop environments”). From a minimal DIY setup (i3wm etc.) all the way to maximally feature-rich goodness (KDE). You don’t have to use the same limited setup as your granny uses to launch a browser. You can customize everything to your needs and you get tons of power-user features.

    • Linux by itself is just a kernel, there’s a whole range of operating systems using it. Most of them have some commonalities, but there are also huge differences. Most of them can run directly from a USB stick (or in a VM obviously), so you can try some out.

      Some things that basically all of them do very well, compared to windows:

      • mainly open source components (± some proprietary drivers and apps, if you want)

      • no ads in the OS

      • support for very old hardware, being (depending on actual OS more or less) light and resource efficient

      • very good package management

      • customizability

      There are many things that are specific to some OSes. I switched from Windows 10 years ago, and I can’t see myself going back. Everytime I have to use it somewhere, I get annoyed quickly.

      There are some drawbacks:

      • software has to be built against a specific kernel, and some proprietary software is not offered for linux. There are compatability layers for running windows software on linux without emulation, but they are mainly optimized for games (I’ve had windows-only games run faster on linux than on windows!).

      • some drivers are unavailable for linux, as the device manufacturers have to cooperate somewhat. However, almost everything will work.

      • some drivers are available, but require binary blobs distributed by the manufacturer. The proprierary NVidia drivers, for example, are faster than the open source reimplementation noveau, but they can cause problems with some software like sway. If you have an AMD gpu, their open source drivers are great, so no problems.

      Roughly all the servers (including Microsofts own cloud), half the mobile systems, lots of the larger embedded stuff and some small percentage of deksktop systems are using Linux. Again, just try something (maybe Pop!_OS or Mint) and see if you like it.