I am a full stack web developer using a Linux environment as my development environment. I plan to start learning some ML related stuff and I just recently bought a Radeon 5700 XT, the current high end consumer GPU from AMD. Before this I had an RX 580.
The driver support on Linux is fine but not optimal, there are multiple issues regarding color ranges, dual monitor support and with Navi based hardware (5700/5700XT) plain hardware freezes/hangs. I did not personally experience the hangs but I installed the 5.4-rc8 kernel and compiled mesa 20 from the git just to avoid them in the first place.
There is no Navi support on ROCm and the prefered way to have OpenCL on older hardware like Polaris (RX 580 for example) is to just extract the relevant files from the closed source driver.
I still prefer something with open source drivers but AMD is far behind NVIDIA in terms of GPGPU software support, I cant't honestly understand what their strategy is and why they are allowing the majority of developers to tie themself and their careers to NVIDIA.