Если вы только приступили к изучению Java или еще думаете, какой язык программирования выучить, этот текст для вас. Гораздо проще найти мотивацию, когда знаешь конечную цель. В огромном мире IT легко запутаться — море специализаций и должностей могут вогнать в ступор. Чтобы этого не случилось, мы рассказываем о четырех самых популярных направлениях в разработке и подскажем, какие технологии надо освоить. Надеемся, это поможет вам выбрать собственный путь развития.
Backend-разработчик
Backend-разработчик занимается той частью приложения / сайта / программного обеспечения, которое находится “под капотом”. А это очень много различных задач.
Суть работы такого разработчика заключается в создании работающей комбинации “сервер-приложение-база данных” через написание кода, который выполняется на сервере — физическом или облачном. Backend-разработчик отвечает за логику, правильное функционирование и хорошую производительность приложения.
Стек технологий
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-разработчика. Так что развиваться есть куда.
Стек технологий
Языки 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 + 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, 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 проверяет новые фичи, проверяет исправления багов, ищет ошибки и следит за качеством продукта.
Добавим, что хотя у каждого разработчика есть собственный пул задач, но также есть общие планирования и обсуждения задач, так как выполнение большой цели всегда завязано на большом количестве специалистов.
Вы уже определились, кем хотите работать после окончания обучения? Ждем ваших комментариев.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