Заметки тимлида // Канал Саши Шутай
354 subscribers
48 photos
2 videos
75 links
Библиотека разработчика AGIMA: рассказываем про Backend, Frontend, аналитику, ML, DevOps и не только.

Больше материалов на Хабре: https://habr.com/ru/company/agima/blog/.

По всем вопросам: https://t.me/ashutay
Download Telegram
Мы ищем Senior Bitrix-разработчиков для LMS-проекта одной из крупнейших российских компаний. Огромный монолит с кучей интеграций и обменов. В рамках проекта с нуля придется разрабатывать личные кабинеты обучающихся, тренеров, супервизоров, дашборды успеваемости и систему графикования обучения.

Формат работы: офис, удаленка, гибрид.
Оформление: штат, ГПХ.
График: 5/2.
Рост, масштабные проекты, атмосфера.

Подробнее об условиях – https://www.agima.ru/careers/vacancy/senior_php-razrabotchik_-bitrix/

Это про вас или вы знаете подходящего кандидата? Срочно пишите на hr@agima.ru 👈
Индустриальный парк «Краснодар»: как аудит перерос в разработку нового сайта: https://www.agima.ru/projects/industrialpark/.

Индустриальный парк «Краснодар» — это огромная обособленная территория на Кубани, в которой действуют особые экономические условия.

Цель парка — привлекать как можно больше резидентов и помогать им открывать предприятия. Для этого нужен удобный информативный сайт.

При этом старый сайт уже плохо справлялся со своими функциями. И представители парка попросили нас привести его в порядок.

Вот что мы сделали:

- переработали структуру сайта;
- сделали редизайн;
- упростили навигацию;
- сделали управление контентом проще.

В итоге получился легкий сайт с современным интерфейсом. Мы продолжаем его наполнять, но уже готовы поделиться первыми результатами — они по ссылке выше.
Через месяц в Слёрме стартует курс по PHP для новичков: https://slurm.io/php

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

Что важно, вы сможете преодолеть барьер от джуна до мидла и натренировать тестовые задания, чтобы легко получить работу в компании мечты.

На курсе вы научитесь:

- применять стандарты разработки к коду на PHP;
- писать приложения так, как задумали, используя фреймворки;
- настраивать безопасность и работать с основными уязвимостями;
- деплоить и запускать приложения в облаке или на собственном сервере.

Начало обучения 4 марта. Записаться и узнать детали можно по ссылке выше.
Недавно я играл в настольную игру “По шкале от одного до Тирекса”, где игроки сначала показывали друг другу какое-то действие, а затем должны были угадать интенсивность этого действия по шкале от 1 до 10. И это напомнило мне методику Покер планирования, используемую в Agile для определения времени выполнения задач и планирования итераций. Когда все члены команды принимают участие в общем обсуждении задач и дают оценку, с которой согласен каждый.

Для тех кто не знаком с таким методом оценки, вкратце расскажу основные этапы:

1️⃣ Подготовка списка задач: Задачи должны иметь достаточную детализацию и быть понятными для всех исполнителей. Подразумевается, что беглое ознакомление с задачей, даёт достаточно информации для ее реализации и не вызывает блокирующих вопросов;

2️⃣ Выбор единиц измерения: Согласовываются единицы измерения сложности задачи. Практично пользоваться числами Фибоначчи (1, 2, 3, 5, 8, 13 и т. д.). Они увеличиваются экспоненциально, что помогает подчеркнуть неопределенность оценки и уменьшить вероятность установки точных значений, в отличие от строгой оценки часами. Числа 1, 5 - это не 1 и 5 часов. Это некая абстрактная величина, например “вес” задачи, для сравнения с другими задачами;

3️⃣ Сессия игры в покер: Команда обсуждает задачу, её детали, задает вопросы и делает предположения. Затем каждый участник записывает оценку, которая, по его мнению, соответствует сложности задачи и скрывает ее от других. Это позволяет избежать влияния лидеров мнений и субъективных оценок;

4️⃣ Обсуждение и согласование оценки: После того как все участники записали свою оценку, они одновременно разглашают их. Как будто выкладывают свою карту в покере на игровой стол. Если оценки отличаются, задача считается не оцененной. Участники обсуждают причины различий, уточняют понимание задачи и повторяют сессию оценки. По итогу все члены команды должны согласовать оценку с которой согласен каждый.

