I recently switched to MacBook when my old ThinkPad gave up. I am regretting the decision now:

1. The dongle problem was one of the first thing i noticed. I tried to use a tplink usb hub which i have been using with my ThinkPad, but MacBook would randomly refuse to detect my keyboard or mouse when walking up from sleep.

2. Window management is bad. Windows solution is so much better. The only solution send to be to buy 3rd party software which emulates Windows OS behaviour.

3. Keyboard is crap (2019 MacBook).

There are few good things like the track pad, but honestly at this point ThinkPad + Windows gives a better developer experience than MacBook.

I had a similar issue with window management on MacOS. I switched over to using Yabai about a year ago (a tiling window manager in the style of BSPWM on Linux) and haven't looked back since.

I've even managed to get Windows-style window management working in my config.

Link: https://github.com/koekeishiya/yabai