Кто такой Java Developer и как им стать
Почему новичку стоит стать Java-разработчиком? Из этой статьи вы узнаете, что такое Джава, как его выучить с нуля и какие перспективы открывает этот язык программирования в ближайшие 10-15 лет.
Что такое Java: 3 факта
Java (произносится “Джава”) – объектно-ориентированный язык программирования, который используется для написания программного обеспечения, мобильных и веб-приложений. Он был создан в 1995 году и обновляется каждые пол года.
Подготовил для вас 3 ключевых факта, которые расскажут про актуальность и перспективность изучения Джава.
Факт 1: Java повсюду
С начала 2000-х и по сегодня каждый из нас ежедневно сталкивался с проектами, написанными на Java:
- игры “Змейка”, “Крестики-нолики” написаны для первых черно-белых, а потом и цветных телефонов;
- современное ПО для “умных” часов, “smart”-телевизоров, электромобилей, банковских сервисов, оборонной промышленности и т.д.;
- по данным Oracle (компания, владеющая правами на Java), проекты, написанные на Джава ежедневно открывают на 3 млрд устройств по всему миру.
Факт 2: Java – топ-язык программирования
По данным Dou, Java занимает 2 место в рейтинге языков программирования. С 2011 по 2019 он занимал 1 место – на нем писали программы 27% разработчиков. В 2021 году 14% разработчиков в мире считают Джава перспективным языком программирования.
Факт 3: Java Developer – в ТОП-2 по количеству вакансий
По данным Djinni на октябрь 2021 года, в сентябре’21 было открыто 2445 вакансий Java Developer. Этот показатель в 3+ раза выше, чем был год назад (793 вакансии).
Что эти факты значат для новичков?
Что Java – это актуальный сейчас и перспективный в будущем язык программирования. Потому что:
- современные технологии, благодаря автоматизации, делают нашу жизнь проще. Происходит это благодаря приложениям, написанным на Java;
- автоматизация требует все больше проектов на Джава. А значит, будет открыто больше вакансий;
- средняя зарплата Junior Java Developer за первое полугодие 2021 составляет $900, что выше средней зарплаты по стране.
Чтобы попробовать себя в профессии java-разработчика и понять, насколько она интересная для вас – зарегистрируйтесь на бесплатный Java-марафон GoIT и создайте самостоятельно первый Telegram-бот.
Что должен знать Junior Java Developer?
Я провел 50+ собеседований с Java Developer разных уровней и под разные проекты. На основании этого опыта я составил для вас чек-лист навыков, которые должны быть у кандидата на должность Junior-разработчика:
- Java Core (синтаксис Джава) – основы языка программирования. Вы должны знать, что программы на Java состоят из классов, объектов, методов и переменных, понимать логику написания кода.
- Базовые принципы объектно-ориентированного программирования. В мире Java принят именно объектно-ориентированный подход.
- Системы контроля версий – важно уметь работать с git.
- Системы сборки кода – проекты собираются с помощью Maven и Gradle – научитесь использовать эти инструменты.
- Работа с реляционными базами данных. Вам нужно знать SQL, уметь пользоваться популярными СУБД (Postgres, MySQL).
- Структурирование данных и алгоритмы. Junior Java разработчик должен знать, что такое структуры данных, какие они бывают, и когда какие лучше применять. Также нужно знать, что такое алгоритм уметь применять.
- Фреймворки и платформы – будьте готовы к тому, что на собеседовании вас спросят про Spring, Hibernate и т.д.
- UNIT-тестирование – вы должны уметь проверить работоспособность отдельной части кода, написав специальный код на фреймворках для тестирования.
5 советов новичкам, как выучить Java быстрее?
Каждый IT специалист начинал учиться самостоятельно – читал книги, смотрел вебинары на YouTube и онлайн-сервисах.
Так же начинал и я. Это помогло накопить лайфхаки, зная которые раньше, я сэкономил бы минимум 1 год и вышел на первую работу быстрее.
Совет 1: учитесь гуглить
В интернете есть все, что нужно знать, чтобы стать Java Junior:
- на сайтах Java Community найдете документацию и форумы, где обсуждают язык программирования Джава;
- на Хабр в свободном доступе 1000+ часов видео про изучение Java с нуля;
- на YouTube есть сотни видео с вебинаров и воркшопов.
Совет 2: найдите ментора
Самая большая проблема новичка – некому задать вопрос, ответ на который не получается найти в интернете. Найдите ментора – Java-разработчика, который согласится:
- отвечать на вопросы и объяснять сложные моменты в процессе обучения;
- делиться актуальной информацией про Java;
- проверять практические занятия и давать обратную связь.
Совет 3: посещайте митапы, IT-конференции
Митапы, конференции и воркшопы в IT – шанс познакомиться с другими новичками, задать вопросы опытным разработчикам и выиграть ценные призы от спонсоров.
20 ноября в GoIT состоится IT Fest, где я расскажу про уникальную систему обучения с нуля до первой работы Java разработчиком со стартовой зарплатой $900.
Регистрируйтесь на IT Fest сейчас, узнайте, как стать Java разработчиком и выигрывайте
Совет 4: пишите код каждый день
Лучше уделять написанию кода 1 час, но каждый день, чем 10 часов, но 1 раз в неделю. Думаете, не найдете время на IT-обучение? Студенты GoIT умудряются совмещать учебу, работу, воспитание детей и семейные обязанности. Узнайте, как найти время на все, пользуясь советами разработчиков Сергея Головко (SoftServe) и Ивана Лапы (DataRobot).
Совет 5: регистрируйтесь на курсы Java
Курсы – возможность стать Джава разработчиком 10-12 месяцев, а не за 3 года, как при самообучении. Вы экономите 2 года за счет:
- готовой и постоянно обновляемой программы обучения, в которой преподаватели передают информацию последовательно;
- персональных менторов, которые закрепляются за вами, помогают и отвечают на вопросы;
- прохождения вебинаров, где Senior-разработчики дают советы, разбирают сложные моменты и практикуются вместе с вами;
Хотите стать Java разработчиком и получать зарплату, выше средней по стране? В GoIT есть пошаговый план! Регистрируйтесь на курс Java Developer и достигните своей мечты!
Что должен знать Junior Java Developer и как им стать
Если ты читал наши статьи про язык программирования Java и профессию Java-разработчика, то уже знаешь, что это перспективное направление с высокими зарплатами, которое не теряет актуальность.
С Java ты сможешь работать в бэкенде, игровой индустрии, машинном обучении, мобильной разработке, аналитике и т.д. Устроиться в небольшой стартап, крупную корпорацию, фрилансить или открыть свое дело. Твои приложения будут запускать на разных платформах и устройствах миллионы людей.
Вакансии для Java-разработчиков есть и в Украине, и на зарубежных рынках. Осталось поверить в свои силы и начать учиться. Сегодня расскажем о том, как стать Junior Java Developer и найти первую работу. Надеемся, тебе поможет наш пошаговый план.
Шаг 1: определись с целью и форматом обучения
Для начала реши, зачем тебе нужен язык Java? Почитай, что на нем пишут и какие дополнительные инструменты используют. Найди примеры типичных проектов и посмотри интервью с экспертами. Изучи вакансии на рынках разных стран. Подумай, куда ты хочешь после курсов по Java: в Backend, Frontend, Fullstack, писать приложения для Android или работать с Big Data. Изучение Java с нуля – это игра вдолгую. И лучше заранее понимать, какая у тебя цель.
Затем взвесь плюсы и минусы разных форматов обучения Java. Можно бесплатно учиться самостоятельно, но это займет много времени. Тебе придется самому составлять план, перепроверять информацию, следить за своим графиком и искать практические задачи. Лучше выбрать курсы с оптимальной программой, большой долей практики, проектами для портфолио и профессиональными преподавателями. Обрати внимание на курс Java для начинающих от GoIT.
Шаг 2: составь план изучения Java
Тут помогут требования из вакансий для Junior Java Developer и программы разных курсов. Если все же решил учиться сам, составь себе список необходимого минимума знаний – от простого к сложному. А потом можешь добавлять дополнительные технологии и инструменты. Важно оценить время на изучение Java, иметь под рукой план и не утонуть в куче второстепенной информации. Вот что тебе точно понадобится:
- Синтаксис. Операторы, типы данных, переменные, условия, циклы и ключевые слова, которые используются в языке программирования Java. Попробуй создать простые объекты с различными вариантами поведения.
- Инструменты и среда разработки. Один из основных инструментов – это Java Development Kit (JDK). Он включает в себя компилятор Java для преобразования исходного кода в байт-код. Также необходимо выбрать среду программирования на Java (IDE). Существует множество популярных IDE, таких как Eclipse, IntelliJ IDEA и NetBeans. Они предоставляют функции и инструменты для упрощения разработки: подсказки, отладчик и автоматическое завершение кода.
- Основы ООП. Классы и методы, наследование, инкапсуляция, полиморфизм и т.д. Больше про объектно-ориентированное программирование мы писали в этой статье.
- Библиотеки и фреймворки Java. Некоторые из популярных библиотек и фреймворков включают Apache Commons, Spring Framework, Hibernate, Gradle и Maven. Нужно понять, как собирать проект и работать с библиотеками готового кода в Java.
- Структуры данных и алгоритмы. Для оптимизации кода и эффективного решения задач. Можешь почитать, например, «Структуры данных и алгоритмы Java» Роберта Лафоре или «Алгоритмы: построение и анализ»Томаса Кормена.
- Базы данных. Установка соединения, выполнение запросов и обработка результатов. Для работы с базами данных тебе пригодится SQL.
- Git. Это система контроля версий, которая помогает работать над проектами с другими программистами и легко отслеживать изменения в коде.
- Тестирование и отладка. Java-разработчики часто пишут Unit-тесты, чтобы быстро найти и исправить ошибки в своем ПО.
- API. Для обмена данными с другими приложениями и сервисами.
- Кибербезопасность. Особенно актуально для крупных корпораций, финансовых учреждений и других компаний, которые работают с чувствительными данными пользователей.
Это список основной информации, которая тебе точно пригодится, чтобы стать Java-разработчиком. Его можно дополнять, добавляя пункты и расширяя перечень технологий и инструментов.
Шаг 3: пиши код на языке программирования Java
Очень важно закреплять теорию на практике. Начни с простых проектов из видео или книг по Java. Пиши программы, решай задачки, тренируй способность анализировать и понимать код. Создай аккаунт на GitHub или GitLab, чтобы выкладывать туда код, который ты готов показать работодателям или другим программистам.
Шаг 4: займись английским
Этот шаг обязателен для всех IT-профессий. Английский нужен для чтения документации, общения с командой и заказчиками, написания кода, а также обучения, работы в международных компаниях и фриланса. Практически в каждой вакансии Java Junior Developer среди требований есть английский от уровня Pre-Intermediate и выше. С ним у тебя больше возможностей для поиска работы и развития. Поэтому найди себе преподавателя или учи его сам. Мы для своих студентов включили в программу курса по Java с нуля English speaking club, чтобы подтягивать английский сразу.
Шаг 5: развивай soft skills
IT-рекрутеры обращают большое внимание на мягкие навыки. Важно, чтобы ты был не только классным Java-разработчиком, но и вписывался в команду, а также разделял ценности компании. Среди ключевых софт скилов можно выделить:
- креативность;
- проактивность;
- командную работу;
- умение общаться;
- эмпатию;
- управление временем;
- внимательность;
- желание развиваться;
- оптимизм, целеустремленность, ответственность, надежность и т.д.
Также желательно ознакомиться с философией Agile и методологией Scrum, которые часто используются в управлении разработкой. В курсе программирования Java от GoIT есть блок, который поможет прокачать софт скилы.
Шаг 6: найди ментора и единомышленников
Посещай разные митапы и конференции по Java, найди профессиональные сообщества. Важно познакомиться с единомышленниками, чтобы обсуждать вопросы и сложности, с которыми ты сталкиваешься. Это гораздо эффективнее, чем учить Java самому. С единомышленниками можно создавать общие проекты и брейнштормить.
Еще очень полезна помощь ментора, который будет тебя поддерживать, проверять код, давать обратную связь и объяснять, если что-то непонятно. Ментор обязательно есть на всех наших курсах.
Шаг 7: создай портфолио Java-разработчика
Это один из самых важных пунктов. Именно портфолио показывает уровень твоих навыков и то, какие задачи ты способен выполнять. На наших курсах по Java студенты пишут 4 проекта для портфолио, которые можно показать работодателю. Расширить портфолио и сделать еще более разноплановым можно с помощью стажировок, фриланса, волонтерства и pet-проектов. Чем больше практики – тем лучше. И с тестовыми заданиями потом будет легче справиться.
Шаг 8: подготовься к поиску работы
Создай резюме и профиль на LinkedIn. Проверь актуальность портфолио и добавь в него все свои проекты со ссылками и описанием. Зарегистрируйся на сайтах поиска работы и научись писать мотивационные письма.
Также показывай свою экспертность в соцсетях. Рассказывай о том, что интересного узнал про язык программирования Java. Публикуй проекты на разных стадиях разработки и будь активным в профессиональных сообществах.
Шаг 9: проходи собеседования на должность Junior Java Developer
Ты не узнаешь, достаточно ли твоих знаний для получения работы, пока не начнешь проходить собеседования с рекрутерами.
Внимательно изучай информацию о компаниях и требования в вакансиях. Просмотри типичные тестовые задания для Java Junior Developer и вопросы, которые обычно задают. Рассылай резюме, пиши мотивационные письма и ходи на собеседования.
Первую работу получить довольно сложно. Тут важно не отчаиваться и после каждого отказа IT-рекрутера исправлять ошибки. Доучивать нужную теорию, добавлять недостающие инструменты и пробовать снова. Можно поискать стажировку для trainee java, чтобы получить больше коммерческого опыта.
Еще полезно проходить тестовые собеседования и готовиться к техническому интервью со специалистом. Senior Java Developer может согласиться пособеседовать тебя за отдельную плату. На наших курсах Java c нуля карьерные консультанты помогают студентам готовиться к трудоустройству.
Стать Java-разработчиком можно примерно за 10 месяцев. Если уверен в выборе профессии, скорее записывайся на наш курс. А если еще сомневаешься, проверь свои способности на бесплатном марафоне по Java от GoIT. Или протестируй сразу 5 IT-профессий за 7 дней. В общем, выбирай направление, а с обучением мы поможем. Все получится!
Пять навыков Java, которые точно проверят на собеседовании в 2022 году
По данным Хабр.Карьеры за июнь, чаще всего среди всех IT-специалистов российские компании искали backend-разработчиков. При этом самым популярным языков программирования, на которых реализуют backend, является Java. Так, доля вакансий Java-разработчиков среди всех вакансий на backend составляет более 35%.
Программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay Даниил Пилипенко рассказал, какие умения должен показать джуниор Java-разработчик, чтобы успешно пройти собеседование.
Умение писать код, который легко поддерживать
Ключевой навык любого разработчика, в том числе, на языке Java –– умение писать чистый код. Чем чище код, тем легче другим разработчикам в нём разбираться и вносить изменения. Вот наиболее типичные признаки чистого кода:
- Понятные названия переменных
Называть переменные нужно так, чтобы было понятно, что в них содержится. Например, переменную, отражающую количество денег, можно назвать moneyAmount. Названия вроде a, b или c использовать не стоит. - Избегание длинных методов
Краткость облегчает чтение кода, поэтому создавайте методы длиной не более 20-ти строк. Ещё не стоит создавать методы с более чем тремя параметрами. Компактные методы будет легко использовать, тестировать и изменять. - Структура классов и методов
Имена классов, методов и структура самих классов должны быть созданы понятно и с соблюдением принципов объектно-ориентированного проектирования и принципов SOLID. - Минимум комментариев
Код должен быть понятен без комментариев и содержать их минимальное количество. Тогда при работе разработчику не придется погружаться в длительное изучение комментариев и в их актуализацию. С кодом, в котором много комментариев, часто бывает такое, что сам код меняют, а комментарии остаются старые. - Структура по правилам фреймворка
Приложение должно быть структурировано по файлам и папкам в соответствии с правилами фреймворка, на котором пишется этот код. Если вы пишете код на фреймворке Spring, то контроллеры должны быть максимально плоскими и содержать минимум кода, а основная логика должна быть вынесена в сервисы. Кроме того, работать с базой данных нужно только через классы репозиториев –– не в сервисах или в контроллере, а шаблоны Thymeleaf нужно размещать отдельно. Если соблюдать все эти требования, время поиска любого фрагмента кода в приложении снизится до нескольких секунд. При ошибке в приложении разработчик сможет быстро найти класс и метод, который требует исправлений. - Низкий уровень вложенности
Фрагменты с высоким уровнем вложенности операторов друг в друга делают код слабо поддерживаемым. Каждый дополнительный уровень вложенности приводит к излишним нагрузкам на разработчиков при чтении. Если в вашем коде внутри метода есть оператор if, в нём цикл, в нём ещё один оператор if, а внутри него — switch…case, такой код необходимо переписывать и делать менее вложенным.
Чтобы проверить навык написания поддерживаемого кода, на собеседовании могут дать небольшую задачу на так называемый live coding — написание кода в реальном времени под наблюдением. Тот, кто будет собеседовать кандидата, будет оценивать два фактора: работоспособность и поддерживаемость написанного кода. Также обычно смотрят на скорость работы –– время, которое кандидату потребовалось на решение задачи.
Знание фреймворка Spring
Этот фреймворк используется в большинстве современных веб-приложений на Java. Каждый начинающий Java-разработчик должен понимать, как создавать их. Важно знать, прежде всего, Spring Boot –– специальный вариант фреймворка Spring, который позволяет создавать веб-приложения быстро и удобно.
На собеседованиях часто спрашивают про структуру приложений на этом фреймворке, про их конфигурацию, про то, как обрабатывать запросы и формировать ответы в контроллерах, работать с базами данных и с шаблонами, создавать и использовать сервисы. Кроме того, перед собеседованием могу попросить примеры кодов веб-приложений на Spring, написанных соискателем.
Умение работать с массивами и коллекциями Java
Начинающий разработчик должен понимать разницу между массивом и коллекцией, уметь создавать и изменять массивы и работать с классом Arrays. Важно также знать основные виды коллекций –– ArrayList, HashSet и HashMap. Стоит понимать механизмы работы List, Set и Map: это позволит выбирать оптимальную для решения той или иной задачи коллекцию.
Преимуществом на собеседовании станет и знание других коллекций, которые позволяют удобно оперировать наборами элементов –– их в Java много. Например, знать класс Collections, в котором есть большой набор инструментов для работы с коллекциями.
Разберитесь с принципами работы коллекций. На собеседовании могут спросить, например, что произойдет, если в HashSet добавить два разных объекта с одинаковым хэш-кодом. Это важный навык, так как от выбора класса коллекции может сильно зависеть скорость работы реализуемого приложения.
Знание языка запросов SQL
Практически любое веб-приложение использует базу данных (БД), чаще всего реляционную. Такие БД состоят из таблиц, в которых есть столбцы (поля) и строки (записи). Поля могут быть разных типов –– например, числа, строки, даты, JSON и так далее. Таблицы также могут быть связаны между собой. Чтобы работать с реляционными БД, разработчики используют язык запросов SQL.
С помощью SQL можно получать данные из таблиц, добавлять их туда, изменять и удалять, он также позволяет фильтровать и сортировать данные при выводе. Кроме того, с помощью SQL можно управлять и самими БД –– создавать их, добавлять в них новые таблицы, менять их структуру или удалять, а также управлять связями между таблицами.
Разработчик должен уметь оптимизировать базы данных, таблицы и отдельные SQL-запросы, чтобы делать работу с БД более быстрой и эффективной. На собеседовании вас могут попросить написать какой-нибудь SQL-запрос или рассказать, например, о том, как работают разные типы оператора JOIN.
Знание принципов клиент-серверного взаимодействия
Формат взаимодействия браузера и просматриваемой веб-страницы с сервером обычно четко регламентирован. Для него используется протокол HTTP или его защищенная версия HTTPS. Они описывают форматы запросов к серверу и его ответов.
Разработчик должен знать протокол HTTP хотя бы верхнеуровнево. В частности, он должен понимать структуру запросов и ответов. Они состоят из строки запроса/ответа, заголовков и тела. Строка запроса содержит адрес ресурса и метод запроса, строка ответа содержит код ответа в числовом формате.
Важно знать популярные коды ответов. Например, 2xx –– коды успешных ответов, 3xx –– коды перенаправлений, 4xx –– коды ошибок на клиенте, 5xx –– коды ошибок на сервере. Вспомните популярную ошибку «Страница не найдена», которую может выдавать браузер –– это код ответа 404.
На собеседовании могут также проверить знания стандарта REST. REST –– это надстройка над протоколом HTTP. REST описывает правила клиент-серверного взаимодействия веб-приложений, по которым операции с сущностями соответствуют определённым методам HTTP. Так, метод GET отвечает за получение ресурса, метод POST –– за создание, PUT –– за полное изменение, a PATCH –– за частичное изменение.
Еще REST регламентирует пути запросов: например, при работе с новостями их список можно получить запросом GET /news. Если разработчик хочет создать новость, то он должен применить запрос POST /news. Чтобы получить конкретную новость, нужно ввести запрос GET /news/id, где id — это идентификационный номер этой новости.
Заключение
Конечно, темы вопросов на собеседованиях могут отличаться от компании к компании. Например, у вас могут проверить знания принципов объектно-ориентированного программирования, задавать более сложные вопросы по SQL и HTTP. Начинающему Java-разработчику также стоит хотя бы в общих чертах понимать, как работает вёрстка — технологии HTML и CSS.
Еще соискателю стоит понимать, как работать с системой контроля версий Git, таск-трекерами, командной строкой bash. Эти навыки являются основными, они позволяют начинать работу в новой команде и компании “гладко”. Те, кто владеет перечисленными навыками, очень быстро после выхода на новое место работы начинают приносить пользу своему работодателю.
- Блог компании Skillbox
- Программирование
- Java
Что нужно знать Java Junior девелоперу?
Начинающему программисту легко потонуть в массе информации, находящейся в свободном доступе. Легко запутаться в требованиях к Java Junior разработчику. Что же на самом деле нужно знать и понимать, чтобы успешно пройти собеседование?
Java Junior девелопер: необходимые знания
- Как минимум нужно знать три принципа ООП, понимать, как они используются и зачем. Уметь на примерах объяснить, что такое инкапсуляция, полиморфизм и наследование.
- Java Core. Методы объекта Object. Это тот вопрос, который задают практически на каждом собеседовании. Без методов объекта Object вы вообще не можете считаться джава-разработчиком.
- Collections Framework. Здесь вы должны знать 3-4 основных интерфейса, для чего и как они используются. А также их основные реализации — по одной-две, максимум три имплементации, уметь рассказать как каждая из них используется, как работает, зачем и почему. Сюда же я отношу и все что касается работы с хеш-ключем и equals. Выясните, как работает HashMap. Что такое Backets. Если вы сможете детально рассказать про то, как это все работает, вы очень сильно выиграете в глазах вашего собеседователя. Про это все просто обожают спрашивать на собеседованиях.
- Multithreading. Я всегда говорил, что многопоточность — это не то, что нужно Java Junior девелоперу. Сейчас я немного пересмотрел свою точку зрения, так как во многих компаниях часто задают такие вопросы на собеседованиях. По большому счету, если мы говорим про энтерпрайз джава — многопоточность практически не используется, но почему-то многие собеседователи считают просто обязательным задать по этому поводу вопросы. Поэтому нужно разбираться в wait, notify, synchronized и пр. В интернете очень много информации по этой теме, вполне реально разобраться за день — ничего сложного тут нет. Обязательно по всему этому напишите хотя бы по одному примеру, что бы вы попробовали все это руками. Наш мозг запоминает информацию лучше, когда вы что-то попробовали на практике и потом вам будет намного легче это все объяснить.
- SQL. Если вы не знаете SQL вы вообще не джава-разработчик. SQL — наше все, потому что без реляционных баз данных нет даже нереляционных баз данных. Если на вашем проекте только нереляционные базы данных, то все равно знание знание реляционных баз данных абсолютно ультимативно. На чем учить? Я рекомендую PostgreSQL. Бесплатный, хорошо ставится, используется на очень многих энтерпрайз-проектах и с него легко перепрыгнуть на Oracle, который используется на всех остальных энтерпрайз-проектах.
- Hibernate. Вы безусловно должны знать этот фреймворк. Понимать, как пишется HQL, как что связано, что такое хибернейт сейшн и уметь им пользоваться.
- Раньше я говорил, что в вас есть выбор, учить вам стек JavaEE или Java Spring, сейчас выбора практически нет. Если вы джава джуниор — учите спринговый стек: Spring Core, Spring Boot, Spring Data и я бы рекомендовал Spring MVC.
- Rest-сервисы. Сейчас также ультимативным становится знание rest-сервисов. Хотя бы JSON, как на Spring MVC сделать рест-сервис.
На этом, собственно, и все. Этого достаточно для уровня Java Junior девелопер. Как показывает моя практика, это все можно выучить максимум за 3 месяца (если вы, конечно, стараетесь).