В результате вы получаете полностью оцененный бэклог. И имеете согласие в команде относительно каждой задачи. Осталось конвертировать “вес” задачи в реальные трудозатраты. Если вы планируете покером первый раз, то потребуется провести экспертную оценку, чтобы сформировать матрицу сопоставления оценки покером с оценкой в трудозатратах.
Необычный факт из работы тимлида: Тимлиды, которые играют в шутеры, обычно более эффективно управляют командой. Это связано с развитием навыков принятия решений в динамичных и часто нестандартных ситуациях, а также способностью оперативно реагировать на переменные и координировать действия группы в условиях ограниченного времени.
Таким образом, время, проведенное за игрой, может принести пользу не только в развлекательных целях, но и в профессиональном аспекте руководителя команды.

#шутка
«Стачка» — крупнейшая региональная IT-конференция России. 12-13 апреля она пройдет в Ульяновске (УлГПУ).

→ 6 направлений: разработка, digital-маркетинг, управление, IT в индустриях, дизайн и контент, стартапы;

→ 200+ докладов от лучших спикеров IT-индустрии . Я буду на «Стачке» выступать в секции «TeamLead»
Мой доклад «Как Тимлиду совмещать работу в IT с жизнью»

Поделюсь своим опытом по темам:
— Тайменеджмент: управляй своим временем, кто если не ты?
— Отвлекаться и делать параллельно что-то еще — это норма?
— Работа после работы или на выходных, как перерабатывать и не выгорать?

Билеты на сайте: https://nastachku.ru/buynow
Специальный промокод на скидку 10%: stachka_friends

Stop working — все на «Стачку»! 🔥
Почему FilamentPHP — это хорошее решение для создания CMS: https://habr.com/ru/companies/agima/articles/808811/

FilamentPHP — набор Fullstack-компонентов для Laravel. Наш PHP-разработчик Егор Черненок в статье на Хабре сравнивает этот инструмент с классическими решениями для построения админок:

- плюсы и минусы FilamentPHP;
- почему он хорош для CMS;
- как мы используем это решение в AGIMA.

Еще в тексте найдете демо, где можно вживую посмотреть и потрогать этот инструмент. Читайте статью по ссылке выше и делитесь мнениями о FilamentPHP в комментариях.
Как тимлиду совмещать работу в IT с жизнью: https://habr.com/ru/companies/agima/articles/809817/

Саша Шутай, наш руководитель отдела PHP, написал статью по материалам своего доклада на «Стачке 2024». Главная идея в том, что тимлиду стоит учиться управлять временем и нагрузкой с заботой о себе, команде и проекте:

- как приоритизировать задачи по методу Эйзенхауэра;
- нужно ли отвлекаться от работы в середине дня;
- как относиться к неизбежным овертаймам и что требовать взамен;
- какие способы для восстановления энергии и разгрузки мозгов самые эффективные.

Саша поделился советами и техниками, которые помогут начинающим тимлидам умело справляться с потоком задач, а опытным руководителям — оптимизировать работу и выровнять work-life баланс. Читайте текст по ссылке выше — он уже на Хабре.
Elasticsearch, Kibana, Logstash и поисковые системы нового поколения, авторы Шукла П., Кумар Ш.

Считаю её исчерпывающим и практичным гидом для тех кто хочет научиться работать с современными поисковыми технологиями.

Книга начинается с обзора базовых концепций и компонентов Elasticsearch, Kibana и Logstash, постепенно переходя к темам, таким как администрирование, масштабирование и оптимизация. Особое внимание уделяется практическим примерам поисковых запросов и реальным сценариям использования, что делает материал доступным даже для тех, кто только начинает знакомство с эластиком.

Авторы не только объясняют основные концепции, но и предоставляют конкретные советы и рекомендации для достижения максимальной производительности и эффективности работы.

После прочтения книги, вы поймёте, как внедрение эластика поможет пользователям вашего проекта быстро находить максимально релевантный материал. А главное, что это не так сложно и страшно, как звучит. Первый раз я столкнулся с эластиком, когда стояла задача реализовать быстрый поиск для интернет-магазина строительных материалов. Было несколько тысяч SKU, различные варианты написания товара, морфология, ввод русских названий на английском и т.д. CMS Битрикс и коробочный компонент поиска выдавал поисковые запросы десяток секунд. Внедрение Эластика, подключение его к Умному Фильтру ускорило поисковую выдачу до нескольких долей секунд и ощутимо улучшило релевантность найденного материала.

