Работая в айтишечке
1.13K subscribers
282 photos
4 videos
54 links
Канал о том, как эффективно работать в IT: простые объяснения технических вещей, лайфхаки, лучшие практики и полезные инструменты для повседневных задач.

Автор: @Shevtsoff
Download Telegram
☕️ Баланс между скоростью и качеством: когда стоит торопиться, а когда — тормозить

Скорость и качество — это не просто выбор «либо-либо»: либо быстро, но криво, либо медленно, но идеально.

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

Скорость без качества — это долг. Качество без скорости — это нерешённая проблема. Выбирайте не между «быстро» и «хорошо», а между «сейчас важно это» и «позже будет больно» . Иногда лучшее решение — это не компромисс, а чёткое понимание, где нельзя экономить.

#dev #thoughts
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
☕️ Как код превращается в приложение

Сегодня пост для тех, кто работает в айтишечке, но не является разработчиком - для тех кто каждый день слышит слова "ветка", "коммит", "мерж" и "деплой", видит, как коллеги-разработчики обсуждают 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
☕️ "Это сложно" vs "Это невозможно": как расшифровать технические оценки

Вы когда-нибудь слышали от разработчиков: "Это сложно сделать к дедлайну" или "Это технически невозможно"? И задавались вопросом: они реально не могут или просто не хотят?

Давайте разберёмся, что на самом деле скрывается за этими фразами и как научиться понимать реальные сложности.

(см. карточки) ↑


Хорошая коммуникация — это когда вы понимаете не только сроки, но и цену каждого компромисса. Следующий раз, когда услышите "это невозможно", вместо настойчивости спросите: "Что нужно изменить, чтобы это стало возможным?"🧐

#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 — не просто инструмент. Это культура работы с кодом.

Без 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
☕️ CLI для новичков: командная строка не так страшна, как кажется

Если вы работаете в 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
🔥105