Yo soy programador y uso Linux, igual en alguna empresa te dejan un portátil y tiene otro sistema operativo y ese es el que vas a tener que usar, pero yo prefiero Linux. Ubuntu me parece una buena opción, la verdad, tiene fama de que es para novatos pero en realidad es un Linux que funciona nada más instalarlo con casi todo lo que puedas necesitar sin tener que complicarte la vida configurando mierdas y con una comunidad enorme, no hagas caso a esos que dicen que si no usas Arch o Gentoo eres un n00b, Ubuntu está genial, además con el escritorio de KDE es precioso (yo en mi caso uso Debian).
En Linux lo que es indudable es que vas a aprender mogollón, porque si te surge algún problema lo vas a tener que solucionar a mano la mayoría de las veces. Te acostumbrarás a la consola, que en algunos trabajos tendrás que usar bastante (no todo es interfaz gráfica en este mundillo precisamente) y aprenderás poco a poco como funciona un sistema operativo por dentro y mierdecillas de sistemas que nunca vienen mal, créeme. Si luego Ubuntu te sabe a poco tienes distribuciones por un tubo o incluso te puedes acabar haciendo la tuya propia (de verdad) así que Linux me parece mucho más fascinante. Windows ya sabes cómo funciona, atrévete a conocer algo nuevo y seguro que te gusta, sobre todo si te gusta personalizar cosas y tenerlo todo a tu gusto.
Para programar Linux está muy bien, tienes muchas herramientas ya integradas según instalas Ubuntu, como Python, y tienes muchos editores e IDEs compatibles (Ninja, Eclipse, CODE, Brackets, Atom, los entornos que tiene JetBrains (que son los mejores que hay), Android Studio, NetBeans, CodeBlocks y el inigualable VIM que créeme acabarás usando más de lo que crees... sobre todo si tienes que toquetear cosas a través de SSH o modificar algún script puntual) además de muchas herramientas de desarrollo como LAMPP.
Además, en Linux instalar una dependencia o una herramienta para programar es tan fácil como ejecutar un comando y bajarte del repositorio directamente la última versión funcional ($ sudo apt install snort), instalar un paquete que te hayas descargado con el navegador ($ sudo dpkg -i paquete.deb) o más fácil todavía con las snaps de Ubuntu. Además, configurar una aplicación en Linux es tan fácil como editar un archivo de texto con las configuraciones y volver a levantar el servicio correspondiente.
Son cosas que te pueden parecer un coñazo porque no las has hecho nunca pero una vez te acostumbras créeme que es una delicia trabajar con Linux. Y, lo que más me gusta de todo y lo vuelvo a repetir, la personalización, la posibilidad de cambiar todo lo que quieras cuando quieras. Tienes muchos entornos de escritorio (mi preferido es KDE que es PRECIOSO, otros prefieren Gnome que además admite plugins que modifican su comportamiento, Cinnamon, Pantheon, Budgie...) y por poder hasta puedes instalarte la consola que tu quieras y tenerla personalizada a tu gusto. Yo uso Zsh en lugar de Bash e incluso hay consolas que utilizan Python, como
the xonsh shell — xonsh 0.7.9 documentation
Pero bueno, olvídate de ésto, tú ahora poco a poco y a empezar. No te mires largos vídeos o manuales de Ubuntu que te vas a aburrir. Úsalo y cada vez que haya algo que no sepas hacer, búscalo. Aunque sea cómo instalar una chorrada, cambiar tu IP, actualizar tus aplicaciones... Y poco a poco acabarás sabiendo de Linux sin darte cuenta.