Про руководство разработкой и продуктом | Олег Мохов
3.55K subscribers
181 photos
3 videos
2 files
194 links
Привет, я Олег. Software engineering manager в Контуре, в прошлом руководитель отдела в бигтехе. Пишу про свой опыт управления продуктом и разработкой.

По вопросам сотрудничества пишите @olegmokhov
Download Telegram
Кстати, источником вдохновения про то чтобы вернуться писать хотя бы про книги и опыт для меня является блог Саши Поломодова, где он рассказывает о прочитанных книгах. Крайне рекомендую — https://t.me/book_cube
🔥6❤‍🔥11🐳1
Деградация фронтенда (и только ли его?)

Последние несколько лет я замечаю устойчивый тренд на изменение культуры разработки интерфейсов. Раньше кроссбраузерность и пиксельперфект не подвергались вопросу. И как-то так получалось, что вслед за этим у верстальщиков были развиты другие навыки, например, создания грамотных UX-решений. Сейчас же культура фронтенда направлена исключительно на то чтобы фигму перенести в реакт и обогатить логикой.

Я очень много времени задавал сам себе вопрос: что произошло и как это поменять? Осенью, когда очередной проект вызывал у меня лично ощущение «что-то тут не так», я сел и начал следить за собой, что в этом свёрстанном интерфейсе не так? Нарисовано же было хорошо, а на вёрстке как-то вот ну не так же. Озарение случилось когда я просто наложил картинку из браузера на фигму — вот оно. Вёрстка отличается от дизайна на пару-тройку пикселей. Дальше осталось немного — минимальный CastDev разработчиков… грусть… и понимание что делать.

Фигма потрясающий инструмент, сэкономивший нам кучу времени. Особенно приятно с ней работать тем кто ещё помнит вымеривание расстояний в фотошопе. Но взамен мы получили фронтенд, где UI и композиция — это копипаст стилей из фигмы. Т.е мы получили верстальщиков, которые не умеют в пиксель-перфект.

Это пример и я буду рад если вы поделитесь ещё примерами, в том числе и не из фронтенда. А для фронтендеров (и их лидов) у меня есть замечательная и недавно переизданная книга, как хотя бы вернуться в русло «думать над интерфейсами», а не просто делать задачи — https://www.ozon.ru/product/razrabotka-interfeysov-patterny-proektirovaniya-3-e-izd-tidvell-dzhenifer-bryuer-charli-692909865

Крайне рекомендую её прочитать всем.

p.s. Ну и конечно же ещё напомню прекрасный сайт — https://cantunsee.space/
👎22🤡16👍9💩5🤔4🔥32🥰2
Пост для того чтобы писать коменты к посту выше. Не знаю почему и что произошло, но к прошлому посту коменты почему-то не получается написать.
3🔥1😢1👌1
Кто такой Константин Константинопольский?

Да, забавно получилось. Писал про UX, а получилось как будто бы про Pixel Perfect.

Речь про фигму была примером. Другой пример, которой сейчас я вообще редко вижу — это проверка контейнеров на вместимость. Раньше мы везде в качестве имени пользователя ставили Константина Константинопольского и таким образом проверяли что даже самое длинное ФИ поместится в контейнер. Сейчас же частенько вижу Иванов Ивановых, ну а в лучшем случае Римских-Корсаковых, конечно же Иванов 🙂

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

Ну ок, давайте приведу пример не из фронтенда. Допустим мы проектируем таблицу в БД для хранения пользовательской информации. Бэкендер берёт и для поля телефон задаёт тип CHAR(10). А потом (внезапно) оказывается, что пользоваться этим можно только там где телефоны имеют длину 10, а если (вдруг) найдется страна где это не так, то ничего не выйдет. Но что ещё веселее, верстальщик скорее всего тоже поставит input’у параметр size=10. Главное что всё по ТЗ.

