Em contraste com @John Fisher (+1), sou um cara de Java.
Estou sempre com inveja do mundo Windows / .Net, porque tudo parece ser muito mais integrado, pelo menos para alguém que não é familiar com todos os detalhes e armadilhas.
O lugar do Java é um pouco mais caótico, portanto, produz várias idéias bastante inovadoras (pense no hadoop, Spring etc.) fora do JCP, que promove os padrões oficiais do JavaSE e JavaEE. Como o JCP é conduzido por várias organizações (comerciais) diferentes, às vezes está muito atrasado (por exemplo, funções lambda em Java), pois leva tempo para encontrar acordos entre todos os diferentes participantes.
Existem vários prós e contras de ambos os lados. No entanto, de um ponto de vista técnico, não importa se Java ou .Net deve ser muito mais pensado em escalabilidade e complexidade geral quando, por exemplo, 10 mil usuários simultâneos acessando seu sistema.
Do ponto de vista da arquitetura de software .Net e Java (estruturas EE +) são bastante semelhantes, ambas fornecem APIs para resolver todos os problemas comuns (por exemplo, MVC, Rest, JSON, Persistence, sistema de mensagens - apenas para citar alguns) nós ' está enfrentando no mundo de hoje.
Para concluir - dê uma olhada nos dois conceitos e escolha um. Não é uma decisão para toda a vida.