JavaRush /Курсы /JAVA 25 SELF /Разработка ИТ-продукта

Разработка ИТ-продукта

JAVA 25 SELF
6 уровень , 6 лекция
Открыта

1. Немного истории

Когда в 90-е годы Интернет-Революция только начиналась, никто не знал, как правильно разрабатывать интернет-сервисы. Все их фичи сразу становились доступными пользователям, что сильно отличало этот подход от классической разработки ПО.

Крупнейший поисковик тех времен, компания Yahoo, решил пойти по новому пути и перенять подход из Голливуда – даже их менеджеры назывались продюсерами :) Неудивительно, что у них ничего не вышло 🤷‍♂️

Это интересно. Yahoo – крупнейший неудачник в плане покупки других компаний. В свое время им несколько раз предлагали купить и Google, и Facebook. В конце концов, на закате своей карьеры их пыталась поглотить Microsoft за 40 миллиардов, но они вновь отказались. Спустя несколько лет их приобрели всего за 3 миллиарда. В 90-е годы на пике своей популярности Yahoo оценивали в 200 миллиардов долларов, и если бы они купили Google, то их стоимость сегодня могла бы достигать нескольких триллионов. Не будь как Yahoo. 🙈

Со времён Интернет-Революции были протестированы десятки разных способов разработки ПО, и сейчас ситуация стабилизировалась. Существуют стандартные роли со стандартными обязанностями, стандартные процессы и стандартное ПО.

В процессе обучения вы узнаете все, что вам нужно знать, чтобы работать в современных ИТ-компаниях, с современными средствами разработки. 🎓

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

Типичная команда разработки состоит из:

  • Людей, которые решают, какие функции и фичи должны быть у продукта
    • Product Owner
    • Business Analyst
  • Людей, которые решают, как продукт будет выглядеть
    • UI Designer
    • UX Designer
  • Разработчиков, которые все это реализуют
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Людей, которые отвечают за качественную работу продукта
    • QA Automation
    • DevOps

ИТ-команда

Product Owner в разработке ПО играет ключевую роль, управляя продуктом и удостоверяясь в том, что команда разработки фокусируется на выполнении самых важных задач. Он определяет видение продукта, составляет и приоритизирует список задач (backlog), что помогает гарантировать, что каждый этап разработки максимально соответствует бизнес-целям и требованиям пользователей.

UX Designer занимается созданием удобного и эффективного интерфейса продукта, что включает в себя исследование пользовательских потребностей, разработку прототипов и тестирование интерфейсов. Эта работа направлена на улучшение взаимодействия пользователя с продуктом, чтобы сделать его максимально понятным и удобным.

DevOps-специалисты занимаются оптимизацией процессов разработки ПО и его операционного управления, чтобы ускорить и упростить выпуск обновлений продукта. Их работа включает автоматизацию тестирования, развертывания и мониторинга систем, а также настройку инфраструктуры и обеспечение непрерывной интеграции и доставки (CI/CD).

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

Непосредственно разработка ведется программистами. Их можно грубо поделить на 5 категорий:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Роли и их наполнение могут меняться в зависимости от размера команды и специфики продукта, но ситуация примерно такая:

  • 🏗️ Software Architect: ответственен за проектирование сложной архитектуры программных систем. Architect разрабатывает техническую инфраструктуру, определяет структуру и методы взаимодействия различных компонентов программного продукта, обеспечивая их масштабируемость, производительность и безопасность.
  • ⚙️ Backend Developer: специализируется на разработке серверной части приложений. Задачи Backend Developer включают реализацию логики, интеграцию баз данных и систем управления данными, обработку пользовательских запросов и поддержание взаимодействия с frontend-частью.
  • 🖥️ Frontend Developer: разрабатывает пользовательский интерфейс веб-приложений. Эта роль требует знаний HTML, CSS и JavaScript, а также фреймворков и библиотек для создания интерактивных и отзывчивых интерфейсов, обеспечивающих хорошее взаимодействие пользователя с продуктом.
  • 📱 Mobile Developer: занимается разработкой приложений для мобильных устройств. Mobile Developer создает приложения для различных операционных систем (например, iOS и Android), с учетом особенностей платформы, производительности устройств и пользовательского опыта.
  • 🗄️ DBA (Database Administrator): отвечает за управление базами данных, обеспечивая их доступность, безопасность и оптимизацию. DBA выполняет задачи по настройке, мониторингу и обслуживанию баз данных, а также разработку стратегий по резервному копированию и восстановлению данных.
Комментарии (5)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Alexey Уровень 27
1 декабря 2025
А каким из этих покемонов хочешь стать ты?)
Владимир Уровень 30
20 октября 2025
Картинку "Как видят ..." явно делал сисадмин 🤣🤣🤣
Anton Pohodin Уровень 27
24 сентября 2025
Когда-то давно, еще в лохматом 2012-м, я только начинал создавать свой первый коммерческий проект на С#. Тогда я даже и представить не мог, что он займет у меня целых 4 года работы. До сих пор порой заказчик обращается за поддержкой и обновлениями этого продукта. Да, вот это были времена... Не думал тогда, что Java меня сейчас так привлечет :)
Андрей Уровень 27
24 сентября 2025
Получается секрет успеха - кодить так чтобы потом только ты мог поддерживать и обновлять продукт )
Anton Pohodin Уровень 27
25 сентября 2025
Если проект уникальный, заточенный под конкретного заказчика - то да. И если у дева есть 3 или более таких проектов, можно спокойно жить в свое удовольствие, при этом совершенно не напрягаясь на апгрейдах продуктов)