Якщо ви тільки-но починаєте вчити Java або досі перебуваєте в роздумах, яку мову програмування краще опанувати, цей текст для вас. Ми впевнені: знайти мотивацію значно легше, коли відома кінцева мета. У величезному світі IT легко заплутатися: безліч спеціалізацій та посад можуть збити з пантелику. Щоб цього з вами не трапилося, розповідаємо про чотири найбільш популярні напрямки у розробці та підказуємо, які технології потрібно вивчити для старту кар’єри. Сподіваємося, це допоможе вам обрати власний напрямок розвитку.
Backend-розробник
Backend-розробник займається тією частиною застосунку / сайту / програмного забезпечення, яка знаходиться “під капотом” – там, де виконується дуже багато різних задач. Зміст роботи такого розробника полягає у створенні комбінації “сервер-застосунок-база даних” за допомогою написання коду, який виконується на сервері – фізичному або хмарному. Backend-розробник відповідає за логіку, правильне функціонування та високу продуктивність застосунку.Стек технологій
Java, база даних MySQL, бібліотека Hibernate, фреймворки Spring та Spring MVC, програмне забезпечення для контейнеризації Docker, хмарні сервіси — AWS, Google Cloud, Azure; Heroku.Задачі backend-розробника
- Проєктування архітектури ресурсу.
- Формування структури вебсайту.
- Створення платформи та основного набору функцій.
- Написання алгоритмів.
Зарплати
Середня зарплатня backend-спеціаліста в Україні, згідно з даними DOU, становить близько 2600 доларів. Джун отримує від 1000 доларів, а сіньор — близько 5 тисяч доларів.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-розробники в середньому отримують близько 2500 доларів. Джуни можуть заробляти від 980 доларів, а сіньори близько 4800 доларів.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-спеціаліста в Україні складає близько 2500 доларів.Android-розробник
Зі знанням основ мови Java і деяких додаткових фреймворків та інструментів можна працювати Android-розробником. У більшості великих компаній у додаток до вебсайтів є мобільні застосунки продуктів. До того ж, кожного місяця з’являється безліч стартапів-застосунків, у яких також можна отримати роботу. У розробника мобільних застосунків багато задач та обов’язків на різних рівнях підготовки проєкту – від роботи над внутрішньою структурою до реалізації інтерфейсу.Стек технологій
Java, Android Studio, Android SDK, Git, бібліотеки Retrofit, Moshi, Chuck, Timber.Задачі Android-розробника
- Розробка мобільних застосунків для ОС Android.
- Взаємодія з базами даних та АРI.
- Тестування та допрацювання програмного продукту на декількох етапах.
- Завантаження готового продукту до магазина застосунків Google Play.
- Підтримка та оновлення застосунків.
- Підготовка документації та інструкцій щодо роботи з продуктом.
Зарплати
Середня зарплата Android-розробника в Україні складає приблизно 2700 доларів. Джун може розраховувати на зарплату від 1000 доларів.Як програмісти працюють в команді? Приклад JavaRush
Ми розібрали спеціалізації розробників, але як виглядає робота цих людей в команді? Розповімо, як працює команда програмістів JavaRush. Для початку розглянемо наші продукти – JavaRush та CodeGym. Вони складаються з таких частин (це спрощена структура):- сервер;
- база даних;
- фронтенд;
- плагін;
- Android-застосунок.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