НОВОСТИ Как инженеру вырасти в техлида

Bonnie
Оффлайн
Регистрация
12.04.17
Сообщения
19.095
Реакции
107
Репутация
0
Кто такие тимлид, архитектор или QA и чем они занимаются, в IT представляют себе примерно все. Но с пониманием, кто такой техлид, за что отвечает и как им стать, возникают трудности. Мы провели десятки интервью со специалистами крупных компаний и узнали, что это инженер, который инициирует процессы: связывает людей и инструменты с целями организации. Он берёт инициативу и ответственность за технологическое развитие продукта и радеет за качество технических решений. При этом качество это не только тестирование, а архитектура, дизайн, инженерные практики и эксперименты, работа с техдолгом и техническое совершенствование компании в целом.

wby2y1bmrsdfqflx_xfqk6jdcnw.png


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

На TechLead Conf 2020 Online вторичен вопрос «С помощью какого технического инструмента решалась проблема?». Эта конференция для тех, кто борется за качество технических решений и берёт на себя ответственность за технологическое развитие продукта. С 8 по 10 июня мы изучим опыт внедрения и использования практик, управления технологиями и процессами в компании. Подробнее о программе и о чём будем говорить на мероприятии, расскажем дальше.

Краткая программа


идёт от обсуждения развития техлида до применения DDD на практике и состоит из нескольких блоков.

  • . До сих пор мало понимания, кто это такой и чем занимается. А вопросы, как вырасти до техлида и что он должен уметь, задаются ещё реже, поэтому в первом блоке обсудим, кто это такой и как им стать.
  • . Техлиды работают с технологическими процессами — интегрируют людей с инструментами, чтобы решать бизнес-задачи, поэтому появляется «человеческий фактор». Работу программы можно предсказать, а человека — нет: проснулся в плохом настроении, заболел хомяк или Луна в Козероге. В системах с людьми можно полагаться только на «вероятнее всего это сработает». Поэтому в программе уделим внимание взаимодействию команд, бизнеса и техлида и особенностям внедрения MVP.
  • . В работе с кодом обратная связь быстрая: написал, протестировал, задеплоил, работает. Но в мире техлида результат его работы заметен только через месяцы. Поэтому добавили доклады обо всех этапах жизненного цикла инженерных практик: появление идеи, MVP, предотвращение ошибок и измерение результатов после успешного запуска на реальных кейсах.

Также обсудим:

  • : когда и для чего нужны, какие проблемы решают;
  • ;
  • : как с этим жить и надо ли, как обновить не только код, но и процессы и инфраструктуру на примерах;
  • техническими знаниями внутри компании и DDD.

Расскажем подробнее о каждом блоке и докладах в них.

Карта развития техлида


Техлид — это роль инженера, который управляет процессами. Обычно это инженеры уровня не ниже senior: разработчики, архитекторы, автоматизаторы, SRE, реже — CTO. Иногда им может быть и тимлид. Но тимлид строит команды, управляет людьми и их развитием.
Техлид строит процессы: принимает технические решения, которые влияют на развитие продукта в условиях неопределённости.​
Поэтому на конференции не будет докладов об управлении людьми и мотивации, а только темы об управлении технологиями, техническом лидерстве и построении инженерных процессов. И самое первое, что нужно узнать — как стать хорошим техлидом.

Успех компании во многом зависит от наличия сильных специалистов. Чем отличается техлид от других профессий, мы уже , а чем отличается хороший техлид от других техлидов, расскажет Владимир Горовой — Data Science Product Manager в Яндекс.Вертикалях. Из доклада « » узнаем, с чего начать свое развитие, какие навыки и качества прокачивать. Владимир поделится богатым опытом участия в создании проектов Яндекс.Путешествия, Яндекс.Недвижимости и Яндекс.Маркета, чтобы проиллюстрировать тезисы выступления.

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

  • Писать код или заниматься стратегией технологического развития продукта и команды?
  • Решать сложные технические задачи самому или делегировать?
  • Как не разорваться между написанием качественного кода и выкатыванием фич?

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

Объединяем бизнес и разработку


Поддерживать высокое качество кода и принимать правильные технические решения — это не вся работа. Ещё приходится постоянно доказывать бизнесу и заказчикам необходимость вкладывать силы и время в архитектурные и технические задачи. Алексей Дерюшкин из Better Life Company знает по опыту, каково это: 15 лет руководства командами и 5 лет опыта консалтинга. В докладе « » на примерах из жизни покажет, как вести диалог с бизнесом, чтобы делать классные фичи и не забывать о качестве.

Борьба между бизнесом и разработкой — стандартная проблема в IT-проектах. Часто у бизнеса нет ТЗ, а только «идеи» и просьбы. Это приводит к неправильным решениям, которые приходится исправлять месяцами или поддерживать годами костыльные решения. Как найти баланс между разработкой и бизнесом, поделится Артур Дементьев в докладе « ». Артур в IT с 2009 года, на примере историй из практики проиллюстрирует разные подходы к внедрению MVP-фич.

