Hace algunos días hicieron una pregunta muy parecida:
http://www.forosdelweb.com/f2/que-es...ahora-1136926/
En definitiva cada uno te va a dar una opinión diferente. Lo que si es indudable es que tenés que aprender javascript, HTML y CSS para poder mínimamente hacer un front-end web, aunque no seas front-ender.
PHP se usa muchísimo, pero estadísticamente está demostrado que los programadores PHP ganan menos que en las demás tecnologías. Además PHP es bastante limitado desde el punto de vista de que sólo sirve para aplicaciones web, y solo para el server. En cambio tanto java como C# se usan para todo tipo de aplicaciones.
Con respecto al tema de las aplicaciones de escritorio, es verdad que ha disminuido muchísimo y se ha convertido en un nicho, pero es un nicho interesante. Yo trabajo en una aplicación que por sus características visuales, de experiencia de usuario, y la necesidad de que sea altamente responsiva es imposible que sea web.
Ruby y Python son lenguajes interesantes, pero si hablamos del campo laboral te tenés que enfocar en los lenguajes mas "mainstream" que son java y C# / .Net. A mi personalmente java no me gusta para nada y por eso elegí .Net.
Por ejemplo en mi país en el sitio más importante de búsqueda de trabajo IT, hoy en día tenes las siguientes ofertas abiertas:
- 112 de java
- 99 de .Net (C#)
- 26 de PHP
- 6 de Ruby
- 1 de Python
La diferencia entre java y .Net oscila para un lado y para el otro constantemente, a veces hay más avisos de java y otras veces más avisos de .Net, pero es claro que estas 2 tecnologías dominan el mercado, y el resto son nichos.