В комментариях идёт дискуссия и очень хорошо про сужение ответственности пишет Даня Павлюченко. Я дополню, что хочется заметить не только сужение ответственности в результате разделения профессиональных ожиданий, а ещё и то что часто есть нежелание в целом принимать какое-то ни было решение, разработчики стали исполнителями. Ведь проще сделать так как сказали, даже если сказали чушь.

И вот что с этой проблемой можно сделать?
👍82🥴2🥰1
Отличия между культурами

На ютьюбе в канале Дмитрия Грица вышло интервью ex-руководителя Яндекс.Технологий Андрея Стыскина.

В настоящее время Андрей работает руководителем в Амазоне и живет в ЛА. В интервью Андрей рассказывает про отличия культур и подходов к работе и менеджменту в зарубежной компании. Мне было интересно, рекомендую.

https://youtu.be/TptFWr6V8Rg?si=asciCEmurbKl0Ce7
🔥13👍621🕊1
Илья хорошо написал про срыв сроков. Я лишь дополню что многие частенько пытаются жить либо вообще без дедлайнов, либо с мягким отношением к ним. Вот это прямо крайне плохо, дедлайны нужны почти всегда.
👎199❤‍🔥1🐳1
Как срывать сроки

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

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

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

Если вы сорвали настоящий дедлайн, надо сначала сказать: «Мы договаривались, что сегодня я покажу то-то и то-то в таком-то объёме, в том числе... (перечислить всё, что вы обещали). К сожалению, я сделал не всё: не успел сделать то-то и то-то». Все извинения, уточнения и, главное, предложения должны звучать уже после этого. Доверие начинается с того, что клиент хотя бы видит, что вы понимаете, что создали проблему.

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

Оправдания не имеют значения, и по идее надо сразу переходить к предложениям: что теперь делать-то? Но все мы живые люди, и иногда очень хочется объяснить, почему что-то не получилось. Если вы просто начнёте оправдываться, клиент будет думать, что решать созданную вами проблему вы не собираетесь. Поэтому нужно хотя бы сказать: «Я хочу объяснить, почему не получилось, и потом, если позволите, расскажу, как предлагаю исправить ситуацию».

Каким бы ни было ваше предложение, нужно убедиться, что клиенту оно подходит. «К завтрашнему дню уже точно будет» — это предложение, но оно звучит, как будто вы сами назначили себе новый дедлайн, не спросив мнение клиента. Мало кому такое понравится. Более нормальный вариант: «Чтобы доделать оставшееся, я бы хотел договориться взять ещё два дня». Тут клиент может либо согласиться, либо возразить, и тогда вы сможете думать дальше.

Почему «ещё два дня», если завтра уже точно будет? Да чтобы завтра опять не пришлось этот разговор проходить. Так-то никто не расстроится, если вы завтра принесёте.
32👍6👎6🐳1
Читая книгу «Карьера Software Engineering Manager», набрёл на интересную мысль.

«Менеджеры обычно планируют свой день по часам, тогда как разработчики наиболее продуктивны, когда планируют своё время блоками по полдня. Это связано с тем, что их работа требует глубокого погружения, а чтобы войти в состояние потока, нужно время».

Т.е автор предлагает организовать календари разработчиков так, чтобы у них был гарантированный слот на 4 часа в день, чтобы поработать.

Мысль не то чтобы новая, когда я был разработчиком и работал в офисе, то всегда можно было надеть наушники и уйти в поток, а если столкнешься с трудностями то спрашиваешь не в телеграме (тогда и телеграма не было), а у того кто свободен.

Но кажется на удалёнке все это безбожно поломалось. Со временем так или иначе встреч стало на столько много и на столько хаотично разбросанных, что нужно ставить блоки в календаре на «поработать». Есть даже такая инициатива дня без встреч, правда сколько я себя помню она работала скорее как день когда мало встреч.

Тонкость додумывания мысли автора в том, чтобы эти 4-х часовые блоки на «поработать» сделать ежедневными и едиными на команду. Как думаете, сработает? А ещё интересно как вы решаете эту проблему в своих командах?
👍2221🎉1🐳1
36