Когда бизнес и разработка договорились — пора приступать к следующему этапу. Теперь у техлида есть несколько месяцев, чтобы внедрить новый продукт. Чаще всего в таких ситуациях создается минимально работающий продукт для проверки гипотез (MVP). Сразу после тестирования, код прототипа выкидывают и пишут приложение «как положено». Но как поступить, когда тестовый запуск прошел успешно, и в «поделке» уже живут настоящие пользователи? Узнаем от Максима Аршинова из доклада « ».

Выбираем и внедряем инженерные практики


Внедрять что-то новое всегда сложно, тот же MVP, ЯП или фреймворк. Новинка может оказаться «сырой» и не оправдать надежд. Как сделать правильный выбор и « », расскажет Павел Минеев, тимлид из Рокетбанк.

Для внедрения новинок оптимально использовать подход governance as a code. При данном подходе у всех правил свой жизненный цикл, они подвержены тестированию и ничем не отличаются от обычного программного продукта. Из доклада Александра Токарева « » узнаем, как применять этот подход: как и что проверять в процессе разработки ПО, как подход позволяет разрабатывать более безопасные и качественные приложения.

Когда стандарты внедрены, самое время их проверить, например, на чём-то масштабном — создать техноплатформу. МТС — это крупная IT-компания, реализующая проекты от телемедицины до IoT. Каждый новый проект стимулирует спрос на следующие и удешевляет их создание. Это возможно только благодаря внедрению лучших инженерных практик. Но есть и трудности: сотни команд с разными уровнями и процессами, legacy, необходимость «продавать» идеи бизнесу. Как с этим задачами справляются в компании, узнаем из доклада « ». Расскажет о секретах Филипп Бочаров — руководитель проектов по разработке в МТС ИТ.

После выбора и внедрения инженерных практик работа только начинается — нужно оценить результат. В этом помогут метрики: важно понимать не только, что происходит с инфраструктурой и железом, но и как работает каждая фича, найти узкие места и вовремя их убрать. В докладе « » Михаил Мазеин поделится метриками на примере ManyChat — платформы, где миллион активных бизнесов общаются с 800 миллионами своих клиентов. Что рассмотрим:

  • как работать с метриками в условиях большой нагрузки и с регулярными релизами;
  • за какими из них следить в первую очередь;
  • как построить процесс оперативного реагирования и узнавать о проблемах в сервисе раньше пользователей.

Платформенные команды


Вернемся к платформам. Над их разработкой и поддержкой трудятся несколько разных команд. Они отвечают за свои зоны, а ответственных «за всё» нет — возникают «сквозные» боли. Эти проблемы решают платформенные команды: создают инфраструктуру для разработки приложений и их работы на продакшн, помогают работать быстрее и качественнее, отвечают «за всё». Как создать такую команду и применять продуктовое мышление, расскажет руководитель группы разработки платформы goods.ru Дмитрий Вишин в докладе « »

Создать платформенную команду мало. Нужно суметь её не развалить до того, как платформой начнёт кто-то пользоваться. На этом пути могут повстречаться злобные еноты. Да, именно еноты. Откуда еноты и как они связаны со стабилизацией платформенной команды, узнаем от ведущего разработчика в МТС Елизаветы Голенок из доклада « ».

Доклады дополнит круглый стол « ». Во время круглого стола Филипп Уваров (Spotify) и Андрей Александров (Mafin) обсудят несколько вопросов.

  • Зачем нужны эти команды и нужны ли вообще?
  • Почему стало модно их создавать?
  • Есть ли от них польза или это хайп?
  • Какие проблемы плодятся платформенными командами и где «подстелить соломки», чтоб не повторять типичные проблемы?

Пишем код


Несмотря на все инженерные практики и помощь команд, техлид пишет код. Как писать так, чтобы код был читаемым и поддерживаемым, и не переписывать всё через год? На этот вопрос ответят два доклада.

Первый — « » Григория Петрова, Head of Developer Relations в Evrone. Григорий организует разработку, конференции ( ), хакатоны, генералист и нейрофизиолог-любитель. Как следствие, в докладе будет много нейрофизиологии, когнитивной и социальной интуиции. Но главное, что Григорий расскажет откуда берется сложность кода, почему её нельзя убрать и как с ней жить.

Второй — доклад « » Глеба Лобастова. Глеб — техлид и руководитель команды разработки в OneTwoTrip с опытом в 10 лет. В докладе поделится подходами к написанию «хорошего» кода — понятного и удобного в поддержке, и ответит на несколько вопросов:

  • что учесть при внедрении лучших практик с точки зрения проекта и команды;
  • главный враг хорошего кода и как с ним бороться;
  • противоречия в практике написания хорошего кода.

Всё это на примерах, с набором принципов и практик для написания кода, которым можно будет гордиться.

Legacy и рефакторинг


