Pozwolę sobie spróbować odpowiedzieć pobieżnie na to pytanie. Disclaimer: pracuję w zawodzie komercyjnie 14 lat. Ostatnie 11 jako programista java, wcześniej zaczynałem od PHP. Obecnie jestem architektem rozwiązań.
W warstwie językowej java i c# są bardzo podobne. C# (jako próba - nieudana - wyrzucenia z siodła Javy przez Microsoft) jest pod pewnymi względami nawet lepszy jako język sam w sobie. Tworząc specyfikację specjaliści MS mogli wyciągać wnioski z historii Javy.
Tylko że język to nie wszystko. Microsoft nigdy nie zagroził pozycji Java dlatego, że za długo był zamknięty. Wymagał płatnych serwerów (Windows Server) - Java mogła działać na darmowych linuxach. Wymagał płatnego środowiska programistycznego. Java dzięki otwartości standardu i braku ograniczeń licencyjnych odniosła sukces dzięki ogromowi wysokiej jakości open-source'owych narzędzi praktycznie do wszystkiego. W świecie korporacji posiadających na stanie dziesiątki albo setki serwerów ogromne znaczenie (finansowe) miał to, że nie muszą płacić licencji za MS Windows Server. Mono (Xamarin) bardzo długo było wątpliwe pod znakiem prawnym (nie było klarownej sytuacji co do tego, czy Xamarin może używać opatentowanych rozwiązań MS).
Przez to wszystko java rządzi niepodzielnie w świecie korporacyjnym. .NET działa w firmach, które kiedyś popełniły błąd stawiając na C# (mówię o zastosowaniach back-endowych, nie aplikacjach desktop) i teraz po prostu mają za dużo kodu, żeby się na cokolwiek przesiadać.
Dlatego pracy w Java jest więcej - więcej poważnego softu jest w tym napisane. Systemy bankowe (te które nie są w COBOLu ;) ), ubezpieczeniowe, systemy zarządzania sieciami telco, systemy zarządzania liniami lotniczymi (Sabre i spółka) - główną platformą w tym świecie jest Java. Dawała biznesowi tańsze środowisko (brak licencji za OS, IDE, kompilator) z lepszą bazą narzędzi/bibliotek dostępnych za darmo.
Z tego punktu widzenia lepszym wyborem z tych dwóch opcji jest Java. Jest w niej więcej softu, ciągle pisze się masę nowego, praca w tej dziedzinie będzie jeszcze 10 lat co najmniej.
Natomiast sugerowałbym rozważenie rozpoczęcie nauki od jakiegoś "lekkiego" języka typu "full-stack". Python, Ruby, Rails. Raczej nie node.js. Dlaczego?
Sam tak zaczynałem (PHP) i widzę duży zysk. W tych językach bardzo szybko zaczyna się mieć kontakt ze wszystkimi warstwami aplikacji. Łatwo napisać sobie webappkę która dotyka tak tematów front-endowych (można poćwiczyć adżaksy, dżejkuery i inne), jak i backendowych (baza danych, sposób dostępu do niej, bazy SQL czy noSQL). Mając szerokie podstawy łatwiej potem przełączyć się na język wyższego rzędu i np. implementować serwisy back-endowe wystawiające API dla klientów www pisanych w .js - po prostu więcej się rozumie. Java do pisania stron www w 2017 roku się nie nadaje :)
Miało być krótko a wyszło jak zwykle ;) Pozdrawiam