В 2014 году мы во второй раз делали конференцию FrontTalks. Конференция у нас была тогда почти никому не известная, докладчиков было не густо и нужно было придумать что-то. И как-то в разговоре с Вадимом Макишвили мы начали обсуждать идею что было бы круто в конце сделать доклад про жизнь. Как-то так появился знаменитый доклад Вадима «36», а идея завершающим докладом делать доклад про жизнь стала фишкой конференции.

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

Но это же канал о руководстве и работе? Причем тут фишки? Так вот я считаю что наличие фишек важно и в работе, и вообще в том что ты делаешь. Не важно что это будет: стендапы по четвергам в рубашках, единороги на аватарках или вишенки когда приходит новый человек. Вот эти мелкие традиции они делают команду сплочённее, сильнее и командой. Про силу традиций писал Эд Кэтмэлл в книге про Pixar. И мы все понимаем какой Pixar был тогда.

А если у вас будет время на выходных, то вот все завершающие доклады с FrontTalks:
2014: Вадим Макишвили «36» — https://www.youtube.com/watch?v=FxljIvLxUqQ
2016: Гриша “бобук” Бакунов «Можно ли программировать без интернета» — https://www.youtube.com/watch?v=z3DVIXKieBA
2017: Андрей Себрант «Мозги надо переключать» — https://youtu.be/aVdF_em3usw
2018: Артём Горбунов «10 принципов Артёма Горбунова» — https://youtu.be/ZMeWeU1Y6PI

p.s. Кстати, почему я написал этот пост именно сегодня? Просто мне стукнуло 36. Когда я 10 лет назад восхищенно слушал Вадима, я думал что время о котором он рассказывает ещё так далеко…
32🎉19❤‍🔥6
Привет, простите что в выходные.

Почему-то к прошлому посту опять не привязалась ссылка на комменты, поэтому комментировать его можно к этому сообщению.

Расскажите какие фишки есть в ваших командах?
Метод 5П для встреч 1х1

Книга «Карьера Software Engineering Manager», оказалась кладезью простых мудростей на каждый день, поэтому продолжу ими делиться.

Допустим вы недавно стали руководителем и вам надо начать встречаться с подчиненным 1х1. О чём с ними разговаривать? Я лично знаю две больших категории, первые говорят обо всём что угодно кроме работы и лишь изредка, когда совсем уже жесть, по делу. И те кто говорит на встречах только и исключительно о работе и вообще не интересуется личной жизнью. Абсолютно согласен с автором книги, который говорит что и то и другое плохо.

В книге предлагается простой фреймворк 4П, помогающий провести диалог 1х1 и не забыть что-то важное:
1. Прогресс
2. Проблемы
3. Планы
4. Персонал (в оригинале People, т.е люди)

Вот 4 столпа на которых автор предлагает строить встречи 1х1, сам же себе противореча, ведь тут снова только про работу.

Я предлагаю добавить к этому списку 5-ю П — персональное. Т.е после всего рабочего, можно пообсуждать не рабочее, там и про погоду, и общее самочувствие, и про жизнь в целом.
20👍8👎21
К посту выше снова не прицепились комментарии, я подозреваю что это потому что я пишу пост заранее и отправляю отложенным. Так что пишите их сюда.
4
Про руководство разработкой и продуктом | Олег Мохов
Читая книгу «Карьера Software Engineering Manager», набрёл на интересную мысль. «Менеджеры обычно планируют свой день по часам, тогда как разработчики наиболее продуктивны, когда планируют своё время блоками по полдня. Это связано с тем, что их работа требует…
Чем закончился наш эксперимент с Focus Time?

Мы запустили его на две команды. У каждой команды в расписание встал 4-х часовой слот «focus time» на каждый день. Несмотря на то что мы давали выбор в первой или во второй половине дня — обе команды выбрали вторую половину дня, т.к в первой проходят стендапы и их сдвигать не хотелось. Через месяц и через два запустили пульс-опросы чтобы узнать как дела?

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