Книга не новая, писалась под ELK 6 (сейчас актуальна 8). Например из отличий, теперь нет «типов» в индексах, осталось только написание «_doc» вместо указание типа. Но книга всё равно даёт хорошую базу для знакомства с ELK стеком.
Media is too big
VIEW IN TELEGRAM
Делюсь новой книгой с провоцирующим названием «Как разговаривать с мудаками», автор Марк Гоулстон.

Это не просто руководство по общению с иррациональными людьми, но и глубокий взгляд на психологию взаимодействий. Книга поможет вам не только начать лучше понимать оппонентов, но и научит управлять своими реакциями, что сделает ваши отношения более гармоничными и конструктивными.
Вопросы, требующие безотлагательного ответа 🤔

При обсуждении стоимости реализации проекта, коллеги бросались фразами: «дорогой, как чугунный мост» и «дорогой, как крыло от Боинга». Так откуда взялись эти фразы и что дороже? 🤔

И с ответом нам поможет ChatGPT:

1. Историческая стоимость чугунного моста: Во время своего строительства в XIX веке чугунные мосты были очень дорогими. Например, Литейный мост в Санкт-Петербурге обошелся в значительную сумму для своего времени, эквивалентную миллионам современных долларов.

2. Современная стоимость крыла от самолета Boeing: Современные самолеты, такие как Boeing 747 или Boeing 787, имеют крылья, которые стоят десятки миллионов долларов. Производство авиационных компонентов требует использования высококачественных материалов, передовых технологий и строгого контроля качества. Например, производство одного крыла для Boeing 787 Dreamliner может стоить до 50 миллионов долларов или более.

3. Технологическая сложность: Современные авиационные технологии значительно более сложны и требуют больших инвестиций в разработку и производство по сравнению с технологиями XIX века.

Таким образом, в современном контексте крыло от самолета Boeing будет стоить значительно дороже, чем исторический чугунный мост.

В Agile-методологиях чугунный мост это 70 стори-поинтов, а крыло от Боинга 250 стори-поинтов. 🧐
Самый масштабный IT-забег RUNIT уже совсем скоро:
https://runit.digital

Юбилейный пятый RUNIT пройдет 7 июля в музее-заповеднике «Коломенское». В этом году мы ждем рекордные 4000 участников и еще 2000 болельщиков.

Для бегунов будет несколько дистанций от 3 до 25 километров, личный и командный зачет, эстафета и детский забег. Каждый участник получит стартовый пакет с фирменной футболкой, чипированный номер и, конечно, медаль на финише!

Болельщики тоже не заскучают: будет фудкорт, диджей и активности для детей и взрослых. Вас ждет 3D-теннис, фотозона, смузи-бар и многое другое.

В этом году с нами точно бегут X5 Tech, Сибур Диджитал, Сбер, Тинькофф, Lamoda, РЖД, Wildberries, МТС, SMLab и др. И это не только IT-спецы, но и владельцы бизнесов.

Билеты на RUNIT разлетаются быстро, так что скорее регистрируйтесь по ссылке выше. Ждем вас и ваших родных, друзей и коллег — чем больше людей, тем веселее!
Как из безголовой CMS сделать полноценную систему управления сайтом: https://habr.com/ru/companies/agima/articles/821115/

На Хабре вышел разбор безголовых CMS от нашего руководителя направления Frontend Леши Кузьмина. Он выступал с этой темой на CodeFest, а сейчас написал статью.

В ней Леша объясняет:

- как быть с архитектурой проектов, интеграциями и динамическими страницами;
- какие подходы удобнее не только для разработчиков, но и для контент-менеджеров;
- как работает динамическая сборка в NuxtJS и NextJS.

Получилась подробная инструкция по работе с Headless CMS с кучей скриншотов и кода. Так что сохраняйте и делитесь с коллегами — будет полезно junior-специалистам и middle+

Статья уже в нашем блоге по ссылке выше.
Junior-специалист за 4 месяца: как мы ищем, обучаем и выпускаем стажеров на реальные проекты: https://habr.com/ru/companies/agima/articles/828454/

