As much as I wanted to enjoy the distro since its DE looks more well-thought than other DE's around, you're going to get more problems than if you simply switch to Ubuntu with outdated packages, poor documentation to solve problems and it's easy to realize it's not made for devs.
I would say Ubuntu or Fedora are better distros for developers to switch from macOS if they don't want to spend a long time setting things up, or maybe even Arch Linux if they are experienced with Linux. After a while, I couldn't even recommend Elementary for friends since I knew the amount of problems that would come with it.
(https://www.reddit.com/r/unixporn/search?q=xfce&restrict_sr=...)
The thing is, Apple took care of my basic laptop needs very well, but at a price. I had to put up with all of their little, annoying decisions (a finder lacking so many obvious file-management features but will NEVER be improved, a ridiculous emphasis on trivia like "flat design" instead of substantial things like RAM & SSD, social media nonsense built into everything, features that are more about Apple's agenda than mine ("this new version gives you more ways than ever before to buy stuff from Apple!"), a pathetic range of preferences because "we know better than you, and we've decided for you", and so on.)
But if they won't make the hardware I want and won't allow anyone else to make it for me (meaning licensing OSX to companies who still care about serious computer users), then the basics are no longer covered, either. I'm really not looking forward to having to fight to get basic stuff working right for myself, but if I give up and conclude that Apple has moved on and I should, too, then I'm going to go all the way with the others stuff as well. I'm getting rid of all the "you'll get used to it eventually" compromises I had to put up with from Apple and doing it the way I want. I'd like to see what other looks are available (the looks aren't a trivial issue if I get to choose them, right?) and it doesn't have to look anything like OSX. In fact, I'm sure I would prefer a design that is very unique to ME over Jony Ive's design that is best for everyone.
I do not mean to nitpick - I enjoyed your comment - but isn't that more the preserve of Windows (post-8)?
I don't really care either way, and yes, other makers are doing flat-look fashion makeovers, too, but this is about Apple as a pro computing platform. I just wish that if Apple couldn't stay ahead in both fashion and practical usefulness to people who need serious computers, that they would let the former languish instead of the latter.
For any problem not related to those apps, or the desktop environment, you look up information for the associated Ubuntu release. I imagine in that sense it's very similar to any of the flavours, which you are suggesting as a better alternative.
For some developers LTS is no good, because they need the latest packages, for others it's not an issue. That's a fine point to make, but I don't see how you get from that to 'Elementary is no good for developers'.
It's elegant, it works, it has almost nothing you do not directly need, and honestly even compared to Ubuntu it's user friendly.
If you don't use many apps on OSX beyond the basic / apple ones (excluding video/media editing) you'll likely never feel the difference since even the UI is rather similar.
OK that's not true: I can only use 2.4G wireless, and sometimes I have to unmute system audio after using headphones.
The macbooks are well tailored for dev work because the hardware itself hits most of the points that people want and care about.
There are arguably more options for dev work on any linux distro and Arch, for example, will do a better job with its repositories and the AUR in giving you easy access to devtools (and all other apps) of all kinds.
Everything a developer needs is in the repos, no fiddeling with ppa's or downloading packages from websites.
I haven't tried it but Elementary has always seen like a clone of OS X. And like most clones likely to be a bad clone.
Gnome is a bit crazy these days, I'd recommend kde.