Якщо ви тільки-но починаєте вчити Java або досі перебуваєте в роздумах, яку мову програмування краще опанувати, цей текст для вас. Ми впевнені: знайти мотивацію значно легше, коли відома кінцева мета. У величезному світі IT легко заплутатися: безліч спеціалізацій та посад можуть збити з пантелику. Щоб цього з вами не трапилося, розповідаємо про чотири найбільш популярні напрямки у розробці та підказуємо, які технології потрібно вивчити для старту кар’єри. Сподіваємося, це допоможе вам обрати власний напрямок розвитку. Ким я зможу працювати після вивчення Java? Гайд світом розробників для зелених новачків - 1

Backend-розробник

Backend-розробник займається тією частиною застосунку / сайту / програмного забезпечення, яка знаходиться “під капотом” – там, де виконується дуже багато різних задач. Зміст роботи такого розробника полягає у створенні комбінації “сервер-застосунок-база даних” за допомогою написання коду, який виконується на сервері – фізичному або хмарному. Backend-розробник відповідає за логіку, правильне функціонування та високу продуктивність застосунку. Ким я зможу працювати після вивчення Java? Гайд світом розробників для зелених новачків - 2

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

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

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

  1. Проєктування архітектури ресурсу.
  2. Формування структури вебсайту.
  3. Створення платформи та основного набору функцій.
  4. Написання алгоритмів.

Зарплати

Середня зарплатня backend-спеціаліста в Україні, згідно з даними DOU, становить близько 2600 доларів. Джун отримує від 1000 доларів, а сіньор — близько 5 тисяч доларів.

Frontend-розробник

Frontend-розробник — це програміст, який відповідає за візуальну частину вебсайту, застосунку чи програмного забезпечення. Не варто плутати його з верстальником, адже функціонал frontend-розробника значно ширший. Він не тільки верстає, але й “оживляє” зверстану картинку за допомогою спливаючих вікон, налаштовує роботу кнопок та взаємодіє із серверною частиною застосунку. Щоб працювати frontend-розробником, необхідно вивчити мови HTML, CSS, JavaScript. Знання Java допоможе сформувати необхідну базу для розуміння об’єктно-орієнтованого програмування. У майбутньому спеціаліст, який володіє навичками frontend-розробника, може перевчитися на backend-девелопера, а надалі – і на fullstack-розробника. Отже, є простір для розвитку. Ким я зможу працювати після вивчення Java? Гайд світом розробників для зелених новачків - 3

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

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

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

  1. Розробка нового функціонала сайту, застосунку або чи ПЗ, або покращення старого.
  2. Рефакторинг коду для підвищення продуктивності.
  3. Огляд коду, який відправляється на сервер.
  4. Технічна реалізація графічного UI/UX макету, який розробляє дизайнер.
  5. Відстеження продуктивності застосунку.
  6. Виправлення багів.

Зарплати

Згідно зі звітом від сайту DOU, в Україні frontend-розробники в середньому отримують близько 2500 доларів. Джуни можуть заробляти від 980 доларів, а сіньори близько 4800 доларів.

Fullstack-розробник

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

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

  • 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-розробника

  1. Планування, керування проєктом та його реалізація.
  2. Перемовини з клієнтами.
  3. Тестування готової інтернет-платформи та виправлення багів.
  4. Контроль якості сайту або застосунку.
  5. Технічна підтримка спеціалістів, які працюють над вебсервісом.
  6. Робота з базами даних, файловими системами, хмарними сховищами та мережевими ресурсами.
  7. Створення візуального дизайну.

Зарплати

Середня зарплата fullstack-спеціаліста в Україні складає близько 2500 доларів.

Android-розробник

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

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

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

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

  1. Розробка мобільних застосунків для ОС Android.
  2. Взаємодія з базами даних та АРI.
  3. Тестування та допрацювання програмного продукту на декількох етапах.
  4. Завантаження готового продукту до магазина застосунків Google Play.
  5. Підтримка та оновлення застосунків.
  6. Підготовка документації та інструкцій щодо роботи з продуктом.

Зарплати

Середня зарплата Android-розробника в Україні складає приблизно 2700 доларів. Джун може розраховувати на зарплату від 1000 доларів.

Як програмісти працюють в команді? Приклад JavaRush

Ми розібрали спеціалізації розробників, але як виглядає робота цих людей в команді? Розповімо, як працює команда програмістів JavaRush. Для початку розглянемо наші продукти – JavaRush та CodeGym. Вони складаються з таких частин (це спрощена структура):
  • сервер;
  • база даних;
  • фронтенд;
  • плагін;
  • Android-застосунок.
Таке схематичне розділення сервісу на частини потрібно для розуміння того, чим займаються розробники, оскільки в команді JavaRush є і frontend, і backend, і fullstack, і mobile девелопери. Фронтенд-розробники відповідальні за візуальну частину сервісу, підвищення швидкості завантаження курсу, додавання нових мовних версій на сайт (це особливо актуально для міжнародної платформи – CodeGym, де зараз можна навчатися сімнадцятьма мовами). Бекенд-розробники займаються серверною частиною продукту, в тому числі – додаванням нового функціоналу на сайт. Наприклад, ми переклали системні повідомлення на різні мови та почали визначати країну користувача при реєстрації. Також бекенд-розробники налагоджують роботу сайту у зв’язці з тристоронніми API. Що це означає? Навіщо писати щось своє, витрачати час та гроші на розробку, тестування та підтримку, якщо вже існують готові рішення, які підходять сервісу, і все, що потрібно зробити – це почати їх використовувати? У такому випадку бекенд-розробники пишуть код, який допомагає сайту взаємодіяти зі сторонніми API (якщо розглядати програму як чорний ящик, то API – це набіл “ручок”, доступних користувачеві цього ящика, які він може “крутити” – ред.) та налаштовувати його роботу. Фулстеки займаються або задачами фронтендерів, або бекендерів, або задачами, які стосуються всіх спеціалістів. Наприклад, автоматичним оновленням коментарів – якщо хтось напише коментар на сторінці, він відобразиться без перезавантаження сторінки. Розробники Android пишуть та підтримують мобільні застосунки JavaRush та CodeGym. Тестувальник перевіряє нові фічі та виправлення багів, шукає помилки та стежить за якістю продукту. Хоч у кожного розробника є власний пул задач, вся команда бере участь у загальних плануваннях та обговореннях задач один одного, оскільки досягнення великої мети завжди залежить від великої кількості спеціалістів. ​ А ви вже визначилися із тим, ким хочете працювати після закінчення навчання? Чекаємо на ваші коментарі.