Необходимо поставить Windows второй системой, или на VM, или арендовать VPS, в этом случае не нужно даже ничего ставить, если не считать клиент удаленного рабочего стола.
Windows именно необходим, потому что Mono, и особенно Xamarin.Mac, это совсем другая платформа, грубо говоря это другой C#, это другие вакансии, другие проекты и т.п. Если действительно хотите работать в этом направлении, то план обучения нужно в корне переработать под Xamarin, а если все-таки Windows, то и ОС необходима Windows.