Тему кода, точнее старого кода, продолжим в блоке о legacy и рефакторинге. Многие знакомы со статическим анализом, как с удобным инструментом. Но иногда возникают трудности, например, когда в проекте огромная база legacy-кода. Когда статанализ находит ошибки, что с ними делать? Как соблюсти баланс между правками старых ошибок и отловом новых? Узнаем из доклада « » Георгия Грибкова.
Рефакторить можно не только код, но и архитектуру, инфраструктуру и процессы.​
Любая долгоживущая IT-компания сталкивается с замедлением производственных процессов. Её провоцирует много факторов, например, усложнение технологий и рост числа сотрудников. Это приводит к тому, что затягиваются согласования, ответственность никто не несёт, а системы становятся хрупкими. Лев Гончаров (T-Systems) в докладе « » поделится историями из 14-летнего опыта, которые помогут ускорить инфраструктурные процессы и сделать их явными.

После рефакторинга процессов инфраструктуры можно перейти к её стандартизации. Например, избавиться от «зоопарка» технологий. Как это сделать на примере опыта стандартизации инфраструктуры одного отдельно взятого большого приложения, расскажет Илья Митруков — Infrastructure Manager (Technical Information Security Officer) Технологического Центра Дойче Банка.

В докладе « » не будет ничего об апгрейде технологий, инновационных решениях, технологическом «Космосе» или пайплайнах CI/CD. Будет только инфраструктурный быт проектов длиной в пару лет, минимизация затрат и поддержка бизнес-разработки.

От кода, процессов и инфраструктуры перейдем к рефакторингу технологий. Как перевести проект, в который коммитят 70 человек в день, на React и TypeScript, так, чтобы никто не заметил? Спросим у Яндекса, точнее у Евгения Дашкевича, руководителя группы в Яндексе. В докладе « » Евгений поделится историей перевода и причинами для обновления технического стека в проекте, который рендерит миллионы разных комбинаций поисковых результатов в день.

DDD, Event Storming и управление знаниями


В этом блоке конференции поговорим о проектировании, используя подходы и практики DDD — Domain Driven Design (предметно-ориентированное проектирование). Часто от неё отказываются из-за того, что это методология без чётких указаний, что и как делать. Но в Райффайзенбанке уже 5 лет в различных проектах используют практики DDD для декомпозиции системы на микросервисы, общения с заказчиком и внутри команд и создания приложений, которые не сопротивляются новым требованиям. Как применять подход, какие практики использовать и не допускать ошибок, узнаем из доклада Константина Густова « ».

В DDD есть много практик. Одна из них — Event Storming. Она облегчает дальнейшую работу в области DDD и проектирования микросервисов. При создании системы на микросервисах можно легко создать распределенный монолит. Event Storming не уберегает от этого на 100 %, но позволяет существенно снизить риск. О том, как именно, с примерами из практики, в докладе Сергея Баранова (ScrumTrek) « ».

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

Илья Кашлаков руководит отделом фронтенд-разработки из 50 человек в Яндекс.Деньгах. С таким количеством разработчиков жизненно необходимо делиться знаниями и следить за архитектурой. В докладе « » Илья расскажет об этом инструменте: как придумали Logic Review, какие метрики собирали и как определяли успешность этого процесса. Всё это с примерами проблем, описанием изменений, которые случились в процессе от старта до наших дней.

Для реализации проектов нам понадобится много документации. Чтобы ее хранить используют, например, легковесные языки разметки: Markdown, reStructuredText, Asciidoc. В них легко писать, а файлы удобно хранить в репозитории. На мастер-классе « » поговорим, как их применять техлидам:

  • Константин Валеев (Ростелеком ИТ) поделится способом создания кастомизированных PDF и HTML из Markdown-исходников;
  • Семён Факторович (documentat.io) расскажет о «швейцарском ноже» Pandoc и как с его помощью победить генерацию DOCX;
  • Николай Волынкин (Plesk) — как генерировать огромные HTML-порталы с помощью Sphinx-doc.

Три спикера поделятся своим опытом и каждый сможет задать им свой вопрос по теме.

TechLead Conf 2020 Online для тех, кто хочет вырасти в техлида


Конференция для техлидов и тех, кто хочет им стать: инженеров, разработчиков, тимлидов, QA, руководителей разработки. Даже если вы ещё не техлид, приходите на конференцию, соберём для вас инструкцию, как им стать — карту компетенций техлида.

Вся конференция пройдёт в новом формате — в онлайне. Благодаря этому мы добавили в три дня мероприятия больше контента, чем в оффлайне: больше 30 докладов, lightning talks (короткие доклады с ответами на вопросы), OST для обмена опытом, круглый стол и различные форматы нетворкинга. Для программы подготовили — посмотрите, отметьте понравившиеся доклады или мастер-классы в календаре, чтобы не пропустить.

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

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

29 мая в 18:00 с нашими докладчиками в уютной обстановке проведём сессию с онлайн-вопросами. Обсудим конференцию, идею построить в течении конференции путь развития техлида и maturity model.

После сессии вас ждёт стрим на тему тестирования интеграции с помощью контрактного тестирования. Обсудим цели контрактного тестирования и на что обращать внимание при проверке интеграции. Будет сессия live-кодинга, на котором посмотрим реализацию контрактов с помощью Spring Cloud Contract и Pact. Встреча открытая, но нужно .​
 
Сверху Снизу