JavaRush /Курсы /Модуль 1: Python Core /Разработка продукта

Разработка продукта

Модуль 1: Python Core
1 уровень , 4 лекция
Открыта

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 выполняет задачи по настройке, мониторингу и обслуживанию баз данных, а также разработку стратегий по резервному копированию и восстановлению данных.

Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Алина Уровень 3
2 января 2025
Как видят менеджеры (я бы уточнила, все НЕ дизайнеры) дизайнеров - боль в канун праздников - реально просят "тыждизайнеров" оформить кабинет, без разницы, что ты граф., веб или ui диз...
Андрей Уровень 3
28 ноября 2024
Я так понимаю, что сисадмины - это имба, которая не контрится? 😆
Мария Уровень 2
15 августа 2024
:)) да да, и про дизайнеров это тоже в точку!!!
Семён Уровень 34
9 июля 2024
Очень понравилось как видят сисадминов)) а я ведь сам сисадмин...