Если вы только приступили к изучению Java или еще думаете, какой язык программирования выучить, этот текст для вас. Гораздо проще найти мотивацию, когда знаешь конечную цель. В огромном мире IT легко запутаться — море специализаций и должностей могут вогнать в ступор. Чтобы этого не случилось, мы рассказываем о четырех самых популярных направлениях в разработке и подскажем, какие технологии надо освоить. Надеемся, это поможет вам выбрать собственный путь развития. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 1

Backend-разработчик

Backend-разработчик занимается той частью приложения / сайта / программного обеспечения, которое находится “под капотом”. А это очень много различных задач. Суть работы такого разработчика заключается в создании работающей комбинации “сервер-приложение-база данных” через написание кода, который выполняется на сервере — физическом или облачном. Backend-разработчик отвечает за логику, правильное функционирование и хорошую производительность приложения. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 1

Стек технологий

Java, база данных MySQL, библиотека Hibernate, фреймворки Spring и Spring MVC, программное обеспечение для контейнеризации Docker, облачные сервисы — AWS, Google Cloud, Azure; Heroku

Задачи backend-разработчика

  • Проектирование архитектуры ресурса.
  • Формирование структуры веб-сайта.
  • Создание платформы и основного набора функций.
  • Написание алгоритмов.

Зарплата

Средняя зарплата backend-специалиста, согласно данным сайта Dou, в Украине составляет около 2380 долларов. Джун получает от 850 долларов, а синьор — около 4 тысяч долларов. А вот в России, согласно данным опроса “Хабра”, средняя зарплата backend-разработчика ниже, около 1900 долларов.

Frontend-разработчик

Frontend-разработчик — это программист, отвечающий за визуальную часть веб-сайта, приложения или программного обеспечения. Не стоит путать его с верстальщиком, ведь функционал frontend-разработчика значительно шире. Он не только верстает, но и “оживляет” сверстанную картинку за счет всплывающих окон, налаживает работу кнопок и взаимодействует с серверной частью приложения. Чтобы работать frontend-разработчиком, необходимо освоить такие языки, как HTML, CSS, JavaScript. Знание Java даст необходимую базу для понимания объектно-ориентированного программирования. В будущем человек, владеющий навыками frontend-разработчика, может переучиться на backend-девелопера, а впоследствии и на fullstack-разработчика. Так что развиваться есть куда. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 2

Стек технологий

Языки HTML, CSS, JavaScript, метаязыки SASS и LESS, Flexbox (один из модулей CSS), библиотека JQuery, фреймворки Angular и Vue.js, Git, программная платформа Node.js.

Задачи frontend-разработчика

  • Разработка нового функционала сайта, приложения или ПО и улучшение старого.
  • Рефакторинг кода для улучшения производительности.
  • Обзор кода, отправляемого на сервер.
  • Техническая реализация графического UI/UX макета, составленного дизайнером.
  • Отслеживание производительности приложения.
  • Починка багов.

Зарплата

Согласно опросу сайта Dou, в Украине frontend-разработчики в среднем получают около 2300 долларов. Джуны могут зарабатывать от 750 долларов, а синьоры около 4 тысяч долларов. В России, согласно опросу “Хабра”, в среднем frontend-девы получают около 1630 долларов.

Fullstack-разработчик

Fullstack-разработчик — это человек-швейцарский нож в мире разработки, мультифункциональный программист, который может справиться с задачами и по frontend, и по backend. Таким универсальным солдатом стать непросто: надо обладать обширными знаниями и богатым опытом. Естественно, fullstack-разработчиком может стать специалист, который успел поработать в свое время и над визуальной частью приложения, и над серверной. К тому же, он должен хорошо представлять, как эти части взаимодействуют и каким должен быть проект на выходе. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 3

Стек технологий

  • Java + Java Core; Apache; JPA/Hibernate; Spring (Spring MVC, Spring Boot, Spring REST, Spring Web ), Google Cloud, AWS или Azure; JSP (Java Server Pages).
  • Язык верстки HTML и язык стилей CSS; языки программирования JavaScript и TypeScript; препроцессоры SASS и LESS; библиотека jQuery; фреймворк Bootstrap; Angular/React/Vue.js; технологии DOM, AJAX, JSON.

