To start, you should expect the experience using linux will be very different from windows. Things might not always work out of the box and may need additional effort (ask anyone the hell it is installing nvidia proprietary driver). Expect to get comfortable using the command line and reading documentation.
Fortunately for you the resources now are much better documented (as well as being easier to search with chatgpt) and interest in linux is very high. This forum has numerous threads to helping people with linux and documenting issues
Some of mine as well
If you approach linux with the mindset that you’ll need to debug issues, you can move on to picking a distro. You’ll want to pick between a stable or rolling release distro.
disclaimer that this is my experience and things might have changed since distro hopping in university
Speaking from experience/reading forum posts, Debian is typically the most stable, but might miss bleeding edge features (namely gpu drivers or mouse/keyboard firmware on laptops). Open Suse, ubuntu, Pop OS, manjaro, and fedora is in the middle where you get more frequent updates than Debian, but not as much as much as Arch. Arch is on the bleeding edge and will have frequent updates.
Having installed Open Suse, ubuntu, and antegeros (arch), I settled on Fedora. I found that its release is frequent enough that my trackpad firmware was fully supported and the distro more forgiving if I didn’t update it in a year.
I will say that I got the most comfortable debugging linux issues (using the arch wiki and forum posts) while using antergos on arch.
When trying suse on my laptop, the firmware for my thinkpad track point didn’t work. At the time I also couldn’t customize the DE (Desktop Environment) to my liking.
I use ubuntu for wsl at work, but I didn’t run it on my laptop as I did not like the cononical direction with collecting user data. Pop OS from system 76 I hear, is a fork (mod) of ubuntu that’s more privacy respecting.
I might switch off fedora given rhel’s stance on open source forks of rhel. I haven’t swapped because I haven’t had time. I might give steam os (arch based) or a arch fork another shot since the steam deck experience is pretty good and I’m more comfortable debugging issues. Chatgpt and llms have been very helpful in researching common error outputs.
WSL2 is a great way of testing the waters. I’ve heard of an analogy that mechanics driving boring reliable commuter car and like working on project cars. It might be the same for developers.
The main advantage of wsl2 is that you can treat it a project car, you can still get to work if the fuel pump is dead in your project car.
You can fall back to windows to research answers. I had a couple times where I borked the graphics on my laptop/desktop and got stuck on the command line needing to search errors on my phone or laptop/desktop.
Furthermore, If you enjoy the experience of learning how to debug linux errors or find wsl2 limiting for your use cases, you can install linux on a secondary drive and work on it. If you want to go the full project car route where you are building the engine, transmission, and steering system you can get gentoo.
Doable, but certain programs (such as games) may need a graphics card to passthrough see the guides on this forum.
Personally I use linux for my daily browsing and windows whenever I want to game or stream.