JavaRush /Курси /JAVA 25 SELF /Розробка ІТ‑продукту

Розробка ІТ‑продукту

JAVA 25 SELF
Рівень 6 , Лекція 6
Відкрита

1. Трохи історії

На початку 1990‑х, коли інтернет‑революція лише починалася, ще не існувало усталених практик розробки інтернет‑сервісів. Часто нові функції ставали доступними користувачам одразу, що суттєво відрізняло цей підхід від класичної розробки програмного забезпечення.

Найпопулярніший пошуковий сервіс тих часів — компанія Yahoo — спробувала піти новим шляхом і запозичити підхід із Голлівуду: її менеджерів навіть називали продюсерами. Втім, цей підхід не дав очікуваного результату.

Це цікаво. Yahoo відома низкою невдалих інвестицій та спроб придбати інші компанії. Зокрема, їй пропонували придбати Google і Facebook. На певному етапі Microsoft пропонувала поглинути компанію за 40 мільярдів доларів США, але Yahoo відмовилася. Згодом її придбали приблизно за 3 мільярди доларів США. На піку популярності Yahoo оцінювали приблизно у 200 мільярдів доларів США. Не повторюйте їхніх помилок.

Відтоді було випробувано десятки підходів до розробки програмного забезпечення, і наразі ситуація значною мірою стабілізувалася. Існують типові ролі з визначеними обовʼязками, відпрацьовані процеси та поширені інструменти.

Під час навчання ви дізнаєтеся усе, що потрібно, щоб працювати в сучасних ІТ‑компаніях із актуальними інструментами розробки.

2. Продуктова команда

Типова команда розробки складається з:

  • Осіб, які визначають функції та можливості продукту
    • Власник продукту (Product Owner)
    • Бізнес‑аналітик (Business Analyst)
  • Осіб, які відповідають за вигляд і взаємодію продукту
    • UI‑дизайнер (UI Designer)
    • UX‑дизайнер (UX Designer)
  • Розробників, які реалізують продукт
    • Архітектор програмного забезпечення (Software Architect)
    • Бекенд‑розробник (Backend Developer)
    • Фронтенд‑розробник (Frontend Developer)
    • Мобільний розробник (Mobile Developer)
  • Фахівців, які відповідають за якість і стабільну роботу продукту
    • QA‑інженер з автоматизації (QA Automation)
    • DevOps‑інженер (DevOps)

ІТ‑команда

Власник продукту (Product Owner) у розробці програмного забезпечення відіграє ключову роль: формує бачення продукту, складає та пріоритизує список завдань (беклог) і стежить, щоб команда розробки зосереджувалася на виконанні найважливіших завдань, які відповідають бізнес‑цілям і потребам користувачів.

UX‑дизайнер відповідає за створення зручного та ефективного інтерфейсу продукту. Це охоплює дослідження потреб користувачів, розробку прототипів і тестування інтерфейсів, щоб поліпшити взаємодію користувача з продуктом.

DevOps‑інженери оптимізують процеси розробки та операційного супроводу, щоб прискорити й спростити випуск оновлень продукту. До їхніх завдань належать автоматизація тестування, розгортання й моніторингу, налаштування інфраструктури та забезпечення безперервної інтеграції та доставки (CI/CD).

3. Команда розробки

Безпосередньо розробку виконують програмісти. Їх можна умовно поділити на п’ять категорій:

  • Архітектор програмного забезпечення (Software Architect)
  • Бекенд‑розробник (Backend Developer)
  • Фронтенд‑розробник (Frontend Developer)
  • Мобільний розробник (Mobile Developer)
  • Адміністратор баз даних (Database Administrator, DBA)

Зміст ролей може змінюватися залежно від розміру команди та специфіки продукту, але загальна картина приблизно така:

  • Архітектор програмного забезпечення: відповідає за проєктування складної архітектури систем. Архітектор визначає технічну інфраструктуру, структуру й способи взаємодії компонентів продукту, забезпечуючи масштабованість, продуктивність і безпеку.
  • Бекенд‑розробник: спеціалізується на серверній частині застосунків. До обовʼязків належать реалізація бізнес‑логіки, інтеграція з базами даних і сервісами, обробка запитів користувачів та забезпечення взаємодії з фронтендом.
  • Фронтенд‑розробник: відповідає за користувацький інтерфейс веб‑застосунків. Ця роль вимагає знань HTML, CSS і JavaScript, а також сучасних фреймворків і бібліотек для створення інтерактивних і адаптивних інтерфейсів.
  • Мобільний розробник: займається створенням застосунків для мобільних платформ (наприклад, iOS і Android) з урахуванням особливостей платформи, продуктивності пристроїв і користувацького досвіду.
  • Адміністратор баз даних (DBA): відповідає за керування базами даних, забезпечення їхньої доступності, безпеки та оптимізації. DBA виконує налаштування, моніторинг, обслуговування баз даних, а також розробляє стратегії резервного копіювання й відновлення даних.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