Недавно съездил на TeamLead Conf в Питер и рассказал там, как устроена программа стажировок в AGIMA. А теперь написал про это статью.

Будет полезно тимлидам, руководителям, HR-специалистам и всем, кто хочет запустить или оптимизировать программу стажировок в своей компании.

Вы узнаете:

- где искать стажеров, помимо HH.ru, и на что обращать внимание на собеседовании;
- из чего состоит наша программа обучения;
- кто и как учит стажеров, и сколько на это нужно часов;
- как мотивировать стажера и интегрировать его в команду.

В статье даю советы, делюсь цифрами, инсайтами — можно сказать, подстилаю соломку и подсвечиваю все грабли.

Материал уже на Хабре по ссылке выше. Делитесь своим опытом по этой теме и задавайте вопросы в комментариях.
Как выжить на стажировке в IT — рассказывают Junior-разработчики и их менторы: https://habr.com/ru/companies/agima/articles/831466/

Вчерашние стажеры, а сейчас уже крепкие джуны фронтенд-отдела Катя Пушкарева и Рома Фетисов рассказывают, как выжить на стажировке и не сбежать из IT на второй день. В статье на Хабре их личный опыт, советы и предостережения для новичков:

- на что стоит обратить внимание гуманитарию в IT;
- какие барьеры поможет преодолеть стажировка;
- необходимый минимум навыков для стажера;
- где и как эффективнее искать вакансии;
- стоит ли отдавать стажировке всё свободное время.

Большой бонус в конце — FAQ от менторов направления Frontend Леши Кузьмина и Леши Песоцкого. Их ответы на самые наболевшие вопросы про стажировки помогут избежать ошибок на собесах и на обучении.

Делитесь своими стажерскими историями в комментариях к статье — она по ссылке выше.
Совместное использование API Gateway и BFF

API Gateway и BFF — популярные архитектурные паттерны применяемые для разработки внешнего API приложения построенного на микросервисной архитектуре.

Шаблоны имеют принципиально разный дизайн (умный бекенд или умный клиент) и используются в разных типах микросервисных систем. Но что если в одном приложении объединить преимущества обоих подходов Предоставляя централизованное управление и оптимизацию, а также адаптацию для разных видов клиентов (например веб и мобайл)

Какие задачи будет решать каждый паттерн?

API Gateway

Маршрутизация и балансировка нагрузки:
Все входящие запросы сначала проходят через API Gateway, который уже направляет их к соответствующим BFF. Необходимый BFF определяется по заголовкам или url.

Безопасность и авторизация:
Gateway выполняет проверку JWT токенов, групповых политик и других мер безопасности.

Кэширование: Кэширует часто запрашиваемые общие данные, уменьшая нагрузку на микросервисы.

Логирование и мониторинг:
Централизованно собирает логи и метрики всех запросов.

BFF

Реализации логики для клиента:
Адаптация запросов/ответов под нужды конкретного клиентского приложения (мобильного или веб).

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

Изоляция изменений:

Позволяет быстро вносить изменения для конкретного клиента без влияния на работу других клиентов.

Какие преимущества от совместного использования?

Уменьшение дублирования функционала:

Общие функциональности, такие как маршрутизация, безопасность, кэширование и логирование, реализуются на уровне Gateway. Нет необходимости дублировать код и реализовывать одно и то же в каждом BFF.

Улучшение производительности и масштабируемости:

Кэширование на уровне Gateway снижает нагрузку на микросервисы, а BFF обеспечивает оптимизацию запросов/ответов, что улучшает производительность и масштабируемость системы.

Централизованное управление и безопасность:

API Gateway обеспечивает единые политики безопасности для всего приложения и всех клиентов, что снижает риски и уменьшает количество точек потенциального отказа.

Итоговый поток запросов в системе

1. Клиентское приложение (веб или мобильное) отправляет запрос.
2. Запрос проходит через API Gateway, где проверяются токены безопасности и применяются политики доступа.
3. Gateway маршрутизирует запрос к соответствующему BFF.
4. BFF обрабатывает запрос, взаимодействует с микросервисами, агрегирует данные и возвращает ответ в формате, оптимизированном для конкретного клиента.
5. Ответ возвращается клиентскому приложению через API Gateway.