5.1 Немного истории
Когда в 90-е годы Интернет-Революция только начиналась, никто не знал, как правильно разрабатывать интернет-сервисы. Все их фичи сразу становились доступными пользователям, что сильно отличало этот подход от классической разработки ПО.
Крупнейший поисковик тех времен, компания Yahoo, решил пойти по новому пути и перенять подход из Голливуда – их менеджеры назывались продюсерами :) Неудивительно, что у них ничего не вышло.
Это интересно. Yahoo – крупнейший неудачник в плане покупки других компаний. В свое время им несколько раз предлагали купить и Google, и Facebook. В конце концов, на закате своей карьеры их пыталась поглотить Microsoft за 40 миллиардов, но они вновь отказались. Спустя несколько лет их приобрели всего за 3 миллиарда. В 90-е годы на пике своей популярности Yahoo оценивали в 200 миллиардов долларов, и если бы они купили Google, то их стоимость сегодня могла бы достигать нескольких триллионов. Не будь как Yahoo.
Со времён Интернет-Революции были протестированы десятки разных способов разработки ПО, и сейчас ситуация стабилизировалась. Существуют стандартные роли со стандартными обязанностями, стандартные процессы и стандартное ПО.
В процессе обучения вы узнаете все, что вам нужно знать, чтобы работать в современных ИТ-компаниях, с современными средствами разработки.
5.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).
5.3 Команда разработки
Непосредственно разработка ведется программистами. Их можно грубо поделить на 5 категорий:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Роли и их наполнение могут меняться в зависимости от размера команды и специфики продукта, но ситуация примерно такая:
Software Architect: ответственен за проектирование сложной архитектуры программных систем. Architect разрабатывает техническую инфраструктуру, определяет структуру и методы взаимодействия различных компонентов программного продукта, обеспечивая их масштабируемость, производительность и безопасность.
Backend Developer: специализируется на разработке серверной части приложений. Задачи Backend Developer включают реализацию логики, интеграцию баз данных и систем управления данными, обработку пользовательских запросов и поддержание взаимодействия с frontend-частью.
Frontend Developer: разрабатывает пользовательский интерфейс веб-приложений. Эта роль требует знаний HTML, CSS и JavaScript, а также фреймворков и библиотек для создания интерактивных и отзывчивых интерфейсов, обеспечивающих хорошее взаимодействие пользователя с продуктом.
Mobile Developer: занимается разработкой приложений для мобильных устройств. Mobile Developer создает приложения для различных операционных систем (например, iOS и Android), с учетом особенностей платформы, производительности устройств и пользовательского опыта.
DBA (Database Administrator): отвечает за управление базами данных, обеспечивая их доступность, безопасность и оптимизацию. DBA выполняет задачи по настройке, мониторингу и обслуживанию баз данных, а также разработку стратегий по резервному копированию и восстановлению данных.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