С каким уровнем Java можно идти на стажировку, а с каким — претендовать на зарплату 250 000 рублей?

Привет, Хабр! Меня зовут Даниил Пилипенко, я — программный директор факультета backend-разработки направления «Программирование» в Skillbox и директор центра подбора IT-специалистов SymbioWay.

В этой статье я хочу рассказать, какого уровня знаний и навыков Java достаточно, чтобы идти на стажировку или устраиваться на работу, и на какую зарплату можно рассчитывать.

Часто бывает так, что не решаешься осваивать новую профессию или получать дополнительное образование только потому, что не знаешь, какие плоды и когда тебе это принесет. Одни долго учатся, но все равно без практического опыта в разработке никуда, кроме стажировки, устроиться не могут. Другие же умудряются пойти на курс и сразу параллельно устроиться на работу.

Мы подготовили для вас несколько карьерных треков, которые сразу разложат все по полочкам:

  • на какой доход можно рассчитывать;

  • какие знания нужно получить, чтобы зарабатывать больше;

  • по каким критериям выбирать обучение.

Для начала давайте разберемся, какими знаниями и навыками должен обладать начинающий Java-разработчик.

Что должен знать и уметь начинающий Java-разработчик?

Чтобы устроиться на работу на должность младшего Java-программиста, нужно:

Знать

Уметь

синтаксис языка, все основные операторы и конструкции;

основы объектно-ориентированного программирования: что такое классы, методы, статический контекст, константы, наследование, полиморфизм, инкапсуляция, перегрузка и переопределение;

принципы клиент-серверного взаимодействия, в том числе, HTTP и REST;

язык запросов SQL как минимум на уровне JOIN-ов;

принципы многопоточности.

писать “чистый” работающий и достаточно оптимальный с точки зрения производительности код;

работать с разными типами данных и коллекциями;

работать с исключениями;

писать и понимать лямбда-выражения и работать с функциональными интерфейсами;

работать со Stream API;

настраивать логирование;

работать с сетью и с файлами.

Еще вам понадобится опыт:

  • работы со сборщиком (например, Maven или Gradle) и с подключением внешних библиотек;

  • отладки и профилирования приложений;

  • работы с системой контроля версий Git;

  • разработки хотя бы несложных веб-приложений на Spring Boot;

  • работы с командной строкой Linux (bash);

  • командной разработки.

Это обязательная база, без которой не получится работать. Конечно, эти списки могут корректироваться и уточняться в зависимости от требований и задач конкретного работодателя.

И, если вы не владеете другими языками программирования и у вас нет никакого опыта в разработке, осваивать профессию придется полностью с нуля.

А если все навыки есть и опыт командной разработки тоже, можно смело устраиваться на работу и развиваться дальше. Когда в знаниях есть пробелы, нет уверенности в своих силах или практики разработки более-менее крупных проектов, тогда вам в стажеры. Рассмотрим карьерные треки с вилкой зарплат.

Стажер, 40 000 – 50 000 рублей в месяц

С позиции стажера часто начинается карьера любого программиста, в том числе Java-разработчика. Найти вакансии стажера можно на популярных агрегаторах — таких, как HeadHunter, Яндекс.Работа или SuperJob Student. Последняя площадка полностью посвящена стажировкам.

Вам в стажеры, если:

  • вы знаете только основы Java;

  • у вас есть практика решения задач, но только самостоятельная, и нет опыта командной разработки;

  • вы еще учитесь, но хотите начать подрабатывать и обучаться на практике.

Junior-разработчик, 50 000 – 90 000 рублей в месяц

Если у вас есть все перечисленные базовые знания и вы разрабатывали проекты в команде, можно претендовать на должность младшего Java-разработчика. А если вы еще учитесь, но получаете дополнительное образование, у вас есть опыт в других языках — вполне возможно, вы сможете устроиться на работу в середине обучения. В таком случае и зарплата может быть сразу 60 000 – 70 000 рублей. Все зависит от вашего стремления учиться, а также качества и скорости решения задач, которое вы приобретете в процессе такого обучения.

