MacOS wasn't that for me- brew was the cause of no shortage of pain, but even that could have been lived with. It's also not exactly stable- one company I worked for (about 7 years total) had a blanket request that people not update OSX to new versions for a few weeks or months while it was tested to make sure that the bugs had been ironed out- anyone who upgraded before then was on their own if they ran into issues.
Even that, I could (and did, when I had to) tolerate.
I hate the UI. It doesn't jive with how I want to operate. Settings exist for some things, but not others. It's just not my cup of tea, and I'm happier tinkering a bit to get exactly what I want.
I haven't yet looked for a "how to effectively use mac keyboard shortcuts" comprehensive guide, instead I've looked for things as I need them. I can see the benefits for introducing "cmd" where "Ctrl" is usually used on other operating systems.
But I'm very disappointed by cmd tab and cmd backtick. Often I want to press a single keyboard shortcut to switch between three windows or so: usually a few browser windows, a terminal, and an IDE. cmd backtick switches between windows of the same program, cmd tab switches between programs.
Can any more experienced mac user tell me the way to do this properly? How to switch between a few separate windows, like alt tab, without having to think about what program they are?
It became really annoying to press tab 5 times just to get to the app I need.
If you’re interested in technical writings, I recently wrote about my journey to creating rcmd here: https://alinpanaitiu.com/blog/window-switcher-app-store/
The dock stops being a problem once you set it to automatically hide and find ways to use the mouse less. Shortcat is another tool that helped improve my mouseless workflow, and is kinda of like a vimium for the whole system but with fuzzy search: https://shortcat.app
But why doesn't the base macbook install support more of these features? I was led to believe (perhaps incorrectly) that I wouldn't have to tinker with a mac as much as I have with Linux. (I suppose that fine tuning keyboard shortcuts is very different from trying to desperately fix a video or wireless driver)
I assumed that apple optimized for a good user experience. Are "power users" (or even people that just want alt tab) not included in apple's UX goals?
You've actually stumbled upon the least configurable components of macOS: the Window Manager, and the Desktop Environment.
On Linux you can choose your own, and you have so many different paradigms. I still miss i3 wm..
On macOS you don't have this choice, and you have to use apps to get to the workflow you need.
I was a Windows power user for a few years, and now I use both Linux and macOS daily since 6 years ago. In the end, I feel more productive on macOS nowadays, mostly because there are many quality apps to get anything I want done, I don't have to worry that basic OS function will stop working when I update some dependency, and there are some macOS-native features that really improved my workflow.
For example I didn't know how useful Live Text would be until the first time I noticed that Command-F search in Safari also searches text in images, or when I double clicked on a phone number and I could just call it with my iPhone (which was in another room) but keep talking from the MacBook.
I can't even imagine how I would do that on Linux (surely doable, but nothing beats "already done and usable"), and it's just one of many features like that.
I will end with some more software recommendations: yabai for window management (https://github.com/koekeishiya/yabai) and skhd for hotkeys (https://github.com/koekeishiya/skhd)
They are more Linux-like, using config files, free and easy to forget they aren't native.
But if this is the case, why do so many developers buy and enjoy macbooks? It seems ridiculous that you have to pay such a premium for a nice laptop, and then find random 3rd party applications to make it work the way you want.
If I wanted to endlessly tinker then I'd be happy with Linux. I was under the impression that macbooks would "just work". I've also been disappointed by poor UX in some cases, like randomly showing "enter your password" dialogs.
It's just a matter of redefining "just works" as "just works, as long as I adapt my workflow and UI preferences to The One True Apple Way".
The primary package manager sucking is a very serious flaw for Apple when trying to get developers to convert from Linux.
FWIW, I personally don't ever recall an upgrade causing X or drivers to stop working, though I've been going through laptops at a rate of one every two or three years lately.
On the other hand, windows and Mac upgrades have certainly caused issues, and misbehaving applications can certainly cause issues on macs (cough teams cough).