JavaRush /Курсы /Модуль 1: Python Core /Создание продуктов

Создание продуктов

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

1.1 «Люди больше не рождаются, их выращивают»

Ну что ж, раз вы все еще тут, давайте продолжим. «И я покажу вам, как глубока кроличья нора» ©

Давайте я расскажу вам, как происходит процесс разработки продукта — мы пройдемся по шагам от самого верхнего глобального уровня до самого нижнего — написания кода. Думаю, вас ждет несколько интересных открытий…

Современные ИТ-продукты больше не пишут, их создают. Их собирают по частям из библиотек, фреймворков, сторонних программ и продуктов или вообще используют удаленные платные или бесплатные интернет-сервисы.

Современный продукт — это целый зоопарк технологий, сервисов, решений и процессов. Часть работы делается людьми, часть автоматизирована, ну а остальные 90% вообще выполняются облачными сервисами в дата-центрах. Мир уже не тот, что раньше.

Но первое, на что вы обратите внимание — это постоянные изменения. Вы больше не пишете программы, вы вносите в них изменения.

1.2 Постоянные изменения

Вы придете на работу и присоединитесь к команде из 20 человек, которая уже 5 лет работает над продуктом. Сейчас пользователям доступна его 7-я версия. И ваша задача будет вносить в это продукт изменения. Небольшие, чтобы не отпугнуть нынешних активных пользователей.

И это будет непросто, ведь продукт уже работает. У него есть клиенты, и они платят деньги. Поэтому ломать ничего нельзя. Изменения в уже работающий продукт вносить в несколько раз сложнее, чем в новый. Для этого есть специальные стандарты, протоколы миграции и утилиты. Сразу вспоминается анекдот:

Встречаются два старых друга: один стал механиком, второй - хирургом... У каждого своя жизнь, заботы, радости... Обо всем друг другу рассказывают, и тут речь заходит про зарплаты. Автомеханик говорит: "Ну, я 30-ку в месяц получаю и очень этому доволен, а ты сколько?". Кардиохирург говорит: "Ну, я примерно 100 К за операцию...". Тут автомеханик заинтересовался: "Странно, почему такая большая разница? Вроде одно и то же делаем с тобой - запчасти меняем". А хирург ему говорит: "Ну, пойдем к машине, заводи...". Механик заводит машину, хирург открывает капот и говорит механику: "Вот видишь, двигатель работает? Поменяй! :)"

Даже если случилось чудо, и ваша команда целый год писала продукт с нуля и только после этого его отрелизила, знаете, что произойдет дальше?

Если ваш продукт станет успешным, владелец продукта захочет его развивать. Выпустить новую версию, добавить какую-то функциональность. Ну или хотя бы провести несколько экспериментов. И знаете, что за этим последует? Изменения.

1.3 Ценность продукта

С точки зрения современной разработки, ценность имеет только тот код, который уже отрелижен, и та фича, которой пользуются пользователи. Если вы написали код, он где-то хранится, работает, но им не пользуются люди, то его ценность близка к нулю. Поэтому весь код должен как можно раньше попадать на production.

Ваш код должен пройти такие стадии:

  • Вы его написали и убедились, что он работает.
  • Ваш TeamLead проревьюил его и добавил в основную ветку в Git.
  • Тесты во время сборки программы показали, что вы не сломали ничего важного.
  • Интеграционные тесты показали, что продукт работает как нужно.
  • Тестировщик проверил этот код и дал добро на релиз.
  • Затем нужно собрать новую версию продукта и отрелизить ее на сервере.
  • Новую версию продукта нужно упаковать в Docker Images и отрелизить.
  • Возможно, придется запустить миграционные скрипты и внести изменения в базу данных и/или другие сторонние решения.
  • Затем нужно собрать логи на сервере, чтобы убедиться, что все работает как нужно.
  • В случае внештатной ситуации, если вы что-то сломали, нужно откатить сборку назад, вернуть прежнее состояние базы данных и не потерять те действия, которые сделали пользователи, пока работали с нестабильной версией продукта.

В большинстве компаний эти задачи сейчас решены: выстроены новые процессы, наняты специальные люди, введены специальные протоколы безопасности и стандарты контроля качества.

Чем компания крупнее, тем меньше времени проходит от написания кода до того момента, как он попадет на production и превратится в ценность — начнет приносить пользу людям.

В большинстве компаний код проходит этот путь за две недели. Однако есть компании, которые делают релизы каждую неделю или даже каждый день. Особые уникумы — несколько раз в день.

Написанный код ничего не стоит. Ценность приносить только код, работающий на production.

Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 64
26 августа 2025
Темы полезные, хотело бы их увидеть раньше. Ибо я вот например могу писать какой-то там код (для себя и своих нужд), а что именно происходит в компаниях и как происходит реальная разработка знаю примерно ничерта. Потому лайк за тему.