Я занимаюсь разработкой корпоративных приложений на .NET, и постоянно замечаю, что так называемые decision makers очень неохотно соглашаются на то, чтобы критические компоненты системы (например, сервисы, реализующие бизнес-процессы) были реализованы на .NET. Чаще предпочтение отдаётся J2EE. До появления .NET 3.0 такой подход был понятен (т.к. платформа была ещё новая и предоставляла не большое количество средств (к тому же не всегда эффективных) для разработки корпоративных приложений). Но сейчас, на мой взгляд, ситуация поменялась. Однако, на основании тех проектов с которыми я работаю и на основании анализа рынка труда, я сделал вывод, что ситуация не меняется. Очень мало вакансий для .NET developers / architects, которые связаны с разработкой критических высоконагруженных систем. Кроме того, специалистам работающим с Java предлагают более высокие зарплаты. Поэтому у меня возникла идея о том, что возможно стоит перейти на другую платформу разработки. Однако тут есть ряд сложных моментов:
1) Я потратил много времени и сил на изучение .NET и сейчас знаю эту платформу очень хорошо. Чтобы достичь такого же уровня знания Java, потребуются аналогичные затраты сил и времени (хотя, конечно, они будут всё же меньше, т.к. сейчас у меня больше опыта).
2) Меня беспокоит вопрос о том, насколько стабильны позиции Java. Я не раз сталкивался в Интернете с рассказами специалистов и аналитическими отчётами, которые говорят, что доля решений на основе .NET на рынке корпоративных приложений увеличивается (в том числе и решений класса business-critical).
Мне хотелось бы узнать, что думают о целесообразности перехода с .NET на Java (для разработки корпоративных приложений) другие специалисты в области разработки ПО.