Можно учиться и работать параллельно. Курсы по Java в среднем длятся 6-9 месяцев. В Skillbox модуль на неделю — это где-то 1,5-2 часа видео и 5-6 часов домашних заданий. Вы сможете посвящать обучению один неполный выходной или по часу в день в течение недели и совмещать с основной работой или учебой.

Обучайтесь в своем темпе. Например, некоторым нашим студентам хватает 2-3-х месяцев для прохождения базового курса.

Middle-разработчик, 90 000 – 250 000 рублей в месяц

У вас есть все знания и навыки junior-разработчика, вы работаете по профессии, но хотите развиваться, идти дальше и зарабатывать больше. Для этого нужно интенсивно учиться, в том числе:

  • Освоить фреймворк Spring. Если сделать это перед трудоустройством, то вы сможете сразу претендовать на зарплату от 90 000 рублей.

  • Освоить работу с базами данных, алгоритмами и Enterprise-технологиями в Java. Это поможет вам быстрее вырасти до уровня middle/middle+ и зарплаты до 250 000 рублей в месяц при условии постоянной реальной практики на работе.

Например, вы можете учиться на нашем курсе «Java-разработчик PRO», обучение занимает 2 года и охватывает базовый, полный и дополнительный курс с изучением указанных выше технологий.

На что обратить внимание при выборе курсов в Java-программировании?

  • Схема обучения. Удобнее обучаться в любое время, но некоторые программы рассчитаны на строгое присутствие на уроках по расписанию с дедлайнами. В этом случае может быть сложно совмещать обучение с работой или основным образованием.

  • Нагрузка. Курс может быть слишком плотным или чересчур растянутым. Оптимально, когда есть рекомендуемые темпы обучения.

  • Командная разработка. Чем больше практики, реальных проектов, тем лучше, а здесь никуда без работы в коллективе. Уровень сложности — максимальный. Это отличный опыт и ваш главный козырь при трудоустройстве. Неизвестно, когда на работе вам попадется такой проект, так что используйте возможности во время обучения по-максимуму.

  • Обязательная стажировка. Если после обучения вам нужно обязательно стажироваться — вы учитесь на уровень Junior. Это неплохо, если после короткого обучения (6 месяцев максимум) вы уже можете идти работать. Но лучше, если программа предусматривает помощь в трудоустройстве. Это значит, что образовательное учреждение или платформа не сомневается в уровне подготовленных кадров и предоставляет выбор: если вы хотите учиться недолго — можно идти на стажировку. А если пройти полное обучение, то можно сразу устраиваться на работу.

  • Срок обучения. У всех разные потребности. Кто-то приходит с опытом командных разработок в других языках, кто-то совсем без всего. Понятно, что таким людям нужно учиться разное время, знания различного уровня, а значит — выбирать программу нужно под себя, под свою ситуацию и личные потребности.

  • Дополнительные курсы. Иногда программы обучения включают множество дополнительных курсов не по основной профессии. Такие программы, как правило, стоят дороже и занимают больше времени. Обращайте внимание на то, чтобы все курсы в рамках выбранной вами программы были так или иначе посвящены Java-разработке.

  • Программа курса. Тут все просто: чем больше практики, тем лучше, но теория тоже нужна. Практика в среде разработки, а не на виртуальном тренажере — дополнительный плюс. Обращайте внимание, чтобы авторы курса не тратили ваше время на устаревшие технологии, например, сервлеты и JSP, JSTL. Некоторые обучающие платформы до сих пор этому учат и берут за это деньги.

  • Диплом. Круто, если по результатам обучения вы выполните не только индивидуальный, но и командный диплом. Это дополнительный бонус при трудоустройстве.

Подведем итоги

Если у вас есть опыт в разработке на других языках, проходите базовое обучение по Java и смело вливайтесь в профессию. Если таких знаний нет, нужно погружаться с нуля. А если вы хотите выйти на новый уровень и зарабатывать больше, ищите продвинутые курсы уровня PRO и обязательно проходите обучение технологиям Enterprise-разработки и фреймворку Spring.

Источник 📢