Одна из проблем, связанных с приобретением опыта в J2EE, заключается в том, что это «движущаяся цель» - все время появляются новые технологии, API постоянно меняются, и в дополнение к знанию API Sun вы должны знать множество сторонних инструментов, которые сейчас практически неотъемлемая часть стека. Как Hibernate, Spring, Hadoop и все такое.
Резюме J2EE или список вакансий часто распознается супом Buzzword, который часто охватывает строки за строкой за строкой.
Для новичков это сопряжено с тремя рисками:
- Изучение устаревших технологий.
- Изучение решений конкретных поставщиков без понимания альтернатив и принципов, лежащих в их основе.
- Вы можете изучить много инструментов, но никогда не знаете, как их смешать.
- Никогда не получайте шанс попрактиковаться в программировании и развить «инстинкт программиста».
Вы не особо упомянули о своем опыте, поэтому неясно, насколько у вас есть опыт работы с Java на Java или насколько вы удобны в задачах, не связанных с архитектурой.
Я бы лично рекомендовал вам убедиться, что вы действительно хороши в этом, а затем начать интегрировать новые технологии J2EE в повседневное кодирование, а не просто изучать множество описаний инструментов, не используя их в контексте. , ИМХО, это единственный способ накопить знания и действительно иметь архитектурный смысл. Просто будьте в курсе событий и будьте готовы рисковать и пробовать новые технологии, если вы можете оправдать это тем, что используете в настоящее время.
Давайте возьмем, например, AJAX или архитектуру обмена сообщениями. Попробуйте записать описание различий между двумя поставщиками или фреймворками. Теперь попробуйте некоторое время использовать низкоуровневые конструкции, такие как XmlRpc, GWT или сервлеты, прежде чем сосредоточиться на освоении предполагаемого комплексного решения. Точно так же поиграйтесь с сокетами или API-интерфейсами JMS, прежде чем использовать архитектуру обмена сообщениями и т. Д. Поиграйте немного с SQL, прежде чем переходить в спящий режим или другие ORM. Теперь посмотрим, сможете ли вы привести более убедительные аргументы в пользу различий между фреймворками.
Я не могу сказать вам, сколько знакомых мне архитекторов J2EE провалили собеседования, потому что они не смогли решить простую проблему FizzBuzz.