Personally, I like to keep to the defaults and prefer to change my own workflow to match the OS designers' vision of how I should use a computer, rather than to try to bend the OS to my priors. I understand why this don't work for everyone, but it has made my life much easier.
These days the only thing I customise is the “refactor” shortcut in IDEA because the Fn keys suck on MacOS.
Firefox is the only program I run that requires constant "config maintenance".
Meanwhile, I've used macOS at work for ~5 years. Every time a big release comes out, IT departments have to go around screaming "DONT UPDATE IT WILL BREAK EVERYTHING" for a month. Once that calms down later we finally can update (though I only _want_ to update because by that point the incessant "Update now or tonight?" prompts have driven me mad) -- and instead of everything breaking, it merely breaks half my customizations and I have to waste time fixing it.
Apple is just bad at breaking things for enterprise and notoriously slow fixing bugs affecting enterprise users. Right now there's still a major bug affecting Mobile Active Directory accounts, causing users to be locked out if they're not in the office after they upgrade. Sigh.. Problem is the MDM profile that should apply to local users only is somehow affecting mobile AD user accounts since the upgrade. In Catalina and before this was not an issue. Apple support acknowledged this but is still working on a fix. Even in 11.3 it's still not fixed.
And they don't provide an MDM method for update blocking. You can only postpone them a number of days (but this will affect minor and major updates alike so is not what you'd want). You can get it if you provision an infrastructure of update servers but we can't in our place :( This is why admins like me can't stop those prompts appearing for you.
PS Our latest Macs are running without AD (using the new Kerberos SSO plugin) and they fare a lot better, unfortunately it took me a long time to convince our Windows-centric security team that it actually weakens our security and accomplishes nothing on Mac :)
This is the problem in enterprises. As an admin I know there's better ways to do things but many of these decisions are imposed on me by other teams.
Funny. I decided to drop Ubuntu Linux because they dropped support for 32 bit CPUs. I switched to FreeBSD.
It is they dumped all the baggage of the previous arch. Including the 32bit world. Apple started out with a design , designed to do one thing. Give a great experience to a user.
Gone are the days of the GPU and CPU handshaking on moving memory from system ram to video ram. Same thing with SSD to main memory..
Removal of bad ideas and implementation of the lessons learned. Reason why FreeBSD is sometimes faster with linux. They dropped the old legacy code and design. Like MacOS, they are free to fix userland.
Linux & windows? Not so much. Linux userland is a horrible mess due to the "dont break the ABI of the kernel" Do you know there are known WONT FIX bugs in the kernel? Linux taught me that the idea of dont break the kernel adds, BLOAT and WONT FIX bugs... till you the mess called 5.11 that is 60 million lines of horrible linux code. No one uses the 32 bit driver of LSILOGIC.
If they do... let the use the older version of linux, its a mistake, proven by the bloat in linux to keep ABI compatibility.
My advice for everyone. Go FreeBSD, go MacOS, for new hardware go with modern arch, and kick the old compatibility out the door.