JavaRush /Курси /C# SELF /Створення продуктів: як народжуються сучасні ІТ-продукти

Створення продуктів: як народжуються сучасні ІТ-продукти

C# SELF
Рівень 8 , Лекція 6
Відкрита

1. «Людей більше не народжують, їх вирощують»

Ну що ж, якщо ви досі тут, продовжмо. «І я покажу вам, наскільки глибока кроляча нора» © 🐇

Розповім, як відбувається розробка продукту: пройдемося крок за кроком від найвищого рівня до найнижчого — написання коду. Гадаю, на вас чекає кілька цікавих відкриттів…

Сучасні ІТ‑продукти вже не «пишуть» — їх створюють. Їх збирають із бібліотек, фреймворків, сторонніх програм і продуктів або й узагалі використовують віддалені платні чи безкоштовні інтернет‑сервіси 🧩.

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

Але перше, що ви помітите, — це постійні зміни. Ви більше не «пишете програми» — ви вносите до них зміни.

2. Постійні зміни

Ви прийдете на роботу й приєднаєтеся до команди з 20 людей, що вже 5 років працює над продуктом. Зараз користувачам доступна його сьома версія. Ваше завдання — вносити до цього продукту зміни. Невеликі — щоб не налякати нинішніх активних користувачів.

І це непросто, адже продукт уже працює. У нього є клієнти, і вони платять гроші 💰. Тому ламати нічого не можна. Вносити зміни до вже працюючого продукту у кілька разів складніше, ніж до нового. Для цього існують спеціальні стандарти, процедури міграції та утиліти. Одразу згадується анекдот:

Зустрічаються двоє давніх друзів: один став механіком, другий — хірургом. У кожного своє життя, турботи, радощі. Розмовляють про різне, і мова заходить про зарплати. Автомеханік каже: «Ну, я отримую 30 тисяч на місяць і цілком задоволений. А ти скільки?» Кардіохірург відповідає: «Ну, десь сто тисяч за операцію…» Тут автомеханік дивується: «Чому така різниця? Нібито робимо те саме — деталі міняємо». А хірург каже: «Ходімо до авто, заводьте…» Механік заводить машину, хірург піднімає капот і каже: «Бачите, двигун працює? Замініть!» 😂

Навіть якщо станеться диво, і ваша команда цілий рік створюватиме продукт з нуля, а вже потім випустить перший реліз — що буде далі? Якщо продукт стане успішним, власник захоче його розвивати: випускати нові версії, додавати функціональність або бодай провести кілька експериментів. І знаєте, що за цим іде? Зміни 🙈

3. Цінність продукту

З погляду сучасної розробки цінність має лише код, який уже випущено, і та можливість, якою користуються люди. Якщо ви написали код, він десь зберігається, працює, але ним не користуються, його цінність майже нульова. Тож увесь код має якнайшвидше потрапляти на production 🚀

Ваш код має пройти такі стадії:

  • ✔️ Ви його написали й переконалися, що він працює.
  • 🔍 Ваш Team Lead провів ревʼю та додав зміни до основної гілки у Git.
  • 🧪 Під час збирання програми тести підтвердили, що ви нічого важливого не зламали.
  • 🧩 Інтеграційні тести показали, що продукт працює як слід.
  • 🛡️ Тестувальник перевірив ці зміни й дав добро на реліз.
  • 📦 Потім потрібно зібрати нову версію продукту й випустити її на сервері.
  • 🐳 Нову версію продукту слід запакувати в Docker images і випустити.
  • 🗄️ Можливо, доведеться запустити скрипти міграції та внести зміни в базу даних та/або інші сторонні системи.
  • 📊 Потім потрібно зібрати журнали на сервері й переконатися, що все працює як слід.
  • ⏪ У разі форс-мажору, якщо ви щось зламали, потрібно відкотити реліз, відновити попередній стан бази даних і не втратити дії, які виконали користувачі, поки працювала нестабільна версія продукту.

У більшості компаній ці завдання вже вирішено: вибудувано процеси, найнято спеціальних людей, запроваджено протоколи безпеки та стандарти контролю якості. Чим більша компанія, тим коротший шлях від написання коду до production — до моменту, коли він стає цінністю й починає приносити користь людям.

У багатьох компаніях код проходить цей шлях за два тижні. Але є компанії, які випускають релізи щотижня або навіть щодня. У деяких — кілька разів на день.

Написаний код нічого не вартий. Цінність приносить лише код, який працює на production.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