Решено! Буду Java-разработчиком!

23 июня 2021

Отличный выбор, если учитывать статистику: примерно 14% вакансий в IT‑индустрии занимают разработчики на Java, языке программирования, который уже много лет находится во всевозможных топ-списках и держит свои позиции в гонке с более “молодыми” языками. 

Действительно ли Java так востребован?

Java является высокоуровневым объектно-ориентированным языком. Он многое взял от языка С++, основой для которого, в свою очередь, является  язык C. Официальная дата презентации - 23 мая 1995 года. 

Сферы его применения обширны: Java используют для создания корпоративных, мобильных и веб-приложений, видеоигр и приложений для смартфонов и планшетов под Android. К примеру, именно на нем написан Telegram под Android. Он широко применяется в финансовой и банковской сферах, а также в системах, которые работают с высокой нагрузкой (вроде стриминговых сервисов). Часто на нем пишут программы для встраиваемых систем: может именно благодаря Java сегодня вы выпили вкусный кофе, приготовленный вашей кофемашиной. 

Почему Java так широко применим?

  1. Самый большой плюс - его кроссплатформенность. Java-код запускается с помощью Java Virtual Machine (JVM): ему не важна операционная система, главное - чтобы на устройстве была JVM.
  2. Обратная совместимость. Программы, написанные на старой версии языка, будут работать и при переходе на более новые.
  3. Огромное сообщество. Как мы уже говорили, язык Java занимает большую долю IT‑рынка, а это значит, что постоянно выходят новые материалы и статьи, в которых можно находить решения для возникающих вопросов.
  4. Постоянное улучшение. Новейшая версия Java №16 датируется мартом 2021 года, и уже анонсирован выход №17 - в сентябре 2021 и №18 - в марте 2022.    

Какие обязанности Java Developer’a?

Все обязанности можно разделить на 3 условные группы:

  1. Разработка/проектирование. Сюда относится разработка логики и архитектуры приложений, создание технических заданий (ТЗ), собственно написание кода и создание приложений или их отдельных модулей. 
  2. Тестирование и запуск. К задачам разработчика может относиться тестирование кода, его дальнейшая отладка при обнаружении ошибок или багов, компиляция и запуск продукта.
  3. Поддержка и сопровождение. Также разработчик должен составлять техническую документацию и писать инструкции для работы с приложениями или их отдельными модулями.   

Задачи Java-разработчика могут отличаться не только в зависимости от компании и проекта, а и в зависимости от уровня самого программиста. Существует несколько ступеней развития для роли Java Developer:

  • Intern. Молодой специалист, изучивший основы языка, но не умеющий применять их на практике. Может выступать помощником на небольших проектах и выполнять задачи с низким уровнем ответственности.
  • Junior, Джун или Младший Разработчик. Специалист с минимальным опытом работы, который уже может исправлять незначительные ошибки, но его работа нуждается в проверке со стороны.
  • Middle, Миддл или Разработчик. Специалист с достаточным опытом работы, который пишет код, не нуждающийся в проверке. Ему можно доверять задания среднего уровня сложности. 
  • Senior, Сеньйор или Старший Разработчик. Может выполнять задачи любой сложности в четко установленные сроки, вносить изменения и проверять код, написанный другими.
  • Tech Lead, Техлид или Технический Руководитель. Часто им становится самый опытный инженер. В его задачи входит выбор стека технологий для проектов или отдельных задач, внедрение новых технологий, выстраивание процессов, распределение задач, развитие и контроль производительности сотрудников. Он отвечает за качество реализации продукта или его отдельных модулей.
  • Architect или Архитектор. Специалист высшего уровня. В его задачи входит создание архитектуры всего проекта, а навыки позволяют “вытянуть” создание продукта в одиночку. 

На рынке труда больше всего вакансий, как правило, для специалистов уровня Middle и Senior. Техлиды и Архитекторы - это единичные предложения от больших компаний, так как для маленьких и средних проектов они не затребованы или же эти специалисты “растут” прямо внутри компании.

Стоит ли мне пробоваться на эту роль и на какое вознаграждение я могу претендовать? 

Профессия Java-разработчика подразумевает любовь к точным наукам и умение быть сосредоточенным. Важно быть аккуратным при выполнении заданий и пунктуальным для закрытия дедлайнов. И несмотря на нередкое мнение, что разработчик - это 100% интроверт, который сидит за ноутом и никого не видит, он должен обладать коммуникативными навыками, чтобы общаться с командой и заказчиком. И чем выше его уровень, тем больше общения присутствует в повседневных задачах. Если вышеперечисленное в той или иной степени характерно для вас, то роль Джава Девелопера может стать новым витком в вашей карьере.  

А как насчет вознаграждения? Согласно dou.ua:

  • Junior Java-разработчик с опытом работы до года в среднем претендует на $500 в месяц, при опыте работы 2-3 года - $1100 в месяц;
  • Middle с опытом работы 1-2 года в среднем получает $1800, 3-4 года - $2500;
  • Senior с опытом работы 1-3 года получает $3100, при опыте 5+ лет диапазон зарплат от 3500 до 4350 долларов.

Какие же требования для позиции Java Developer?

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

  1. Конечно, знание языка Java: в частности, синтаксис, фреймворки, команды и библиотеки.
  2. Знание Java Core. 
  3. Умение работать с базами данных: к примеру, знание MySQL и умение создавать запросы.
  4. Понимание принципов ООП - объектно-ориентированного программирования.  
  5. Навыки работы с системой контроля версий Git. 
  6. Как минимум, технический английский - для чтения и составления документаций. 
  7. Плюсом будет знание доменной области, других языков программирования (C, C++, Kotlin, Ruby и т.д.).
  8. Приветствуется понимание методов/методологий/фреймворков для разработки ПО. 

О том, как готовиться к собеседованию, вы можете узнать из статьи “Как пройти собеседование на позицию Java: советы от Luxoft”.

“Написано много: но с чего мне начать?”

Такой вопрос будет вполне уместным. Здесь есть 2 пути. 

  1. Вы можете самостоятельно изучать информацию (благо, сейчас ресурсов для этого достаточно) и практиковаться на специальных тренажерах или небольших проектах в качестве интерна, чтобы получить необходимый практический опыт. 
  2. Обучиться на специальных курсах. К примеру, прийти к нам на “Погружение в Java: Beginner”, а после него - на “Погружение в Java: Practice”. Параллельно вы можете освоить базы данных и как с ними работать на курсе “Основы SQL”. Не забывайте, что мир IT - это мир английского языка, поэтому отличной идеей будет подтянуть его хотя бы до уровня Intermediate. И вишенкой на торте станет знание Agile и Scrum.

Какой бы путь вы ни выбрали, умение программировать на Java еще долго будет оставаться востребованным в сфере IT.

Похожие темы