Ubuntu is now really polished, and works great if you cherry pick hardware a bit and avoid components with drivers that are not in the kernel.
But I'd go one step further and argue that, as a developer, Linux can give you a unique experience if you stick to its strengths:
* Use a minimal distribution with few moving parts -> Things rarely break, and if something does it's usually easy to fix
* Try functional package management and administration (NixOS) -> Easy to reproduce setups, trivial to rollback, no dependency hell
* Try a simple keyboard-driven desktop -> A tiling window manager (XMonad), a web browser (Firefox) and Emacs (with Org, Magit, Eshell, Dired, Notmuch...) work incredibly well