Задачи fullstack-разработчика

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

Зарплата

Средняя зарплата fullstack-специалиста в Украине составляет около 2300 долларов. В России средняя зарплата такого специалиста составляет около 1600 долларов.

Android-разработчик

Зная язык программирования Java, можно работать Android-разработчиком. У большинства крупных компаний есть приложения в качестве альтернативной версии веб-сайта. К тому же, буквально каждый месяц появляются десятки приложений-стартапов, в которых также можно получить работу. У разработчика мобильных приложений много задач и обязанностей на разных уровнях подготовки, от работы над внутренней структурой до реализации интерфейса. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 4

Стек технологий

Java, Android Studio, Android SDK, Git, библиотеки Retrofit, Moshi, Chuck, Timber.

Задачи Android-разработчика

  • Разработка мобильных приложений для ОС Android.
  • Взаимодействие с базами данных и АРI.
  • Тестирование и доработка программного продукта на нескольких этапах.
  • Загрузка готового продукта в магазин приложений Google Play.
  • Поддержка и обновление приложений.
  • Подготовка документации и инструкций по работе с продуктом.

Зарплата

Средняя зарплата Android-разработчика в Украине составляет около 2375 долларов. Джун может рассчитывать на зарплату в 800 долларов. В России средняя зарплата такого разработчика составляет около 2040 долларов.

Как программисты работают в команде? Пример JavaRush

Специализации разработчиков мы обсудили, но как же выглядит работа этих людей в команде? Расскажем, как работает команда программистов JavaRush. Для начала немного о продуктах JavaRush и CodeGym. Они состоят из таких частей (это упрощенная структура):
  • сервер;
  • база данных;
  • фронтэнд;
  • плагин;
  • Android-приложение;
  • iOS-приложение (ещё не было релиза).
Такое схематичное деление сервиса на части нужно, чтобы понимать, чем занимаются разработчики, так как в команде JavaRush есть и frontend, и backend, и fullstack, и mobile. Фронтендщики разрабатывают визуальную часть сервиса, улучшают скорость загрузки квеста, добавляют новые языковые версии на сайт (например, на JavaRush недавно появились украинская и английская версии интерфейса). Бэкендщики разрабатывают серверную часть продукта, в том числе добавляют новый функционал на сайт. Например, недавно на JavaRush перевели уведомления на разные языки и начали определять страну пользователя при регистрации. Также бекенд-разработчики налаживают работу сайта в связке с трехсторонними API. Что это значит? Зачем писать что-то свое, тратить время и деньги на написание, тестирование и поддержку, если есть уже написанные решения, которые подходят сервису, и все что нужно сделать — это начать их использовать. В таком случае бекенд-разработчики пишут код, который помогает взаимодействовать сайту со сторонними API (если программу рассматривать как черный ящик, то API — это набор «ручек», которые доступны пользователю данного ящика и которые он может вертеть и дергать — ред.) и настраивать его работу. Фулстеки занимаются либо задачами фронтендщиков или бекендщиков, либо задачами, которые касаются всех, например, автоматическим обновлением комментариев — если кто-то напишет комментарий на странице, то он отобразится без перезагрузки страницы. Разработчики Android и IOS разрабатывают и поддерживают мобильные приложения (IOS еще не в релизе). Тестировщик в JavaRush проверяет новые фичи, проверяет исправления багов, ищет ошибки и следит за качеством продукта. Добавим, что хотя у каждого разработчика есть собственный пул задач, но также есть общие планирования и обсуждения задач, так как выполнение большой цели всегда завязано на большом количестве специалистов. ​ Вы уже определились, кем хотите работать после окончания обучения? Ждем ваших комментариев. Кем я могу работать, изучив Java? Гайд по миру разработчиков для самых зеленых новичков - 5