В общем, рекомендую.
👍205❤‍🔥11🔥1
Спасибо всем, кто участвовал

Недавно мы презентовали проект CodeRun на внутреннем мероприятии. Я подготовил небольшую презентацию на 5 минут, постарался вместить в неё все основные фишки проекта.

В конце я сделал слайд «Спасибо команде». Но когда мы на финальном прогоне отсматривали слайды, то один из продактов предложил мне: «Давай добавим лица, ребятам будет приятно себя увидеть». Я подумал что это правда клёво и приятно добавить лица людей. Далее мне выдали целый список всех кто участвовал в запуске и в итоге я полвечера занимался вставкой лиц всех-всех-всех. На утро, когда преза уже была отдана, мы общались с другим продактом про презентацию и она мне сказала: «Преза клёвая, но зря ты добавил лица, обязательно кого-то забыл и он обидится»… Что и говорить, как в воду глядела, пару человек я все-таки впопыхах пропустил и в итоге получил обиды.

Если вы делаете презентацию и хотите сказать спасибо команде или как-то иначе её выделить, то лучше всего избегать слайда с конкретными людьми, если только команду вашу нельзя пересчитать пальцами руки (например, это явно сформированная ваша команда на хакатоне). В остальных случаях лучше сказать «Спасибо, команда», не выделяя кого-то конкретно.
👍13🤔63👎1
Как я начал читать?

Последние лет 5 я очень мало читаю. Менеджерская работа с кучей свитчей контекстов не оставляет времени на то, чтобы что-то почитать кроме статеек. Иногда, раз в год, бывает зацепит какая-то книга, но это скорее исключение. Ну и ещё я каждый год перечитываю «Понедельник начинается в субботу», но это уже совсем другая история.

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

Я стал ковыряться в причинах того, почему я не читаю и обнаружил два крайне забавных факта про себя:

1. Я очень часто забываю место где остановился 🙂 Смех тут в том, что при современном уровне развития технологий читалки всё ещё плохо синхронизируют онлайн и офлайн. В итоге даже когда хочется — я либо перечитываю по 10 раз одно и то же, либо просто забиваю.

2. Мне не хватает геймификации и ощущения прогресса. Т.е того что бы меня мотивировало хотя бы по чуть-чуть читать каждый день. Обнаружил я это совсем благодаря игрушкам time waster’ам. Почему я к ним возвращаюсь каждый день? Почему на них у меня время есть? Ведь глупее тапания ничего не придумаешь...

Т.е нужен трекер для книг, не привязанный к тому как именно ты читаешь книгу (бумажную, в читалке, в браузере), с минимальной геймификацией. Так я вышел на Turn. Это приложение максимально простое. Забил книгу. Когда начал читать — тапаешь «Начать сессию», когда закончил вбиваешь сколько страниц прочитал. Этого оказалось достаточно чтобы читать регулярно. За прошедший месяц я прочитал 9 книг, в том числе «Русскую модель управления», которую до этого трижды начинал читать.

Turn не идеален, но лично мне он нравится своей простотой. Теперь я читаю даже те 5-10 минут, пока сижу в машине и жду жену 🙂 В общем, рекомендую.

p.s. Если знаете аналоги, особенно для андроида/ПК, кидайте — добавлю в пост.
👍215🔥5
Пост для комментов. Не понимаю как это работает
go/ wiki/ staff/

В книге Software Engineering at Google рассказывается про документацию в Гугле, которая обёрнута в специальный сокращатель ссылок go/. Идея очень простая, что если тебе, например, нужно узнать что-то про MySQL, то ты идешь по урлу go/mysql. «Урл» в кавычках потому что я не знаю реально ли этот урл разыменовывается, или просто это удобное сокращение похода через сервис. Ниже ответ.

