Agree 100%. It is frustrating at first as I have worked the way I work since forever but over the course of a few weeks I noticed many of the changes were actual improvements saving me time and/or making my life easier.
Not always but a lot of the time the "Apple way" is actually well thought out and reduces friction elsewhere in my workflow. It was a classic case of being blind to my own inefficiencies as that was just what I was used to and it worked.
The nice thing about macOS (and Windows now with WSL) is all the unix/posix tools I was used to on Linux work the same (or near enough) that switching wasn't difficult or particularly painful.
The only thing I really miss when using macOS compared to Linux and Windows is top tier window management. I use Magnet (have also used Amethyst) to make life a little easier but macOS still has the worst implementation of managing windows. I am used to it now so it isn't a huge issue and the benefits of the platform far outweigh this one little area of annoyance but if I could change any one thing about macOS it would be to really overhaul the way windows are managed.
(Whereas, of course - Linux has a certain amount of pain by default).
Have you tried it
I do Linux kernel development.
Will that _just work_ on a Mac too?
[1] OS X support for which tends to be a pain point too, while most vendors tend to have some kind of Linux product this is still very much a windows world.
At our company, we do a lot of kernel development. Most devs are issued Macs, some Thinkpads with Windows. Very few run Linux locally, as IT doesn't like it.
We have Linux shell servers for development. They compile much faster than laptops anyway. The actual test systems are separate as well. You don't want to test on the machine you develop on generally (it'd be extremely annoying to not be able to edit code while waiting for the reboot to get the new kernel, and to loose your open windows for every iteration. Also what if it oopses?), and in our case that wouldn't work anyway (special HW).
Most use vim in screen, and VS Code with it's native SSH remote host support is also very nice.
If it works for dozens of our engineers, it can work for you if you're willing.
That having been said, I personally prefer the Apple way, because so much of the ecosystem just works in a way that you will never experience with Linux, no matter how much work you put in (but you do lose out on the joy of tinkering with things). It's a matter of preference.