Скорость и качество — это не просто выбор «либо-либо»: либо быстро, но криво, либо медленно, но идеально.
На практике это не про компромисс, а про осознанный выбор . Иногда нужно мчаться, иногда — тормозить. Главное — понимать, когда и почему.
Скорость без качества — это долг. Качество без скорости — это нерешённая проблема. Выбирайте не между «быстро» и «хорошо», а между «сейчас важно это» и «позже будет больно» . Иногда лучшее решение — это не компромисс, а чёткое понимание, где нельзя экономить.
#dev #thoughts
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤2
Сегодня пост для тех, кто работает в айтишечке, но не является разработчиком - для тех кто каждый день слышит слова "ветка", "коммит", "мерж" и "деплой", видит, как коллеги-разработчики обсуждают PR и ревью, но до конца не понимает, что происходит на этом пути от идеи до работающего приложения.
Итак, представьте, что вы заказываете ремонт в квартире. Сначала мастер изучает план (как разработчик изучает задачу), потом делает черновую работу (пишет код), коллеги проверяют (ревью), и только потом всё закрепляется окончательно (деплой). Так же работает процесс создания IT-продуктов. Посмотрим, как из строк кода получается работающее приложение:
❶ Начало работы: IDE и исходный код
Разработчики пишут код в специальных программах — IDE (Integrated Development Environment, или "интегрированная среда разработки"). Это как конструктор LEGO с подсветкой: подсказывает ошибки, помогает дописать код и сразу показывает результат.
❷ Версионный контроль: Git и ветки
Весь код хранится в системе контроля версий (VCS, например Git/SVN) — это как "хронология изменений" проекта. Самая важная ветка — master/main (основная ветка). Это эталонная, рабочая версия приложения, которая сейчас работает у пользователей.
Перед работой разработчик:
— скачивает актуальный код из мастер-ветки (как взять чистый чертёж)
— создаёт рабочую ветку (feature branch) — это как отдельная копия проекта для своих изменений. Называется обычно по смыслу: "fix-login-button" или "add-payment-feature"
❸ Пишем код и сохраняем изменения
После изменений разработчик делает коммит — сохраняет изменения с комментарием "Что я сделал и зачем". Это как сделать заметку в дневнике: "Исправил кнопку входа — теперь она не исчезает на мобильных".
❹ Проверка коллегами: Pull Request и Code Review
Когда код готов, разработчик создаёт Pull Request (PR) — это как заявка: "Мои изменения готовы, проверьте, можно ли их добавить в основной проект".
Затем коллеги проводят code review (ревью кода):
— проверяют, нет ли ошибок
— убеждаются, что код соответствует стандартам
— дают советы по улучшению
Это как если бы прораб проверил работу мастера перед сдачей объекта.
❺ Объединение: Merge в мастер
После успешного ревью изменения мержат (merge) в мастер-ветку — объединяют с основным кодом. Это как внести утверждённые правки в окончательный чертёж.
❻ Автоматическая сборка: CI/CD
Тут вступает в работу система CI/CD (Continuous Integration / Continuous Deployment):
— сборка (build): код преобразуется в исполняемый файл — как собрать модель из деталей LEGO
— тестирование: автоматические проверки, что ничего не сломалось
— деплой (deploy): размещение приложения на серверах
❼ Раскатка на "поды"
Современные приложения часто работают в системе Kubernetes — это как "диспетчер" для серверов. В ней есть поды (pods) — минимальные единицы развертывания. Каждый под — это как отдельный контейнер с вашим приложением и всем необходимым для его работы.
Подов несколько, чтобы обеспечить отказоустойчивость, равномерность распределения нагрузки и возможности постепенного обновления приложения без простоя сервиса.
При деплое новые поды с обновлённым кодом постепенно заменяют старые — так пользователи не замечают перехода.
❽ Готовое приложение
В итоге код:
— прошёл проверку коллег
— успешно собрался
— без проблем развернулся на серверах
— доступен пользователям как рабочее приложение
🤔 Почему так много этапов?
Каждый шаг нужен, чтобы:
— избежать ошибок в продакшене (рабочей версии)
— обеспечить возможность отката, если что-то пошло не так
— дать коллегам возможность улучшить код
— автоматизировать рутину
Это как многоступенчатая система безопасности в самолёте — кажется сложной, но именно она делает полёт безопасным.
Когда в следующий раз услышите "сделал коммит" или "залил в мастер" — сможете понять на каком этапе находится фича, прежде, чем увидеть её в приложении.
#dev #ликбез #simplewords
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍7🔥2
Вы когда-нибудь слышали от разработчиков: "Это сложно сделать к дедлайну" или "Это технически невозможно"? И задавались вопросом: они реально не могут или просто не хотят?
Давайте разберёмся, что на самом деле скрывается за этими фразами и как научиться понимать реальные сложности.
(см. карточки) ↑
Хорошая коммуникация — это когда вы понимаете не только сроки, но и цену каждого компромисса. Следующий раз, когда услышите "это невозможно", вместо настойчивости спросите: "Что нужно изменить, чтобы это стало возможным?"🧐
#product #dev #communication #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2👎1
Вы когда-нибудь сталкивались с ситуацией, когда разработчики говорят: "Это баг средней критичности", а вы не понимаете, нужно ли бросать всё и срочно это чинить или можно подождать?
Сегодня посмотрим на простой метод оценки критичности задач.
(👀 см. карточки ↑)
Критичность задачи определяется не тем, сколько времени уйдет на её решение, а тем, сколько денег/пользователей мы теряем, пока она не решена.
Следующий раз, когда получите баг-репорт, не спрашивайте "когда почините?", а уточните "как это влияет на пользователей и бизнес?". Это поможет команде правильно расставить приоритеты.
А какие критерии используете вы для оценки критичности задач? Делитесь в комментариях!
#dev #tips #priority #issues
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥4
Если вы недавно пришли в айтишечку или просто слышали слово «Git», но не до конца понимаете, зачем он нужен — этот пост для вас. Git — не магия и не обязательный ритуал программистов. Это практичный инструмент управления изменениями, который спасает нервы, время и репутацию — особенно когда вы работаете не в одиночку.
Давайте разберёмся, что это такое, зачем нужно и как начать пользоваться — без жаргона, с живыми примерами и аналогиями.
(👀 см. карточки ↑)
Git — не просто инструмент. Это культура работы с кодом.
❌ Без Git: «Я послал тебе файл по Telegram, но ты уже правил его… Теперь у нас 5 версий!»
✅ С Git: Каждый работает в своей ветке → объединяет через Pull Request → конфликты видны явно → всё под контролем.
👀 Смотрите также
— Git Cheatsheet
— Основы Git (документация GitHub)
— Что такое Git: объясняем на схемах (Skillbox)
— Git in 100 seconds (Fireship.io видео)
— How git works (ByteByteGo видео)
— Git Merge vs Git Rebase (ByteByteGo видео)
P.S. Интересный факт: и Git, и Linux создал один и тот же человек — Линус Торвальдс, а само слово «Git» не является аббревиатурой, а в британском сленге означает «неприятный человек» 😏
#dev #ликбез #simplewords
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥8👍5
Когда вы пользуетесь приложением, за каждым обновлением, исправлением или новой функцией стоит чётко выстроенный процесс — релиз. Это не просто технический момент «заливки кода на сервер», а ключевой этап, где продукт впервые встречается с реальными пользователями.
Хорошо организованный релиз — это когда:
— Новые фичи действительно решают пользовательские задачи
— Команда уверена, что ничего не сломалось
— Поддержка и маркетинг готовы отвечать на вопросы
— Есть чёткий план отката на случай сбоя
А плохой релиз — это когда «вроде всё заработало… но через два часа пришёл тикет от разъярённых клиентов».
В этой статье разберём, что такое релиз на самом деле.
(👀 см. карточки ↑)
🤌 Деплой ≠ Релиз
Многие используют слова «деплой» и «релиз» как синонимы. Но на самом деле это разные этапы жизненного цикла продукта:
— Деплой — технический процесс развёртывания кода на серверах. Деплой — это инфраструктурное действие. Он может происходить несколько раз в день и быть невидимым для пользователей
— Релиз — момент, когда фича становится доступной и приносит ценность. Он может случиться спустя дни или недели после деплоя.
Пример:
1. Понедельник: код с новой фичей задеплоен на прод, но скрыт за feature flag.
2. Среда: QA и бета-пользователи тестируют фичу.
3. Пятница: продакт выкатывает релиз — включает фичу для всех.
4. Понедельник: маркетинг рассылает уведомления — пользователи узнают о релизе.
Деплой был в понедельник. Релиз — в пятницу. А коммуникация — в следующем понедельник.
💡Итого
Релиз — это не просто «выкатили код и всё». Это продуманный процесс, в котором технические действия (деплой), продукт-решения (включение фичи) и коммуникация (информирование пользователей) тесно переплетены.
Релиз завершается не тогда, когда код попал в продакшен, а когда пользователь получил ценность и понял, что она появилась.
#dev #ликбез #simplewords
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥5
Если вы работаете в IT — будь то продукт, аналитика, менеджмент или разработка — рано или поздно вы столкнётесь с командной строкой. Она пугает новичков: чёрный экран, непонятные команды, страх «сломать что-то». Но на самом деле CLI (Command-Line Interface) — это один из самых мощных инструментов в арсенале. И главное — научиться использовать можно за пару часов, а пользу он приносит годами.
(👀 см. карточки ↑)
Даже если вы не пишете код, умение уверенно работать в терминале делает вас независимее, быстрее и лучше понимающим, как устроены продукты, с которыми вы работаете.
😉 Если у вас Windows, посмотрите в сторону Terminal и WSL
P.S. Спасибо @shpanek за то, что когда-то погрузил меня в мир терминала))
#dev #ликбез #simplewords
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5