Забавно, что в Яндексе подобное сокращение урлов (а тут без кавычек) тоже используется, но на уровне сервисов,. Т.е мой профиль в интранете может быть доступен по урлу https://staff.yandex-team.ru/mokhov/, а может быть доступен по урлу staff/mokhov. А вот про инфохабы как-то не догадались.

Подобное сокращение урлов — это удобная альтернатива поисковым механизмам по интранету, особенно если следить за актуальностью. go/mysql — всегда будет ссылаться на хаб по тому, как внутри компании используется mysql. А staff/volozh — ну вы поняли :)

p.s. Комменты можно писать к прошлому посту для комментов. Я пока разбираюсь с поддержкой телеграма
6🔥3👍2
Фил (канал Life of Phil) рассказал конкретнее как это устроено. Собственно как в Яндексе, есть шорткаты на уровне dns в интранете и это удобно
4👍1
Forwarded from Life of Phil
Ну давай я тогда сюда напишу просто?

«Урл» в кавычках потому что я не знаю реально ли этот урл разыменовывается, или просто это удобное сокращение похода через сервис.

В гугле ты можешь зарегистрировать свой домен первого уровня во внутренней сети: все эти go/..., me/..., они будут резолвиться на уровне dns, но их относительно сложно сделать. Надо что-то настраивать, ждать.

И есть го ссылки, ты можешь просто в UI нажать кнопку, заполнить 2 поля "go/oleg" --> "https://t.me/teamleading", и тогда по ссылке https://golink.google-intranet/oleg" будет кидаться редирект на твой канал. Ну и дальше у тебя просто первым способом сделан DNS CNAME http://go на https://golink.google-intranet.

Технически всё чуть сложнее, но концептуально так работает.
👍72
Чем ты хочешь заниматься?

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

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

Даже в горизонте полгода можно визуализировать картинку. Купленный абонемент в спортзал или билеты в отпуск гарантированно дают её.

Но давайте обнулим бэкграунд. Нет ни работы, ни семьи, ни-че-го. Есть только вы, ваши знания и опыт. Так все-таки чем ты хочешь заниматься? В ближайший год, или в ближайшие 5 лет?

Ответом на этот вопрос должен быть не просто лозунг «Быстрее, выше, сильнее», а вполне конкретный ответ. И не то чтобы есть слишком много шансов поэкспериментировать. Трудоспособный возраст в РФ с 18 до ~60 лет. Итого, есть примерно 42 попытки выбрать чем хочется заниматься в горизонте года. И всего 8 попыток в горизонте 5 лет. Многие, кстати, одну попытку израсходуют на университет. 

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

Я начал искать как ответить на этот вопрос и набрел на икигаи. Вместо того чтобы пытаться ответить сразу же на вопрос экзестенциальный, сначала надо ответить на 4 других вопроса:
1. Чем вы любите заниматься?
2. Что у вас получается хорошо делать?
3. За что вам готовы платить?
4. Что нужно миру от вас?

И пересечения ответов есть разные жизненные сценарии. Например, пересечение «Что у вас получается хорошо делать?» и «За что вам готовы платить?» — это работа. А «За что вам готовы платить?» и «Что нужно миру от вас?» — призвание. А пересечение всех 4-х — это икигаи. И, пожалуй, если после ответа на 4 вопроса у вас нашлось занятие которое присутствует везде, то на перепутии я бы выбрал именно это направление движения.

Ко мне очень часто приходят мои подопечные с вопросом «А что мне делать дальше?». И раньше я всегда отвечал вопросом: «А что ты хочешь?». Кто-то отвечал, но звучало это чаще всего как те же «Быстрее, выше, сильнее». И вот недавно я понял, что можно не только задавать открытый вопрос, но и помогать искать ответ на этот вопрос. Принцип икигаи — это один из способов, который вы, как руководитель, можете предложить сотруднику, когда составляете PIP (Personal Improvement Plan) или когда беседуете по душам о его будущем. Принципом икигаи можете воспользоваться и вы сами, если есть желание что-либо поменять...
29👍13❤‍🔥11🥰1