Первые пару лет в IT всё понятно: ты просто идешь до крепкого миддла (умеешь делать задачи, получаешь похвалу от руководителя), но потом возникает развилка: куда двигаться дальше?
Глобально, у тебя есть 3 больших направления. И вместо того, чтобы выбирать одно на 10 лет вперед, начни ставить микро-эксперименты.
Для тех, кому нравится код, а не people-management
Если интересен продукт или драйвит управление процессами.
Знаю, как создавать пользу бизнесу и клиентам
Как действовать дальше
Выбери один микро-трек, который сейчас интригует больше всего. Дай себе 2–3 месяца на погружение.
Если поймешь, что это «не твоё» — супер, ты потратил всего пару месяцев. А если затянет — у тебя автоматически появится четкий вектор развития.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Если раньше ты тратил 2 часа, чтобы вдумчиво написать 50 строк кода, то теперь нейронка выплевывает эти 50 строк за 2 секунды. Казалось бы, победа? Нет, здесь и начинается ловушка.
На рынке в приоритете теперь стоит развитие мета-навыков и понимание общей картины домена, их незнание дает риск замены начинающих специалистов, которые не следят за трендами и дает конкурентное преимущество другим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Если ты до сих пор считаешь, что знание синтаксиса языка или умение «прокинуть запрос» в Postman делает тебя востребованным спецом — реальность 2026 года тебя разочарует. Написание кода стало товаром широкого потребления.
тот, кто умеет правильно использовать AI-ассистентов
Чтобы расти в деньгах, нужно понимать индустрию: будь то финтех, биоинформация или логистика. Ценность спеца в 2026-м измеряется тем, насколько эффективно он решает проблемы бизнеса
Умение видеть систему целиком — это то, что отличает инженера от кодера. Недостаточно знать, как работает конкретный фреймворк. Нужно владеть System Design: понимать, как микросервисы общаются между собой, где возникнет bottleneck.
Please open Telegram to view this post
VIEW IN TELEGRAM
Интернет для агентов: вашим клиентом становится ИИ 💻
Мы привыкли, что интернет создан для людей: яркие баннеры, интуитивный интерфейс и удобные кнопки. Но правила игры меняются. На пороге — эпоха автономных ИИ-агентов. Это программы, которые будут не просто советовать товары, а самостоятельно бронировать билеты, заказывать продукты и выбирать отели за нас.
❗️ Что это значит для бизнеса? Теперь ваш сайт должен «нравиться» не только человеку, но и алгоритму.
🔍 Сценарий будущего: ИИ вместо браузера
Представьте: вы говорите своему ассистенту: «Найди мне квартиру в Сочи на выходные до 5000 рублей и забронируй».
Агент сам заходит на десятки сайтов, сравнивает условия, отсеивает фейковые отзывы и проводит оплату. Вы получаете только готовое подтверждение.
Для пользователя: это экономия часов жизни.
Для бизнеса: это риск стать «невидимкой», если ИИ-агент не сможет технически прочитать ваш сайт.
✔️ Что такое AI-Ready сайт? (Чек-лист)
Чтобы автономные агенты могли совершать покупки на вашей платформе, UX (User Experience) уходит на второй план, уступая место AX (Agent Experience).
Основные требования:
🔸 Структурированные данные: ИИ не «смотрит» на картинки. Ему нужны четкие теги в коде: где цена, где дата заезда, а где условия возврата.
🔸 Доступность через API: Агентам проще общаться с вашей базой данных напрямую через API, чем имитировать клики по кнопкам. Наличие документации для ИИ становится критическим фактором продаж.
🔸 Чистота от барьеров: Избыточный JavaScript и агрессивные капчи, созданные для защиты от ботов, теперь могут стать барьером для «полезных» ИИ-агентов, которые несут вам деньги.
❓ Как это перевернет рынок?
Если у вас есть витрина в сети — будь то интернет-магазин, аренда недвижимости или локальная кофейня — ваша воронка продаж меняется навсегда.
Победа фактов над дизайном: Решение о покупке всё чаще будет принимать алгоритм на основе сухих цифр и условий, а не из-за красивого шрифта на лендинге.
Борьба за «индексацию в агентах»: Если ваш сайт не оптимизирован под AX, поисковые ИИ-агенты просто не включат вас в выборку для пользователя. Вы пропадете из выдачи будущего.
📌 Интернет превращается из сети сайтов в сеть сервисов, общающихся между собой. Победят те компании, которые первыми сделают свои цифровые витрины «понятными» для искусственного интеллекта.
Мы привыкли, что интернет создан для людей: яркие баннеры, интуитивный интерфейс и удобные кнопки. Но правила игры меняются. На пороге — эпоха автономных ИИ-агентов. Это программы, которые будут не просто советовать товары, а самостоятельно бронировать билеты, заказывать продукты и выбирать отели за нас.
Представьте: вы говорите своему ассистенту: «Найди мне квартиру в Сочи на выходные до 5000 рублей и забронируй».
Агент сам заходит на десятки сайтов, сравнивает условия, отсеивает фейковые отзывы и проводит оплату. Вы получаете только готовое подтверждение.
Для пользователя: это экономия часов жизни.
Для бизнеса: это риск стать «невидимкой», если ИИ-агент не сможет технически прочитать ваш сайт.
Чтобы автономные агенты могли совершать покупки на вашей платформе, UX (User Experience) уходит на второй план, уступая место AX (Agent Experience).
Основные требования:
Если у вас есть витрина в сети — будь то интернет-магазин, аренда недвижимости или локальная кофейня — ваша воронка продаж меняется навсегда.
Победа фактов над дизайном: Решение о покупке всё чаще будет принимать алгоритм на основе сухих цифр и условий, а не из-за красивого шрифта на лендинге.
Борьба за «индексацию в агентах»: Если ваш сайт не оптимизирован под AX, поисковые ИИ-агенты просто не включат вас в выборку для пользователя. Вы пропадете из выдачи будущего.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы можете быть гениальным разработчиком, но если ваше резюме не «нравится» алгоритму, рекрутер его даже не увидит. Сегодня крупные компании (и всё чаще стартапы) используют ATS (Applicant Tracking Systems) — системы, которые автоматически сканируют, ранжируют и фильтруют кандидатов еще до первого звонка.
ATS — это не просто база данных, а парсер. Он ищет совпадения между текстом вакансии и вашим резюме. Если вы верстаете резюме в сложном графическом редакторе с двумя колонками, инфографикой и нестандартными иконками, робот может превратить ваш опыт в нечитаемую «кашу».
Для ATS ваше резюме — это набор ключевых слов. Если в вакансии написано «Product Management» и «Customer Development», а у вас — «управление продуктами» и «интервью с пользователями», робот может не засчитать совпадение.
Как оптимизировать:
После того как ИИ поставит вам высокий балл, резюме откроет живой человек. И здесь сухие «ключи» должны превратиться в историю успеха.
Формула: Action (Что сделал) + Context (В каких условиях/Стек) + Result (Метрика/Профит)
Плохо: «Писал Unit-тесты для проекта».
Хорошо: «Внедрил практику TDD и увеличил покрытие кода тестами с 15% до 80%, что позволило снизить количество критических багов на проде в 3 раза за полгода».
Чтобы не превратиться в бездушный шаблон, используйте раздел Summary (About Me). Это единственное место, где можно и нужно отойти от сухого перечисления фактов.
Напишите о своей «суперсиле» (например, умении соединять бизнес-цели с техническими ограничениями).
Упомяните участие в хакатонах, кейс-чемпионатах или собственные pet-проекты. Это подсветит вашу проактивность там, где алгоритм ищет просто стаж.
Побеждают те, кто умеет играть по правилам машин, сохраняя при этом человеческое лицо в содержании.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Anthropic обновили свою флагманскую Opus до версии 4.7. Если предыдущие апдейты были про скорость и стоимость, то этот — про выносливость и логическую дисциплину на длинных дистанциях.
Что поменялось по делу:
Зрение дотянули до возможности работы с технической документацией и юридическими актами с мелким шрифтом. Это критично для агентов, которые «смотрят» в экран или скриншоты интерфейсов — модель теперь реально считывает детали, а не гадает по очертаниям элементов.
Цены и доступность:
Прайс остался на уровне 4.6: $5 за 1M токенов на вход / $25 на выход.
Доступна везде: API, Bedrock, Vertex и Foundry.
Будет интересно посмотреть, как 4.7 покажет себя в реальном автокодинге и многошаговых аналитических сессиях. Если уже успели потестить и словить странные кейсы или, наоборот, прорывные результаты — пишите в комменты, разберем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы пробовали строить сложные ИИ-сервисы, то знаете главную проблему: одна LLM не может быть одновременно и экспертом по документам, и аналитиком, и программистом. Она путается в инструкциях и галлюцинирует.
CrewAI — это фреймворк, который решает эту проблему через создание «команд» из узкоспециализированных агентов.
В чем суть?
Вместо одного гигантского промпта вы создаете несколько агентов, у каждого из которых есть своя роль, предыстория и конкретный набор инструментов.
Ключевые фишки фреймворка:
Это, пожалуй, самая важная часть. С помощью CrewAI Flows можно прописывать сложную многоходовую логику (State Management). Вы буквально создаете маршруты: что делать, если агент А нашел данные, и куда идти, если не нашел. Это превращает хаотичный чат в предсказуемый программный алгоритм.
Вы можете «вручить» агенту любой инструмент прямо внутри своего кода. Это не просто API — это возможность научить ИИ:
Вы создаете методы под каждого агента. Например:
Почему это удобно для разработки?
CrewAI выступает верхнеуровневой надстройкой (оркестратором), которая позволяет очень быстро собрать каркас приложения. Вам не нужно вручную прописывать передачу контекста между вызовами API — фреймворк берет управление состоянием и коммуникацию агентов на себя.
Итог: Это инструмент для тех, кто хочет строить автономные системы, где LLM — это просто «движок», а вся логика, роли и инструменты жестко настраиваются под ваши нужды.
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда всё падает в 3 часа ночи, именно логи определяют, проведете Вы остаток ночи в дебаге или исправите баг за пять минут.
Приложение не должно заботиться о хранении своих логов. Оно не должно писать в файлы или управлять их ротацией.
Правило простое: Ваше приложение пишет поток событий в
stdout
Всё остальное (сбор, агрегация, хранение в ELK или Grafana Loki) — задача инфраструктуры.
Контекст запроса (Trace ID / Request ID): Без сквозного ID Вы никогда не соберёте цепочку событий от входа в API до запроса в базу данных.
Таймстампы в ISO 8601: Всегда с указанием часового пояса (лучше всего — UTC).
Уровни логирования (Levels):
ERROR — когда что-то реально сломалось и требует внимания.
WARN — подозрительное поведение, которое не привело к падению.
INFO — ключевые бизнес-события (заказ оплачен, пользователь создан).
Структурированные данные (JSON): Забудьте про обычный текст. Логи в формате JSON позволяют мгновенно фильтровать события по полям user_id, status_code или latency.
Персональные данные (PII): Пароли, токены, номера карт или личные телефоны. Это не только вопрос безопасности, но и прямой путь к нарушению GDPR и других законов.
Бесполезный шум: Логировать каждый «чих» цикла или вход в каждый метод на уровне INFO — значит превратить поиск ошибки в попытку найти иголку в стоге сена.
Объекты целиком: Никогда не кидайте в лог весь объект из БД. Логируйте только необходимые ID и изменившиеся поля.
Помните: Хорошее логирование — это когда Вы можете восстановить картину инцидента, не заглядывая в код.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Скорость мержа вашего кода часто зависит не от сложности задачи, а от того, насколько удобно коллегам проверять ваш Pull Request. В Google Engineering Practices подчеркивают: качественное описание — это не формальность, а способ сэкономить часы обсуждений и правок. Чтобы ваши изменения не висели неделями, стоит придерживаться нескольких простых правил.
Самый быстрый способ заблокировать работу команды — отправить PR на тысячу строк. Чем меньше объем изменений, тем выше вероятность, что его проверят внимательно и быстро. Если задача большая, лучше разбить её на логические этапы: так ревьюер быстрее вникнет в контекст, а вы не получите ворох критических замечаний в самый последний момент.
Не заставляйте коллег играть в детективов. Хорошее описание должно коротко и ясно закрывать все вопросы. Вы можете использовать этот шаблон, чтобы структурировать свои мысли:
Чек-лист перед отправкой (Self-Review)
Прежде чем уведомлять команду, пройдитесь по списку ниже. Это сэкономит вам минимум одну итерацию правок:
Please open Telegram to view this post
VIEW IN TELEGRAM
eng-practices
The CL author’s guide to getting through code review
Google’s Engineering Practices documentation
Продуктивность в разработке — это не про скорость нажатия клавиш, а про умение организовать процесс так, чтобы не переделывать одну и ту же задачу трижды. Опираясь на опыт The Pragmatic Engineer, я собрал 6 ежедневных практик, которые помогают Senior-разработчикам сохранять фокус и не тонуть в бесконечной рутине.
Вместо того чтобы выкатывать огромные обновления, старайтесь держать объем одного PR в пределах 200–300 строк. Коллеги охотнее берутся за проверку небольших кусков кода, делают это качественнее и быстрее, а Вы получаете фидбек за считанные минуты, а не дни.
Потратьте 20 минут на короткий Design Doc или схему, чтобы обсудить логику с командой. Это самое выгодное вложение времени: гораздо проще исправить неточность в текстовом описании, чем переписывать уже готовую архитектуру, которая не учла важную зависимость.
Постоянные уведомления в мессенджерах уничтожают состояние потока. Выделите себе блоки по 2–4 часа в день, когда все чаты выключены. За такое время Вы успеете решить сложную алгоритмическую задачу, на которую в обычном режиме «рваного» дня ушло бы несколько суток.
Каждое использование мыши для навигации по коду — это микропауза, которая сбивает темп. Возьмите за правило учить по одному-два новых горячих клавиши в неделю. Со временем Ваши руки начнут опережать мысли, и Вы перестанете отвлекаться на техническую сторону процесса.
Если Вы ловите себя на том, что выполняете одну и ту же последовательность действий в терминале или браузере больше трех раз — напишите скрипт. Это не только экономит часы в долгосрочной перспективе, но и страхует Вас от случайных ошибок, которые неизбежны при ручном вводе.
Лучший способ обеспечить себе спокойные выходные — отказаться от деплоя критических изменений во второй половине пятницы. Используйте это время для написания документации, тестов или планирования следующего спринта. Понедельник начнется гораздо бодрее, если в субботу Вам не пришлось экстренно откатывать релиз.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Когда «срочно» абсолютно всё, это слово теряет смысл. Начинается классический хаос: вы хватаетесь за случайные таски, тушите пожары, выгораете, а ключевые фичи к релизу всё равно не готовы.
Чтобы вернуть контроль, используйте матрицу «Ценность vs Сложность» (Value vs Effort). Разложите бэклог по двум критериям: бизнес-ценность (профит для продукта) и сложность реализации (время и силы на код).
На выходе вы получите 4 понятных квадранта.
Анатомия: Высокая ценность + Низкая сложность. Задачи, которые требуют минимум времени, но дают мгновенный, измеримый эффект.
Как использовать: Брать в работу сразу и без долгих согласований. Они быстро снимают напряжение в продукте и дают команде мгновенный дофамин от быстрого деплоя.
Пример: Поправить одну строку CSS на экране оплаты, из-за которой у 15% пользователей мобилок ломалась верстка и падал доход.
Анатомия: Высокая ценность + Высокая сложность. Масштабные, архитектурно сложные проекты, которые требуют глубокого погружения, но именно они двигают продукт вперед.
Как использовать: Это фундамент спринтов. Не пытайтесь делать их набегом. Жестко защищайте фокус разработчика, закладывайте отдельные сессии и безжалостно пилите их на мелкие подзадачи.
Пример: Переезд монолита на микросервисную архитектуру или интеграция нового платежного шлюза.
Анатомия: Низкая ценность + Низкая сложность. Мелкие, простые рутинные задачи, от которых продукту «ни холодно, ни жарко».
Как использовать: Никогда не ставьте в приоритет спринта. Их идеальная роль — «буфер». Берите их, когда мозг устал от крупных проектов, нужно подождать ответа от тестировщика или закрыть хвосты в конце дня.
Пример: Обновить документацию (ReadMe) к внутреннему модулю или поменять иконку по старой просьбе дизайнера.
Анатомия: Низкая ценность + Высокая сложность. Тяжелые, ресурсоемкие задачи, которые отнимут недели работы, но на выходе профит для бизнеса будет стремиться к нулю.
Пример: Сложная кастомная система калькуляции скидок, которую попросил один-единственный пользователь из тысячи.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Индустрия ИИ меняется быстро, но следить за всеми релизами нет смысла. Вот ключевые обновления последних дней и прикладные сценарии, которые можно внедрить в работу прямо сейчас.
Контекст репозитория в IDE: Инструменты вроде Cursor и GitHub Copilot обновили интеграцию с кодовой базой. Теперь они качественнее анализируют системную архитектуру, точнее находят баги в легаси-коде и автоматически генерируют юнит-тесты для связанных модулей.
Ускорение длинных промптов: OpenAI, Anthropic и Google оптимизировали скорость обработки контекста. Модели стали значительно быстрее «переваривать» огромные объемы документации и логи ошибок через API.
Локальный Open Source: Новые легковесные модели (класса 8B-70B) вплотную подобрались к коммерческим решениям. Их можно запускать на своих серверах, что критично для компаний с жесткой политикой безопасности.
Если в проекте есть старые модули, которые все боятся трогать, используйте обновленный контекст современных IDE.
Как применить: Скормите ИИ-помощнику сложный модуль вместе со связанной архитектурой и дайте промпт: «Найди скрытые уязвимости, потенциальные утечки памяти и предложи пошаговый рефакторинг без нарушения обратной совместимости».
Если политика компании запрещает отправлять код на внешние серверы, разверните модель у себя.
Как применить: Используйте связку Ollama + новые опенсорсные модели. Вы получите персонального помощника прямо на своей машине, который сможет безопасно анализировать логи и генерировать шаблоны кода.
Благодаря падению стоимости токенов и росту скорости, стало выгодно внедрять ИИ-функции внутрь своих продуктов.
Как применить: Вместо написания сложных алгоритмов парсинга или классификации данных руками, соберите MVP-модуль на базе API с жестким системным промптом (JSON-in -> JSON-out). Это позволит за пару вечеров протестировать, например, умный поиск или авто-генерацию отчетов.
Вместо этого выберите один инструмент (например, тот же Cursor или Ollama для локальной работы) и сделайте его частью своей ежедневной рутины. Попробуйте делегировать ему то, от чего вас обычно тошнит: написание тестов, рутинную разметку данных или чтение огромных логов. Нейросети уже достаточно умны, чтобы забрать у вас эту скуку. Освободите время для нормального проектирования архитектуры и спокойного кофе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Первая неделя на новом проекте — это всегда стресс. Вокруг сотни незнакомых сервисов, чужой легаси-код и куча документации. Чтобы не утонуть в информации и не застрять на развертывании окружения, middle-разработчику важно сфокусироваться на главном.
Вот четкий чеклист, который поможет системно войти в кодовую базу и выдать первые результаты без хаоса.
Ваша главная задача в первые дни — настроить рабочее место и понять, как код попадает на прод.
Локальный деплой: Разверните проект на своей машине. Если в ReadMe чего-то не хватает или докер-контейнер падает с ошибкой — сразу фиксируйте это и обновляйте документацию. Это ваш первый полезный вклад в команду.
CI/CD пайплайны: Разберитесь, как устроены процессы сборки и деплоя. Посмотрите, как код проходит стадии тестирования, где крутятся стейджинги и как устроена выкатка релизов.
Логи и мониторинг: Узнайте, где смотреть логи приложений (Kibana, Grafana и т.д.). Без этого вы не сможете самостоятельно локализовать ни один баг.
Когда код запускается локально, пора разобраться в системных связях. Не пытайтесь читать весь репозиторий подряд — изучайте его через потоки данных.
Схема данных: Изучите структуру базы данных. Посмотрите на ключевые таблицы, сущности и связи между ними. Понимание модели данных автоматически дает 50% понимания бизнес-логики.
Архитектурный ландшафт: Поймите, с какими внешними и внутренними сервисами общается ваше приложение. Какие используются протоколы (REST, gRPC, GraphQL) и брокеры сообщений (Kafka, RabbitMQ).
Стилистика кода: Посмотрите последние пул-реквесты ваших коллег. Обратите внимание на принятые паттерны, архитектурные слои (например, Clean Architecture или DDD) и правила написания тестов.
Лучший способ понять кодовую базу — начать её менять. К концу недели вы должны совершить свой первый цикл деплоя.
Good First Issue: Попросите у лида или бадди мелкую рутинную задачу. Это может быть исправление минорного бага, добавление логов или простой рефакторинг.
Пул-реквест: Пройдите весь путь от создания ветки до код-ревью и мержа в общую ветку. Так вы на практике проверите все доступы и внутренние регламенты команды.
Главная ошибка разработчика — сидеть молча и пытаться три дня расковырять проблему с доступами или упавшим контейнером самостоятельно, чтобы «не казаться глупым».
Используйте простое правило таймаута: если вы гуглите ошибку или копаетесь в коде больше 30–40 минут и вообще не продвинулись вперед — идите к своему бадди или ментору. Задавайте вопросы предметно, показывая, что вы уже попробовали сделать. Это сэкономит кучу времени и вам, и команде.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Главный упор в релизе — на кодинг, автономную работу агентов и «честность» модели. При этом цена за миллион токенов осталась на уровне версии 4.7.
Fast mode стал в 3 раза дешевле и до ×2.5 быстрее. Это сильно меняет экономику продакшн-интеграций в пользу бизнеса.
Борьба с багами. По внутренним тестам Anthropic, Opus 4.8 примерно в 4 раза реже пропускает ошибки в собственном коде по сравнению с 4.7.
Прокачали логику. Подтянули сложные рассуждения и практический кодинг (все бенчмарки уже выкатили в System Card).
Please open Telegram to view this post
VIEW IN TELEGRAM
Anthropic
Project Glasswing: Securing critical software for the AI era
A new initiative to secure the world’s most critical software and give defenders a durable advantage in the coming AI-driven era of cybersecurity.
🤔1
Много кому тяжело проходить собесы — перед интервью обычно открываешь штук двадцать статей: половина из них устарела, а вторая — сухой пересказ документации. В интернете куча разрозненной инфы, и совершенно непонятно, что из этого реально спрашивают.
Поэтому я собрал 60 вопросов, которые действительно звучат на технических интервью на Python-разработчика в VK, Сбере и других крупных компаниях.
Что внутри подборки:
Чтобы забрать подборку бесплатно, подписывайся на канал и жми кнопку ниже — бот проверит подписку и сразу пришлёт доступ
#python #задачи_с_собесов #backend #теория
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
Первая неделя позади: локальное окружение кое-как завелось, а первый минорный пул-реквест успешно улетел в мастер. Но настоящий онбординг начинается на второй-третьей неделе, когда фокус с базового чеклиста смещается на реальные продуктовые задачи.
Вот как спланировать этот этап, чтобы окончательно закрепиться в команде и начать стабильно перформить без выгорания.
Теперь нужно смотреть на кодовую базу не глазами стороннего наблюдателя, а через призму бизнес-требований.
К этому моменту ты должен брать полноценные задачи из спринта и защищать свои пул-реквесты на код-ревью без постоянного надзора ментора.
Успешный онбординг заканчивается тогда, когда ты перестаешь быть «новым сотрудником, которого нужно направлять» и становишься полноценной боевой единицей.
Удерживай баланс: развивай инженерную автономность, но не превращайся в функцию, которая молча закрывает таски из Jira. Синхронизируй свои архитектурные решения с общими правилами команды, вовремя обновляй техническую документацию для тех, кто придет после тебя, и всегда калибруй свои действия с финальными целями продукта.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Ролан Имангулов | Python
⭐️ Онбординг в новый проект: что изучить в первую неделю
Первая неделя на новом проекте — это всегда стресс. Вокруг сотни незнакомых сервисов, чужой легаси-код и куча документации. Чтобы не утонуть в информации и не застрять на развертывании окружения, middle…
Первая неделя на новом проекте — это всегда стресс. Вокруг сотни незнакомых сервисов, чужой легаси-код и куча документации. Чтобы не утонуть в информации и не застрять на развертывании окружения, middle…
👍2❤1
Feature Toggles: как мёржить код каждый день и не ломать прод 🔥
Команда пилит огромную фичу, на которую уйдёт месяца три. На первый взгляд, путей два. Первый — запереться в долгоживущей ветке на 3 месяца, а потом героически разгребать бесконечные merge-конфликты и ревьюить пул-реквест на 10 000 строк. Второй — мёржить кусками в мастер, нервируя коллег недописанным кодом, который то и дело ломает UI.
Но есть третий, инженерный путь, который совмещает плюсы обоих подходов, — Feature Toggles (или Feature Switchers).
💡 Что это такое?
По сути, это обычный boolean-флаг («включено/выключено»), который проверяется в коде перед выполнением логики или рендерингом UI. Значения флагов хранятся в базе данных или конфиге, и их можно динамически менять прямо на лету через админку — без перезапусков и деплоя.
В бэкенде (например, на Python с Pydantic/FastAPI) это выглядит как простой
3️⃣ вида переключателей под разные задачи
Release Toggles — прячут сырые, недоделанные фичи в процессе разработки. Ты спокойно коммитишь код небольшими порциями каждый день, но юзеры его не видят.
Experiment Toggles — идеальный инструмент для продакт-менеджеров, позволяющий гибко раскатывать A/B-тесты на разные группы пользователей.
Permissioning Toggles — включают премиум-фичи только для определённых когорт (например, платная подписка или ранний доступ для тестировщиков).
➡️ ◀️ Обратная сторона: за что их ненавидят QA и Тимлиды
Feature Toggles — это не бесплатная магия. Если бездумно пихать их везде, проект быстро превратится в легаси-болото:
Адский комбинаторный взрыв в QA: протестировать приложение, где одновременно живут 20 флагов во всех возможных сочетаниях, физически невозможно. Время на тестирование растёт по экспоненте. Кроме того, отдельные фичи могут тестироваться командой QA тогда, когда они уже выключены.
Кладбище мёртвого кода: фичу выкатили на 100% юзеров полгода назад, а
Эффект «руки из админки»: бизнес-пользователь или менеджер может случайно кликнуть тумблер в панели администратора, включив старый, давно не проверявшийся код, и намертво уронить прод.
💻 Как правильно готовить Feature Toggles
Чтобы паттерн приносил пользу, а не головную боль, внедряй в команде культуру работы с флагами:
✨ Жесткое документирование: ведите понятный реестр, где зафиксировано: за что отвечает каждый ключ в БД, кто его создал и когда.
✨ Обязательная ревизия (Техдолг): Feature Toggle имеет свой жизненный цикл. Как только фича успешно прижилась на проде, заводите задачу на удаление переключателя и зачистку старого «мёртвого» кода из проекта.
✨ Проверка на стейдже: никогда не дёргайте старые или сомнительные переключатели сразу на боевой базе. Сначала проверяйте их поведение на тестовом окружении.
📎 Feature Toggles — мощнейший инструмент для непрерывной интеграции (CI). Он освобождает от монструозных пул-реквестов и позволяет катить код в прод хоть по пять раз в день, но требует железной дисциплины и своевременной уборки. Важно следить за последними обновлениями и своевременно после релизов выпиливать не нужные Feature Toggles
Команда пилит огромную фичу, на которую уйдёт месяца три. На первый взгляд, путей два. Первый — запереться в долгоживущей ветке на 3 месяца, а потом героически разгребать бесконечные merge-конфликты и ревьюить пул-реквест на 10 000 строк. Второй — мёржить кусками в мастер, нервируя коллег недописанным кодом, который то и дело ломает UI.
Но есть третий, инженерный путь, который совмещает плюсы обоих подходов, — Feature Toggles (или Feature Switchers).
По сути, это обычный boolean-флаг («включено/выключено»), который проверяется в коде перед выполнением логики или рендерингом UI. Значения флагов хранятся в базе данных или конфиге, и их можно динамически менять прямо на лету через админку — без перезапусков и деплоя.
В бэкенде (например, на Python с Pydantic/FastAPI) это выглядит как простой
if/else, а на фронте элемент интерфейса просто скрывается под капотом, если флаг выключен.Release Toggles — прячут сырые, недоделанные фичи в процессе разработки. Ты спокойно коммитишь код небольшими порциями каждый день, но юзеры его не видят.
Experiment Toggles — идеальный инструмент для продакт-менеджеров, позволяющий гибко раскатывать A/B-тесты на разные группы пользователей.
Permissioning Toggles — включают премиум-фичи только для определённых когорт (например, платная подписка или ранний доступ для тестировщиков).
Feature Toggles — это не бесплатная магия. Если бездумно пихать их везде, проект быстро превратится в легаси-болото:
Адский комбинаторный взрыв в QA: протестировать приложение, где одновременно живут 20 флагов во всех возможных сочетаниях, физически невозможно. Время на тестирование растёт по экспоненте. Кроме того, отдельные фичи могут тестироваться командой QA тогда, когда они уже выключены.
Кладбище мёртвого кода: фичу выкатили на 100% юзеров полгода назад, а
if/else разветвление и старая логика всё ещё болтаются в репозитории. Код становится трудночитаемым.Эффект «руки из админки»: бизнес-пользователь или менеджер может случайно кликнуть тумблер в панели администратора, включив старый, давно не проверявшийся код, и намертво уронить прод.
Чтобы паттерн приносил пользу, а не головную боль, внедряй в команде культуру работы с флагами:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
Накопительный эффект в карьере: как 1% ежедневных усилий превращается в офер твоей мечты
В книге Даррена Харди «The Compound Effect» есть ключевая мысль: маленькие, незаметные, но ежедневные действия гарантированно дают гигантский результат на дистанции.
В ИТ и бэкенд-разработке все хотят мгновенного буста — за месяц выучить весь Go, поднять джуна до синьора или сдать техсекцию в Яндекс с первой попытки. Но карьерный рост устроен ровно как сложный процент в банке.
⬇️ Карьерный декремент vs ⬆️ Накопительный эффект
Формула эффекта предельно проста:
🔵 (1.01)³⁶⁵ = 37.8 (если каждый день становиться лучше всего на 1%)
🔸 (0.99)³⁶⁵ = 0.03 (если каждый день забивать и сливать фокус)
Разница между разработчиком, который застрял на одной позиции на 3 года, и тем, кто быстро растет по грейдам, кроется не в суперспособностях. Она кроется в микро-привычках.
💡 Как применить Compound Effect в карьере разработчика
1️⃣ Не читай документацию часами — читай по 15 минут.
Попытка прочитать весь мануал по Postgres за выходные приведет только к каше в голове и выгоранию. Если вместо этого разбирать по одной статье из доков или по одной главе из «System Design» каждый день перед рабочим созвоном, через год ты будешь знать базу лучше 80% коллег.
2️⃣ Одна задача на Live-coding в день.
Штурмовать LeetCode за неделю до собеса — адский стресс. Разбор всего 1 задачи в день за полгода даст тебе базу из 180 решенных алгоритмов. На самом собеседовании ты будешь действовать на автомате.
3️⃣ Рефакторинг и микро-документирование.
Потрать 10 минут после закрытия таски: допиши нормальный docstring, поправь кривой naming, закинь пару предложений в Notion-базу команды. Через пару месяцев твоя кодовая база и документация станут прозрачными, а тимлид увидит в тебе человека с senior-мышлением.
4️⃣ Публичный след.
Написать 1 короткий пост с разбором баги или архивировать полезный скрипт раз в неделю — кажется мелочью. Через год у тебя готов личный бренд, прокачанный GitHub и портфолио, к которому рекрутеры приходят сами.
🔍 Главная ловушка эффекта
Начальный этап Compound Effect выглядит так, будто ничего не происходит. Ты решаешь задачи, читаешь статьи, пишешь тесты, но зарплата и грейд не меняются месяц, два, три. На этом этапе 90% людей бросают.
Секрет в том, что кривая сложного процента идет экспоненциально вверх только после периода «видимого застоя». Главное — не останавливать систему и верить в математику.
В книге Даррена Харди «The Compound Effect» есть ключевая мысль: маленькие, незаметные, но ежедневные действия гарантированно дают гигантский результат на дистанции.
В ИТ и бэкенд-разработке все хотят мгновенного буста — за месяц выучить весь Go, поднять джуна до синьора или сдать техсекцию в Яндекс с первой попытки. Но карьерный рост устроен ровно как сложный процент в банке.
Формула эффекта предельно проста:
Разница между разработчиком, который застрял на одной позиции на 3 года, и тем, кто быстро растет по грейдам, кроется не в суперспособностях. Она кроется в микро-привычках.
Попытка прочитать весь мануал по Postgres за выходные приведет только к каше в голове и выгоранию. Если вместо этого разбирать по одной статье из доков или по одной главе из «System Design» каждый день перед рабочим созвоном, через год ты будешь знать базу лучше 80% коллег.
Штурмовать LeetCode за неделю до собеса — адский стресс. Разбор всего 1 задачи в день за полгода даст тебе базу из 180 решенных алгоритмов. На самом собеседовании ты будешь действовать на автомате.
Потрать 10 минут после закрытия таски: допиши нормальный docstring, поправь кривой naming, закинь пару предложений в Notion-базу команды. Через пару месяцев твоя кодовая база и документация станут прозрачными, а тимлид увидит в тебе человека с senior-мышлением.
Написать 1 короткий пост с разбором баги или архивировать полезный скрипт раз в неделю — кажется мелочью. Через год у тебя готов личный бренд, прокачанный GitHub и портфолио, к которому рекрутеры приходят сами.
Начальный этап Compound Effect выглядит так, будто ничего не происходит. Ты решаешь задачи, читаешь статьи, пишешь тесты, но зарплата и грейд не меняются месяц, два, три. На этом этапе 90% людей бросают.
Секрет в том, что кривая сложного процента идет экспоненциально вверх только после периода «видимого застоя». Главное — не останавливать систему и верить в математику.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1