(1) It just works is total bullshit. Multiple times a day I accidentally move my dock to a different one of my monitors and have to go into settings and move it back. At least once a week I turn it on and it doesn't detect one of my monitors.
(2) Its a different work flow. It expects one window open per monitor and for you to switch windows. It doesn't natively support snapping or tiling.
(3) Docker is unusuably slow. Our tests natively take a few seconds to load the app and start running. In Docker it was 2-3 minutes.
(4) Compatibility is a pain in the ass. Yes you can run things emulated but then everything is emulated within that terminal session. Switching back and forth is annoying.
I could go on but the bottom line is that Linux is way better. It may be more fiddly to get running right but once it does it stays running right. At least in my experience.
IMHO there's no point to a mac as a developer. These days everything I use is electron or web based. Similarly the code you write is almost always going to run either on Linux or in an electron like cross OS environment.
All that said, the M1 Macs are a fantastic piece of hardware. Silent, the battery lasts forever, and the design is on point.