На этой неделе проходит Podlodka TeamLead Crew #12, тема «Метрики».
Я принял участие в публичном собеседовании в качестве кандидата. Для ясности - собеседование ненастоящее, т.е. никакого найма не предполагалось и сама вакансия была придумана специально для данной сессии. Цель в том, чтобы показать зрителям и слушателям, как может проходить собеседование на должность Engineering Manager с акцентом на вопросы о метриках эффективности работы команд. К данному мероприятию заранее не готовился, и поскольку предметная область была новой для меня, пришлось фантазировать по ходу беседы.
В итоге мне понравилось, слушателям вроде бы тоже.
Я принял участие в публичном собеседовании в качестве кандидата. Для ясности - собеседование ненастоящее, т.е. никакого найма не предполагалось и сама вакансия была придумана специально для данной сессии. Цель в том, чтобы показать зрителям и слушателям, как может проходить собеседование на должность Engineering Manager с акцентом на вопросы о метриках эффективности работы команд. К данному мероприятию заранее не готовился, и поскольку предметная область была новой для меня, пришлось фантазировать по ходу беседы.
В итоге мне понравилось, слушателям вроде бы тоже.
👍5🔥5❤1
Саморефлексия на тему того, почему я до сих пор живу и работаю в РФ.
Недавно осознал, что у меня нет друзей, с кем можно созвониться и через 30 минут встретиться, чтобы попить пива. Причина проста - все уехали. Все друзья детства и практически все близкие знакомые, с кем я работал до Магнита, уехали из страны и строят свою жизнь в других местах. Это их выбор, и я не имею права осуждать или критиковать их за это. Я искренне желаю вам удачи!
Почему же я остался? Копаясь глубоко внутри себя, понял, что основная причина крайне проста - это лень.
Мне лень начинать все с нуля на новом месте. Мне лень изучать новый язык, будь то испанский, немецкий или язык стран Скандинавии. Мне лень заниматься самим процессом миграции и изучать законы нового государства. Мне лень строить бытовую жизнь на новом месте. Мне лень погружаться в культуру и традиции нового места. Мне лень ...
Плохо ли это? Непонятно. Стыдно ли мне за это? Точно нет. Каждому свое.
Недавно осознал, что у меня нет друзей, с кем можно созвониться и через 30 минут встретиться, чтобы попить пива. Причина проста - все уехали. Все друзья детства и практически все близкие знакомые, с кем я работал до Магнита, уехали из страны и строят свою жизнь в других местах. Это их выбор, и я не имею права осуждать или критиковать их за это. Я искренне желаю вам удачи!
Почему же я остался? Копаясь глубоко внутри себя, понял, что основная причина крайне проста - это лень.
Мне лень начинать все с нуля на новом месте. Мне лень изучать новый язык, будь то испанский, немецкий или язык стран Скандинавии. Мне лень заниматься самим процессом миграции и изучать законы нового государства. Мне лень строить бытовую жизнь на новом месте. Мне лень погружаться в культуру и традиции нового места. Мне лень ...
Плохо ли это? Непонятно. Стыдно ли мне за это? Точно нет. Каждому свое.
🔥8👍4👏2🤔2
Пока Магнит 🧲, здравствуй Золотое Яблоко 🍏
Завтра, 12 апреля, у меня последний рабочий день в Магнит, а уже в понедельник, 15 апреля, я выхожу на роль СТО Ecom в Золотое Яблоко.
Мой путь от роли backend разработчика до роли СТО был крайне последовательным: 6 лет в разработке, 5 лет в тимлидстве, 3 года в роли руководителя отдела. Пора двигаться дальше, пора выйти из зоны комфорта и погрузиться во что-то новое.
Попользовавшись мобильным приложением ЗЯ и сайтом, единственное, что хочется исправить как можно скорее, это отображение заказа после его оплаты. Сейчас это происходит не сразу и вызывает у меня, как у клиента, замешательсво. Работа каталога, карточки товара, корзины, качество поиска и выбор способов оплаты работают хорошо, а качество упаковки товаров и сама коробка, в которой все привозят, просто выше всяких похвал 👏👏👏
Завтра, 12 апреля, у меня последний рабочий день в Магнит, а уже в понедельник, 15 апреля, я выхожу на роль СТО Ecom в Золотое Яблоко.
Мой путь от роли backend разработчика до роли СТО был крайне последовательным: 6 лет в разработке, 5 лет в тимлидстве, 3 года в роли руководителя отдела. Пора двигаться дальше, пора выйти из зоны комфорта и погрузиться во что-то новое.
Попользовавшись мобильным приложением ЗЯ и сайтом, единственное, что хочется исправить как можно скорее, это отображение заказа после его оплаты. Сейчас это происходит не сразу и вызывает у меня, как у клиента, замешательсво. Работа каталога, карточки товара, корзины, качество поиска и выбор способов оплаты работают хорошо, а качество упаковки товаров и сама коробка, в которой все привозят, просто выше всяких похвал 👏👏👏
👏21❤3👍3
Про networking
История 1. Когда я покидал undev, я проходил собеседования в разные компании, одной из которых был ivi. В ivi меня не взяли (или я сам не пошел, уже не помню), но было забавно, так как на интервью меня собеседовал человек, которого я сам собеседовал 6 месяцами ранее в undev.
История 2. Когда я покидал ostrovok, я проходил собеседования в разные компании, одной из которых был банк Тинькофф. В банк я не пошел, но пошел в SoftPro, где меня собеседовал тот же человек, что и в Тинькофф.
История 3. Когда я уходил из SoftPro, я проходил собеседования в разные компании, одной из которых был DeliveryClub. С DeliveryClub у меня не сложилось, так как на позицию, на которую я претендовал, впоследствии был выбран внутренний кандидат, который спустя 3 года стал моим коллегой в Магнит.
Вывод - networking наше все.
История 1. Когда я покидал undev, я проходил собеседования в разные компании, одной из которых был ivi. В ivi меня не взяли (или я сам не пошел, уже не помню), но было забавно, так как на интервью меня собеседовал человек, которого я сам собеседовал 6 месяцами ранее в undev.
История 2. Когда я покидал ostrovok, я проходил собеседования в разные компании, одной из которых был банк Тинькофф. В банк я не пошел, но пошел в SoftPro, где меня собеседовал тот же человек, что и в Тинькофф.
История 3. Когда я уходил из SoftPro, я проходил собеседования в разные компании, одной из которых был DeliveryClub. С DeliveryClub у меня не сложилось, так как на позицию, на которую я претендовал, впоследствии был выбран внутренний кандидат, который спустя 3 года стал моим коллегой в Магнит.
Вывод - networking наше все.
👍13🤡3
Когда-то я был разработчиком и писал много кода.
Для саморефлекции использовал сервис wakatime, который показывает сколько, в каком проекте и на каком языке я в этот день писал код. Полезно и приятно, рекомендую, встраивается в любую IDE.
Жалко, что ничего подобного нет для самоанализа cвоей активности в confluence/jira/miro/почте. Или есть?
Для саморефлекции использовал сервис wakatime, который показывает сколько, в каком проекте и на каком языке я в этот день писал код. Полезно и приятно, рекомендую, встраивается в любую IDE.
Жалко, что ничего подобного нет для самоанализа cвоей активности в confluence/jira/miro/почте. Или есть?
👍3🤔2
Про проверку СБ
К своему стыду я до сих пор не понимаю, как правильно работать с функцией СБ в крупных компаниях. С СБ обычно сталкиваешься при найме, когда они либо допускают, либо не допускают кандидата до последующего найма, проверяя его по различным базам данных, наличием ИП и другими параметрами.
Когда-то давно в Магните я хотел нанять своего близкого знакомого, с которым ранее работал в ostrovok. Я был готов взять его без собеседований и т.п., так как знал, что он идеальный кандидат для искомой позиции, но СБ его отклонило. К сожалению, тогда я не мог ничего с этим сделать. Для информации, мой близкий знакомый ранее работал в крупнейшем жёлтом банке, ostrovok, Яндексе, а затем в крупнейшем синем банке, и нигде у него не было проблем с СБ.
По моему мнению, функция СБ должна предоставлять рекомендации нанимающему менеджеру, а не быть препятствием для найма. Задача нанимающего менеджера - оценить все возможные риски при найме кандидата, а СБ может предоставить дополнительную информацию для принятия правильного решения. При этом понятно, что возможны исключительные ситуации, например, когда имеются строгие юридические ограничения в рамках уголовного кодекса, но это все-таки исключения.
Кстати, этот мой близкий знакомый в последствии основал одну из самых успешных онлайн-школ в России по обучению QA, а может и самую успешную.
К своему стыду я до сих пор не понимаю, как правильно работать с функцией СБ в крупных компаниях. С СБ обычно сталкиваешься при найме, когда они либо допускают, либо не допускают кандидата до последующего найма, проверяя его по различным базам данных, наличием ИП и другими параметрами.
Когда-то давно в Магните я хотел нанять своего близкого знакомого, с которым ранее работал в ostrovok. Я был готов взять его без собеседований и т.п., так как знал, что он идеальный кандидат для искомой позиции, но СБ его отклонило. К сожалению, тогда я не мог ничего с этим сделать. Для информации, мой близкий знакомый ранее работал в крупнейшем жёлтом банке, ostrovok, Яндексе, а затем в крупнейшем синем банке, и нигде у него не было проблем с СБ.
По моему мнению, функция СБ должна предоставлять рекомендации нанимающему менеджеру, а не быть препятствием для найма. Задача нанимающего менеджера - оценить все возможные риски при найме кандидата, а СБ может предоставить дополнительную информацию для принятия правильного решения. При этом понятно, что возможны исключительные ситуации, например, когда имеются строгие юридические ограничения в рамках уголовного кодекса, но это все-таки исключения.
Кстати, этот мой близкий знакомый в последствии основал одну из самых успешных онлайн-школ в России по обучению QA, а может и самую успешную.
🤮102👍11❤4
Про ArchOps или, как я сегодня написал, 1424 строк архитектуры.
Помню, как лет пять назад первый раз услышал о возможности описывать инфраструктуру кодом, а спустя некоторое время DevOps-инженеры получили свой Terraform, и всё завертелось-закрутилось вокруг методологии GitOps (infrastructure as code).
Кажется, что вот прямо сейчас происходит что-то подобное с архитектурой и методологией ArchOps. Конечно, сложно поверить, что спустя какое-то время мы будем поднимать сервисы в Kubernetes и настраивать их взаимодействие через DSL-нотацию, но мало ли.
Если вы ничего не поняли, вот топовая статья об этом, но я использую structurizr.
Помню, как лет пять назад первый раз услышал о возможности описывать инфраструктуру кодом, а спустя некоторое время DevOps-инженеры получили свой Terraform, и всё завертелось-закрутилось вокруг методологии GitOps (infrastructure as code).
Кажется, что вот прямо сейчас происходит что-то подобное с архитектурой и методологией ArchOps. Конечно, сложно поверить, что спустя какое-то время мы будем поднимать сервисы в Kubernetes и настраивать их взаимодействие через DSL-нотацию, но мало ли.
Если вы ничего не поняли, вот топовая статья об этом, но я использую structurizr.
🔥6👏1
Пост скучания по MS Teams
Однажды коллега сказал мне: "Мы еще все пожалеем, когда потеряем Teams", и он оказался прав. Уже целый месяц я работаю без MS Teams и... о, ужас, как же я скучаю по нему.
Было так здорово, когда:
- можно было одним кликом создать встречу в мессенджере сразу со ссылкой на звонок и чат встречи;
- можно было найти любого человека по имени, не прося контакт через третьи руки;
- была встроенная организационная структура компании внутри мессенджера с возможностью перемещения по иерархии;
- существовала структура каналов команд/гильдий и тегов команд.
Возможно, все это можно найти в других конфигурациях почты, мессенджеров, звонилок, например, Google+Slack+Zoom, но в MS Teams это все было доступно из коробки и работало очень удобно.
Однажды коллега сказал мне: "Мы еще все пожалеем, когда потеряем Teams", и он оказался прав. Уже целый месяц я работаю без MS Teams и... о, ужас, как же я скучаю по нему.
Было так здорово, когда:
- можно было одним кликом создать встречу в мессенджере сразу со ссылкой на звонок и чат встречи;
- можно было найти любого человека по имени, не прося контакт через третьи руки;
- была встроенная организационная структура компании внутри мессенджера с возможностью перемещения по иерархии;
- существовала структура каналов команд/гильдий и тегов команд.
Возможно, все это можно найти в других конфигурациях почты, мессенджеров, звонилок, например, Google+Slack+Zoom, но в MS Teams это все было доступно из коробки и работало очень удобно.
👏6❤5🥰2😭1
Пост об очевидности
Когда я учился в университете, у меня был преподаватель по физике, который часто говорил фразу "очевидно - когда очами видно". Он утверждал это, когда демонстрировал доказательство какой-либо формулы или теоремы. В конце, когда все было готово, а доказательство занимало 3-4 доски от края до края, и половина аудитории потеряла ход его мыслей уже на второй доске, он отходил в сторону, осматривал все взглядом, вздыхал и говорил: "Вот теперь очевидно, потому что очевидно - когда очами видно".
Сейчас, когда мне приходится сталкиваться с высоким уровнем неопределенности, непрозрачности, ограниченной информацией, я не могу сказать, насколько очевидным является решение, пока не визуализирую его где-то. Это может быть записная книжка, wiki, confluence, miro, drawio - не важно. Главное, что туда можно перенести свои или чужие мысли, визуализировать их и оценить их очевидность уже своими очами.
Когда я учился в университете, у меня был преподаватель по физике, который часто говорил фразу "очевидно - когда очами видно". Он утверждал это, когда демонстрировал доказательство какой-либо формулы или теоремы. В конце, когда все было готово, а доказательство занимало 3-4 доски от края до края, и половина аудитории потеряла ход его мыслей уже на второй доске, он отходил в сторону, осматривал все взглядом, вздыхал и говорил: "Вот теперь очевидно, потому что очевидно - когда очами видно".
Сейчас, когда мне приходится сталкиваться с высоким уровнем неопределенности, непрозрачности, ограниченной информацией, я не могу сказать, насколько очевидным является решение, пока не визуализирую его где-то. Это может быть записная книжка, wiki, confluence, miro, drawio - не важно. Главное, что туда можно перенести свои или чужие мысли, визуализировать их и оценить их очевидность уже своими очами.
🔥7👍5
Пост про устойчивость.
Мой предыдущий руководитель в последний раз поставил мне цель на квартал - стать более устойчивым. Что означает устойчивость? По его словам, основные факторы устойчивости это:
- личные - в основном это семья;
- ИПР - наличие сильного руководителя, у которого есть чему учиться;
- наличие наставника;
- обратная связь с рынком (расширение сети контактов, участие в конференциях, ...).
Пожалуй, только сейчас, когда я сменил работу, я полностью оценил важность семьи как фактора устойчивости. Конечно, я и раньше понимал, что здоровая и крепкая семья важна, но не осознавал глубокой связи между семьей и устойчивостью.
Имеется в виду, что не важно, что произошло, не важно, с какими проблемами ты столкнулся на работе, главное, чтобы дома было всё хорошо, чтобы все были здоровы и счастливы. Если говорить о нас, как о роботах-пылесосах, то дом - это наша зарядная станция, которая должна функционировать стабильно и без сбоев. Хорошо, что моя "зарядная станция" меня не подводит.
Мой предыдущий руководитель в последний раз поставил мне цель на квартал - стать более устойчивым. Что означает устойчивость? По его словам, основные факторы устойчивости это:
- личные - в основном это семья;
- ИПР - наличие сильного руководителя, у которого есть чему учиться;
- наличие наставника;
- обратная связь с рынком (расширение сети контактов, участие в конференциях, ...).
Пожалуй, только сейчас, когда я сменил работу, я полностью оценил важность семьи как фактора устойчивости. Конечно, я и раньше понимал, что здоровая и крепкая семья важна, но не осознавал глубокой связи между семьей и устойчивостью.
Имеется в виду, что не важно, что произошло, не важно, с какими проблемами ты столкнулся на работе, главное, чтобы дома было всё хорошо, чтобы все были здоровы и счастливы. Если говорить о нас, как о роботах-пылесосах, то дом - это наша зарядная станция, которая должна функционировать стабильно и без сбоев. Хорошо, что моя "зарядная станция" меня не подводит.
🔥18👍7❤5
Про монорепо vs полирепы
Что лучше микросервисы на базе монорепы или на база множестве репозиториев?
Я никогда не имел опыта работы разработчиком с монорепой, но слышал о таком подходе в Yandex/Facebook и еще ряде известных мест. Всегда этот рассказ или статья сопровождались каким-то набором дополнительного тулинга вокруг монорепы, который фактически ограничивает скоуп, с которым разработчику придется непосредственно вести работу. Один из аспектов, который мне точно нравится в монорепе, это возможность хранить техническую документацию, соглашения по разработке, API контракты, различные диаграммы взаимодействия и артефакты архитектуры непосредственно в самом монорепозитории. Я искренне верю, что чем ближе документация к коду, тем она более качественная, идеально когда она вообще генерируется из кода или наоборот.
При этом микросервисы, где у каждого свой репозиторий, кажется мне более понятным и логичным способом организации работы команды. Но этот подход обязательно требует соблюдения строгих соглашений между командами по использованию общих практик и соблюдения техрадара. Чтобы соглашения соблюдались, надо вести шаблон CI/CD, который не позволит команде или какому-то отдельному инженеру запустить сервис на каком-то другом стеке или использовать какой-то иной подход к запуску линтеров, тестов, генерации документации, проверки API контрактов на обратную совместимость, проверок докер образа на безопасность, деплою, и т.д. и т.п.
В обоих случаях, не важно монорепа или полирепозитории, нужен какой-то дополнительный инструментарий или со стороны разработчиков для других разработчиков, или со стороны DevOps для разработчиков. С монорепой, наверное, на старте чуть проще, так как все лежит в одном месте изначально и контролировать соглашения по разработке проще просто на уровне процесса codereview.
Что лучше микросервисы на базе монорепы или на база множестве репозиториев?
Я никогда не имел опыта работы разработчиком с монорепой, но слышал о таком подходе в Yandex/Facebook и еще ряде известных мест. Всегда этот рассказ или статья сопровождались каким-то набором дополнительного тулинга вокруг монорепы, который фактически ограничивает скоуп, с которым разработчику придется непосредственно вести работу. Один из аспектов, который мне точно нравится в монорепе, это возможность хранить техническую документацию, соглашения по разработке, API контракты, различные диаграммы взаимодействия и артефакты архитектуры непосредственно в самом монорепозитории. Я искренне верю, что чем ближе документация к коду, тем она более качественная, идеально когда она вообще генерируется из кода или наоборот.
При этом микросервисы, где у каждого свой репозиторий, кажется мне более понятным и логичным способом организации работы команды. Но этот подход обязательно требует соблюдения строгих соглашений между командами по использованию общих практик и соблюдения техрадара. Чтобы соглашения соблюдались, надо вести шаблон CI/CD, который не позволит команде или какому-то отдельному инженеру запустить сервис на каком-то другом стеке или использовать какой-то иной подход к запуску линтеров, тестов, генерации документации, проверки API контрактов на обратную совместимость, проверок докер образа на безопасность, деплою, и т.д. и т.п.
В обоих случаях, не важно монорепа или полирепозитории, нужен какой-то дополнительный инструментарий или со стороны разработчиков для других разработчиков, или со стороны DevOps для разработчиков. С монорепой, наверное, на старте чуть проще, так как все лежит в одном месте изначально и контролировать соглашения по разработке проще просто на уровне процесса codereview.
👍5
Пост о маленьких победах каждый день
Недавно я поймал себя на мысли, что не могу без маленьких побед каждый день. Они необходимы мне, как "доза", чтобы дальше усиленно работать. Если их нет, я начинаю искать что-то простое для того, чтобы получить быструю победу и уже на ее волне (вдохновении) вкладывать усилия во что-то более серьезное.
Победа может быть чем угодно: написание отличной страницы документации, договоренность с кем-то о чем-то, вдохновление кого-то на что-то, запуск какого-то нового сервиса или продукта... что угодно, что придаст мне энергии и мотивации продолжать двигаться вперед.
Из известных исследований на эту тему - это исследование Мартина Селигмана "The Effectiveness of Psychosocial Intervention for the Treatment of Unipolar Depression" в журнале "Journal of Abnormal Psychology" опубликованое в 1990 году. Один из выводов звучит примерно так:
Кстати, у нас в странах СНГ есть отличная фраза на этот счёт: "Едим слона по кусочкам". Каждый кусочек можно рассматривать как маленькую победу.
«Маленькие победы не складываются в четкую, линейную серию, где каждый шаг демонстративно ведет к какой-то заранее определенной цели, — Карл Вейк, психолог.
Недавно я поймал себя на мысли, что не могу без маленьких побед каждый день. Они необходимы мне, как "доза", чтобы дальше усиленно работать. Если их нет, я начинаю искать что-то простое для того, чтобы получить быструю победу и уже на ее волне (вдохновении) вкладывать усилия во что-то более серьезное.
Победа может быть чем угодно: написание отличной страницы документации, договоренность с кем-то о чем-то, вдохновление кого-то на что-то, запуск какого-то нового сервиса или продукта... что угодно, что придаст мне энергии и мотивации продолжать двигаться вперед.
Из известных исследований на эту тему - это исследование Мартина Селигмана "The Effectiveness of Psychosocial Intervention for the Treatment of Unipolar Depression" в журнале "Journal of Abnormal Psychology" опубликованое в 1990 году. Один из выводов звучит примерно так:
Постепенное достижение маленьких успехов и поощрение позитивных результатов способствует формированию позитивной жизненной позиции у индивидуума.
Кстати, у нас в странах СНГ есть отличная фраза на этот счёт: "Едим слона по кусочкам". Каждый кусочек можно рассматривать как маленькую победу.
❤12👍6🔥3
Что такое senior инженер?
Несколько лет я наблюдаю тенденцию снижения уровня оценки senior инженера. Это проявляется в том, что кандидаты в возрасте 20-25 лет с опытом работы всего 2-3 года начинают самоопределять себя senior'ами. Конечно, возможно все, и если начать работать и писать код в, скажем, 16 лет, то к 20-25 годам действительно можно достичь уровня senior. Однако это скорее исключение из правил. Обычно видишь резюме с опытом работы всего 2-3 года, где кандидат сам оценивает себя как senior. Понятно, что сейчас рынок очень "голодный", и в свете оттока специалистов в период пандемии и после 2022 года общий уровень, по моему субъективному мнению, senior'ов существенно снизился. Раньше senior-инженер был таким "решалой" - сотрудником, который мог решить любую задачу без лишних вопросов, потребности в точном ТЗ/БТ, помощи от другого специалиста и т.д. и т.п. Ему можно было поручить задачу, забыть о ней, и вспомнить уже только тогда, когда он вернется с готовыми вариантами решения.
Как-то с бывшими коллегами из Магнит мы написали свое представление о senior инженере. Если интересно - welcome по ссылке.
Может просто мои знания (понимание) о senior инженере устарели?
Несколько лет я наблюдаю тенденцию снижения уровня оценки senior инженера. Это проявляется в том, что кандидаты в возрасте 20-25 лет с опытом работы всего 2-3 года начинают самоопределять себя senior'ами. Конечно, возможно все, и если начать работать и писать код в, скажем, 16 лет, то к 20-25 годам действительно можно достичь уровня senior. Однако это скорее исключение из правил. Обычно видишь резюме с опытом работы всего 2-3 года, где кандидат сам оценивает себя как senior. Понятно, что сейчас рынок очень "голодный", и в свете оттока специалистов в период пандемии и после 2022 года общий уровень, по моему субъективному мнению, senior'ов существенно снизился. Раньше senior-инженер был таким "решалой" - сотрудником, который мог решить любую задачу без лишних вопросов, потребности в точном ТЗ/БТ, помощи от другого специалиста и т.д. и т.п. Ему можно было поручить задачу, забыть о ней, и вспомнить уже только тогда, когда он вернется с готовыми вариантами решения.
Как-то с бывшими коллегами из Магнит мы написали свое представление о senior инженере. Если интересно - welcome по ссылке.
"Люди, которые наиболее успешны в IT-индустрии, это те, кто приветствует перемены и готов признавать, что их знания устарели." - Стивен Хоффман, сооснователь LinkedIn
Может просто мои знания (понимание) о senior инженере устарели?
👍7🔥7❤2
Последние две недели освежаю свои знания в подходах к построению организационной структуры.
Вопрос достаточно холиварный, или, как говорят в ЗЯ, лоливарный. Если объяснять на примерах, то есть две модели: модель Spotify и модель Avito. Я не утверждаю, что именно эти компании эти модели создали, просто их примеры самые яркие и имеют разные публичные документы и манифесты. Весь мой опыт до ЗЯ был, так или иначе, связан с моделью Avito и я был, и наверное все ещё являюсь, амбассадором этой модели при построении команд. Она мне кажется вполне логичной и, что более важно лично для меня, она крайне требовательна к роли тимлида команды. В ЗЯ модель построения команд похожа на Spotify. Для меня это с одной стороны тяжело, с другой стороны я чувствую, что получаю ответы на вопросы, на которые раньше не мог найти ответов. Понятно, что дьявол всегда кроется в деталях реализации и они у каждой компании свои, но тот факт, что в Spotify модели нет роли тимлида команды не даёт мне покоя.
Мне, как СТО, хочется опираться на руководителей, у которых за плечами есть большой инженерный опыт. В классической Spotify модели у продуктовых команд нет тимлидов. Как быть?
P.S.: как по мне, то роль тимлида отлично описана в https://tlroadmap.io/
Вопрос достаточно холиварный, или, как говорят в ЗЯ, лоливарный. Если объяснять на примерах, то есть две модели: модель Spotify и модель Avito. Я не утверждаю, что именно эти компании эти модели создали, просто их примеры самые яркие и имеют разные публичные документы и манифесты. Весь мой опыт до ЗЯ был, так или иначе, связан с моделью Avito и я был, и наверное все ещё являюсь, амбассадором этой модели при построении команд. Она мне кажется вполне логичной и, что более важно лично для меня, она крайне требовательна к роли тимлида команды. В ЗЯ модель построения команд похожа на Spotify. Для меня это с одной стороны тяжело, с другой стороны я чувствую, что получаю ответы на вопросы, на которые раньше не мог найти ответов. Понятно, что дьявол всегда кроется в деталях реализации и они у каждой компании свои, но тот факт, что в Spotify модели нет роли тимлида команды не даёт мне покоя.
Мне, как СТО, хочется опираться на руководителей, у которых за плечами есть большой инженерный опыт. В классической Spotify модели у продуктовых команд нет тимлидов. Как быть?
P.S.: как по мне, то роль тимлида отлично описана в https://tlroadmap.io/
tlroadmap.io
Teamlead Roadmap
👩🏼💻👨🏻💻Карта навыков и модель развития тимлидов
👍6🤩4🔥1
Бомбящий программист
Ура! Утвердили мою тему на TLConf 2024 в Питере. О чем буду рассказывать В Magnit Online мы разделяем важные принципы инженерной культуры, которые помогают нам решать проблемы системно, поддерживать открытую коммуникацию, эффективно планировать задачи и…
Инженерная культура. Что это и почему она важна?
Уже в следующую пятницу в Питере, 12:40, «00 Зал Башня».
Уже в следующую пятницу в Питере, 12:40, «00 Зал Башня».
👍5👏5🔥3🙏2
Ходите в отпуск - точите свой топор!
Спасибо моему бывшему руководителю, который познакомил меня с притчей о двух дровосеках. Мысль, заложенная в притче, звучит супербанально, и сначала я думал поискать какие-то научные статьи и/или исследования с понятными метриками, описывающими эффективность периодического отдыха для последующей работы, но потом вспомнил про книжку Дорофеева про мыслетопливо. Книжка не новая, читается легко. После её прочтения я, например, взял за привычку регулярно использовать технику пустого инбокса и стараюсь разгребать почту два раза в день.
Субъективно, на мой взгляд, это всё это имеет смысл для руководящих позиций, так как когда ты просто линейный инженер, пишешь код по 3-4 часа в день и периодически ходишь на разные agile-церемонии, то это не столь актуально, но актуально. Когда же твой контекст требует вмещения разных тем, вопросов и болей, превышающих число Миллера, то мыслетопливо стремительно заканчивается, и периодический поход в отпуск может быть единственным источником его восполнения.
Если лень читать, то вот выступление Дорофеева на HighLoad.
Спасибо моему бывшему руководителю, который познакомил меня с притчей о двух дровосеках. Мысль, заложенная в притче, звучит супербанально, и сначала я думал поискать какие-то научные статьи и/или исследования с понятными метриками, описывающими эффективность периодического отдыха для последующей работы, но потом вспомнил про книжку Дорофеева про мыслетопливо. Книжка не новая, читается легко. После её прочтения я, например, взял за привычку регулярно использовать технику пустого инбокса и стараюсь разгребать почту два раза в день.
Субъективно, на мой взгляд, это всё это имеет смысл для руководящих позиций, так как когда ты просто линейный инженер, пишешь код по 3-4 часа в день и периодически ходишь на разные agile-церемонии, то это не столь актуально, но актуально. Когда же твой контекст требует вмещения разных тем, вопросов и болей, превышающих число Миллера, то мыслетопливо стремительно заканчивается, и периодический поход в отпуск может быть единственным источником его восполнения.
Если лень читать, то вот выступление Дорофеева на HighLoad.
🔥9👍7❤4🤓1
Пост про вторичность инструмента (нет)
Фраза "инструмент вторичен" относится к философии или идеологии, согласно которой основной фокус должен быть на концепции, идее или конечной цели, а не исключительно на средствах или инструментах, используемых для достижения этой цели.
Ранее, как и сейчас, категорически не могу согласиться с данной концепцией. Можно сколько угодно утверждать, что инструмент не важен, но когда тебе надо вырыть яму, а в качестве инструмента ты выбираешь молоток, а не лопату, то хочется лишь пожелать тебе удачи.
Можно ли сказать, что инструмент первичен? Тоже нет. Я бы сказал, что инструмент не первичен и не вторичен. Выбор инструмента идет параллельно с постановкой цели. Возможно, надо определиться с некой этапностью, где этапом номер 0 будет стоять задача выбора правильного инструмента для достижения следующей цели. Иными словами, прежде чем начать копать яму, надо понять, чем и как вы будете ее копать: руками, лопатой, экскаватором.
Фраза "инструмент вторичен" относится к философии или идеологии, согласно которой основной фокус должен быть на концепции, идее или конечной цели, а не исключительно на средствах или инструментах, используемых для достижения этой цели.
Ранее, как и сейчас, категорически не могу согласиться с данной концепцией. Можно сколько угодно утверждать, что инструмент не важен, но когда тебе надо вырыть яму, а в качестве инструмента ты выбираешь молоток, а не лопату, то хочется лишь пожелать тебе удачи.
Можно ли сказать, что инструмент первичен? Тоже нет. Я бы сказал, что инструмент не первичен и не вторичен. Выбор инструмента идет параллельно с постановкой цели. Возможно, надо определиться с некой этапностью, где этапом номер 0 будет стоять задача выбора правильного инструмента для достижения следующей цели. Иными словами, прежде чем начать копать яму, надо понять, чем и как вы будете ее копать: руками, лопатой, экскаватором.
👍9🔥3👏2
Бомбящий программист
SaintTeamleadConf2024, это было круто.
Выложили запись моего доклада.
YouTube
Инженерная культура. Что это и почему она важна? / Антон Огородников (Mаgnit.Tech)
Приглашаем на конференцию Saint TeamLead Conf 2025, которая пройдет 26 и 27 июня 2025 в Санкт-Петербурге.
https://teamleadconf.ru/spb/2025
Подать доклад: https://tlconf.info/
________
Единственная профессиональная конференция только для тимлидов Saint…
https://teamleadconf.ru/spb/2025
Подать доклад: https://tlconf.info/
________
Единственная профессиональная конференция только для тимлидов Saint…
🔥11👍5❤1👏1
Про платформенные команды.
За 2 года, пока я был руководителем платформы в Магнит, у меня 3 раза менялось представление о том, чем должна и не должна заниматься платформа в большой компании. Понятно, что есть TeamTopologies, и в ней все написано, но, как часто бывает, применение каких-то академических знаний разбивается о суровые реалии конкретной компании и её процессов.
Итог. Добавил в playbook описание того, как я вижу платформенные команды, ее виды и задачи.
#playbook
За 2 года, пока я был руководителем платформы в Магнит, у меня 3 раза менялось представление о том, чем должна и не должна заниматься платформа в большой компании. Понятно, что есть TeamTopologies, и в ней все написано, но, как часто бывает, применение каких-то академических знаний разбивается о суровые реалии конкретной компании и её процессов.
Итог. Добавил в playbook описание того, как я вижу платформенные команды, ее виды и задачи.
#playbook
👍5🔥5❤3🤔1
Про парадокс opensource vs innersource.
На прошлом и текущем месте работы, да и на собственном опыте, заметил интересный парадокс. Как правило, все инженеры знают и понимают общую пользу и благо от практики opensource. Многие крупные проекты живут исключительно благодаря сообществу, которое готово принимать свежие идеи и новых людей. Я думаю, что многие из нас, может, и не контрибьютили в opensource, но очень хотели этого и были к этому готовы. Но почему же, когда речь идет про innersource внутри компании, то все переворачивается с ног на голову, начинается дележка "мое" vs "чужое" и т.д., и т.п. Даже когда идет речь про две команды, которые работают очень плотно друг с другом, речь про innersource встает в самый последний момент, когда других вариантов уже нет, а сделать очень надо. Откуда это? Почему написать код в чужом внешнем репозитории ментально проще, чем в соседнем репозитории соседней команды, с тимлидом которой ты ходишь ежедневно на обед?
У меня нет однозначного ответа на этот вопрос, но есть одна история. Когда я работал разработчиком в компании "Островок", мой домен партнерских интеграций был исторически разбит на два куска. Первый был сервисом партнеров, а вторым была логика реализованная внутри сервиса заказов. За этот сервис отвечала другая команда, но мне иногда приходилось вносить туда изменения, так как логика партнерских заказов была реализована именно там. Я думаю, что в то время термин "innersource" или не существовал, или о нем никто не знал, но фактически это был он самый.Однажды я вмерджил нерабочий код в этот сервис заказов и ушел домой, в результате чего у команды заказов оказался сломанный мастер. В целом это обычная рабочая ситуация, но, думаю, именно поэтому многие опасаются innersource: никто не хочет выглядеть стыдно в глазах своих коллег.
Я был и остаюсь ярым амбассадором данной практики. В свое время в Магните нам, как мне кажется, удалось ее хорошо описать. Делюсь этим документом с вами.
На прошлом и текущем месте работы, да и на собственном опыте, заметил интересный парадокс. Как правило, все инженеры знают и понимают общую пользу и благо от практики opensource. Многие крупные проекты живут исключительно благодаря сообществу, которое готово принимать свежие идеи и новых людей. Я думаю, что многие из нас, может, и не контрибьютили в opensource, но очень хотели этого и были к этому готовы. Но почему же, когда речь идет про innersource внутри компании, то все переворачивается с ног на голову, начинается дележка "мое" vs "чужое" и т.д., и т.п. Даже когда идет речь про две команды, которые работают очень плотно друг с другом, речь про innersource встает в самый последний момент, когда других вариантов уже нет, а сделать очень надо. Откуда это? Почему написать код в чужом внешнем репозитории ментально проще, чем в соседнем репозитории соседней команды, с тимлидом которой ты ходишь ежедневно на обед?
У меня нет однозначного ответа на этот вопрос, но есть одна история. Когда я работал разработчиком в компании "Островок", мой домен партнерских интеграций был исторически разбит на два куска. Первый был сервисом партнеров, а вторым была логика реализованная внутри сервиса заказов. За этот сервис отвечала другая команда, но мне иногда приходилось вносить туда изменения, так как логика партнерских заказов была реализована именно там. Я думаю, что в то время термин "innersource" или не существовал, или о нем никто не знал, но фактически это был он самый.Однажды я вмерджил нерабочий код в этот сервис заказов и ушел домой, в результате чего у команды заказов оказался сломанный мастер. В целом это обычная рабочая ситуация, но, думаю, именно поэтому многие опасаются innersource: никто не хочет выглядеть стыдно в глазах своих коллег.
Я был и остаюсь ярым амбассадором данной практики. В свое время в Магните нам, как мне кажется, удалось ее хорошо описать. Делюсь этим документом с вами.
👍9🔥3