Обязательное ревью кода — де-факто стандарт индустрии по улучшению качества кода. Но так было не всегда. Во всяком случае в нашей команде.
10+ лет назад у нас не было ревью кода. Сообщения о коммитах в svn приходили письмами на рассылку. Ее читали все желающие. Можно было ответить письмом на коммит — и это было "ревью".
В качестве первого инструмента для ревью кода был внедрен Crucible из-за его нативной интеграции с Jira — продуктом той же Atlassian. Тогда еще у нас не было своего трекера.
Отныне коммиты в
Последующие несколько недель коллеги ходили злыми, как черти 😈
Разработчики воспринимали критику своего кода как личное оскорбление. Нужно время и опыт, чтоб научиться разделять критику кода от самого себя. Это, правда, непросто.
Мой коллега вернулся из отпуска и создал свое первое ревью кода:
- один файл
- 2 ревьювера
- 100+ комментов
Вечером мы с коллегой пили чай, и я решил донести до него свою точку зрения. В ответ услышал примерно следующее:
— Саша, больше не слова, а то я тебя ударю...
Если учесть вспыльчивый характер моего коллеги — то были не пустые угрозы. Дабы избежать рукоприкладства, я решил дать время коллеге остыть и поговорить с ним на следующей день :)
#байки
10+ лет назад у нас не было ревью кода. Сообщения о коммитах в svn приходили письмами на рассылку. Ее читали все желающие. Можно было ответить письмом на коммит — и это было "ревью".
В качестве первого инструмента для ревью кода был внедрен Crucible из-за его нативной интеграции с Jira — продуктом той же Atlassian. Тогда еще у нас не было своего трекера.
Отныне коммиты в
trunk
стали возможными только после прохождения ревью кода.Последующие несколько недель коллеги ходили злыми, как черти 😈
Разработчики воспринимали критику своего кода как личное оскорбление. Нужно время и опыт, чтоб научиться разделять критику кода от самого себя. Это, правда, непросто.
Мой коллега вернулся из отпуска и создал свое первое ревью кода:
- один файл
- 2 ревьювера
- 100+ комментов
Вечером мы с коллегой пили чай, и я решил донести до него свою точку зрения. В ответ услышал примерно следующее:
— Саша, больше не слова, а то я тебя ударю...
Если учесть вспыльчивый характер моего коллеги — то были не пустые угрозы. Дабы избежать рукоприкладства, я решил дать время коллеге остыть и поговорить с ним на следующей день :)
#байки
В 2012 году Джеймс Кэмерон осуществил погружение на дно глубочайшей впадины мирового океана — в «Бездну Челленджера» (Марианская впадина).
Там, на дне, Кэмерон заснял материалы с помощью 3D-камеры. Это стало основой его нового шедевра — Аватар: Путь воды.
У вас также есть возможность заглянуть в "бездну" на Яндекс Картах. И для этого необязательно спускаться на батискафе.
Посмотреть пугающие подробности 😱
#карты
Там, на дне, Кэмерон заснял материалы с помощью 3D-камеры. Это стало основой его нового шедевра — Аватар: Путь воды.
У вас также есть возможность заглянуть в "бездну" на Яндекс Картах. И для этого необязательно спускаться на батискафе.
Посмотреть пугающие подробности 😱
#карты
Иногда в трекере необходимо скрыть задачу от лишних глаз.
Делюсь маленьким лайфхаком, упрощающим этот процесс:
1. Создайте компонент
2. Рекомендую сразу выдавать доступ службе безопасности своей компании.
Если доступ к задаче нужно ограничить, то добавляете компонент
#лайфхаки #безопасность
Делюсь маленьким лайфхаком, упрощающим этот процесс:
1. Создайте компонент
secret
с ограниченным доступом.2. Рекомендую сразу выдавать доступ службе безопасности своей компании.
Если доступ к задаче нужно ограничить, то добавляете компонент
secret
- и доступ автоматически ограничится узким кругом лиц.#лайфхаки #безопасность
Дайджест 07.09.2022—07.03.2023
Раз в квартал я буду публиковать дайджесты для быстрого доступа к старым постам.
Сегодня с опозданием публикую подборку постов за Q4 прошлого года. В будущем постараюсь быть более пунктуальным :)
Для удобства посты разбиты по категориям и отсортированы по алфавиту.
Аналитика
- Что такое a/b эксперименты?
- Технические детали a/b экспериментов
Байки
- Сложности коммуникации
- О рубрике #байки
- Гибкий график работы
- Неправильный ключ
- Найдется все, и даже ботинки
- Cassandra
- Искусство споров
- Глючный стул
- Двойник
- Золотой костыль
- LSR из-за "минорного бекенда"
- Про тупик
- Кто сломал панорамы?
- Случай в столовой
- Случай с заглохшим авто
- Обновление питерской столовой
Безопасность
- Отношение к утечке данных
Гео
- Геополис: день рождения геосервисов
- Первая версия Яндекс Карт
- Доступный тортик
Инфраструктура
- Про инфраструктуру
- Экономия ментальной энергии через автоматизацию
Инциденты
- Что такое инциденты/факапы
- Неправильный ключ
- Cassandra
- LSR из-за "минорного бекенда"
- Что такое LSR
- Отношение к инцидентам
Карты
- Blue marbel в спутниковом режиме
Команда
- Состав моей команды
- Мой путь: до Яндекса
- Мой путь: в Яндексе
Новости
- API 3.0
- Планиметр
- Карта дня и ночи
Разработка
- Разработка — это садоводство
- Схема релизной трубы
- "Вечные" TODO в коде
- Автоматизация ведения блога
Ревью
- Вступление про ревью
- Что такое ревью
- Ревьюшное колесо
- Доклады Яндекса про ревью
- Тяжелые периоды и ревью
- 1. Подведение итогов
- Схема про самоотзыв
- 2. Сбор обратной связи
- Схема про сбор обратной связи
- Грейды сотрудников
- Линейка грейдов
- 3. Выставление оценки
- 4. Калибровки
- Схема калибровок
- Гистограмма распределения оценок на ревью
- 5. Озвучивание результатов
Яндекс
- Логин в Яндексе
- Случай в столовой
#дайджесты
Раз в квартал я буду публиковать дайджесты для быстрого доступа к старым постам.
Сегодня с опозданием публикую подборку постов за Q4 прошлого года. В будущем постараюсь быть более пунктуальным :)
Для удобства посты разбиты по категориям и отсортированы по алфавиту.
Аналитика
- Что такое a/b эксперименты?
- Технические детали a/b экспериментов
Байки
- Сложности коммуникации
- О рубрике #байки
- Гибкий график работы
- Неправильный ключ
- Найдется все, и даже ботинки
- Cassandra
- Искусство споров
- Глючный стул
- Двойник
- Золотой костыль
- LSR из-за "минорного бекенда"
- Про тупик
- Кто сломал панорамы?
- Случай в столовой
- Случай с заглохшим авто
- Обновление питерской столовой
Безопасность
- Отношение к утечке данных
Гео
- Геополис: день рождения геосервисов
- Первая версия Яндекс Карт
- Доступный тортик
Инфраструктура
- Про инфраструктуру
- Экономия ментальной энергии через автоматизацию
Инциденты
- Что такое инциденты/факапы
- Неправильный ключ
- Cassandra
- LSR из-за "минорного бекенда"
- Что такое LSR
- Отношение к инцидентам
Карты
- Blue marbel в спутниковом режиме
Команда
- Состав моей команды
- Мой путь: до Яндекса
- Мой путь: в Яндексе
Новости
- API 3.0
- Планиметр
- Карта дня и ночи
Разработка
- Разработка — это садоводство
- Схема релизной трубы
- "Вечные" TODO в коде
- Автоматизация ведения блога
Ревью
- Вступление про ревью
- Что такое ревью
- Ревьюшное колесо
- Доклады Яндекса про ревью
- Тяжелые периоды и ревью
- 1. Подведение итогов
- Схема про самоотзыв
- 2. Сбор обратной связи
- Схема про сбор обратной связи
- Грейды сотрудников
- Линейка грейдов
- 3. Выставление оценки
- 4. Калибровки
- Схема калибровок
- Гистограмма распределения оценок на ревью
- 5. Озвучивание результатов
Яндекс
- Логин в Яндексе
- Случай в столовой
#дайджесты
Один из самых популярных запросов мне, как ментору, примерно следующий:
"Мои задачи — скучные. Хочу что-то интересное и челленджевое! Что делать?"
Интересные задачи легко находятся, если смотреть шире на свои текущие проекты. Мне нравится термин "метазадачи", который я подслушал у Сережи Бережного.
Если вам нужно делать лендинги каждый день, то можно делать лендинги. А можно сделать "метазадачу" — конструктор лендингов — и снять однотипные задачи с разработчиков.
Так вот, я обычно советую взглянуть на "стык" вашего подразделения со смежными. Например, "разработка—тестирование" или "разработка—аналитика".
Обычно в этих местах много нерешенных проблем, и можно нанести много добра.
Дерзайте ;)
#менторство
"Мои задачи — скучные. Хочу что-то интересное и челленджевое! Что делать?"
Интересные задачи легко находятся, если смотреть шире на свои текущие проекты. Мне нравится термин "метазадачи", который я подслушал у Сережи Бережного.
Если вам нужно делать лендинги каждый день, то можно делать лендинги. А можно сделать "метазадачу" — конструктор лендингов — и снять однотипные задачи с разработчиков.
Так вот, я обычно советую взглянуть на "стык" вашего подразделения со смежными. Например, "разработка—тестирование" или "разработка—аналитика".
Обычно в этих местах много нерешенных проблем, и можно нанести много добра.
Дерзайте ;)
#менторство
Обсуждение задач и целей — частая тема на моих менторских встречах. Оно и понятно. Если решать "правильные" задачи, то движение по карьерной лестнице ускорится.
Взрослый подход к целям заключается в провязке своих целей с задачами компании. Пора уже менять установку "я хочу интересных задач" на "чем я могу быть полезен компании".
Любая компания — машина по зарабатыванию денег. Поэтому задача руководителя компании - нанимать людей для увеличения выручки. Если компания не сможет зарабатывать деньги, то она будет вынуждена закрыться и "вечеринка" закончится.
Все сотрудники должны помогать компании растить бизнес. Прямо или косвенно. Неважно, вы работаете топ-менеджером, сотрудником поддержки или разработчиком. Все ваши задачи должны работать на нужды бизнеса.
Если представить, что все сотрудники компании думают о бизнесе и работают на его рост, то у такой компании будет великое будущее.
Часть процессов оптимизируется сама собой, будет меньше пустых споров и более быстрое движение вперед.
Есть два основных способа помочь бизнесу:
1. Увеличить количество зарабатываемых денег.
2. Уменьшить затраты или расходы.
Можно работать на эти цели напрямую или косвенным образом.
Например, моя команда вкладывается в развитие инфраструктуры для упрощения поддержки текущих сервисов и запуска новых. Напрямую эта цель никак не влияет на рост денег. Однако, экономия времени разработки в будущем позволит не раздувать штат и быстрее запускать новые проекты, важные для бизнеса. А это уже звенит и шелестит...
Думайте про бизнес, даже если вам кажется, что вы от него далеки. Это полезно. И многое начнет проясняться ;)
#карьера #менторство
Взрослый подход к целям заключается в провязке своих целей с задачами компании. Пора уже менять установку "я хочу интересных задач" на "чем я могу быть полезен компании".
Любая компания — машина по зарабатыванию денег. Поэтому задача руководителя компании - нанимать людей для увеличения выручки. Если компания не сможет зарабатывать деньги, то она будет вынуждена закрыться и "вечеринка" закончится.
Все сотрудники должны помогать компании растить бизнес. Прямо или косвенно. Неважно, вы работаете топ-менеджером, сотрудником поддержки или разработчиком. Все ваши задачи должны работать на нужды бизнеса.
Если представить, что все сотрудники компании думают о бизнесе и работают на его рост, то у такой компании будет великое будущее.
Часть процессов оптимизируется сама собой, будет меньше пустых споров и более быстрое движение вперед.
Есть два основных способа помочь бизнесу:
1. Увеличить количество зарабатываемых денег.
2. Уменьшить затраты или расходы.
Можно работать на эти цели напрямую или косвенным образом.
Например, моя команда вкладывается в развитие инфраструктуры для упрощения поддержки текущих сервисов и запуска новых. Напрямую эта цель никак не влияет на рост денег. Однако, экономия времени разработки в будущем позволит не раздувать штат и быстрее запускать новые проекты, важные для бизнеса. А это уже звенит и шелестит...
Думайте про бизнес, даже если вам кажется, что вы от него далеки. Это полезно. И многое начнет проясняться ;)
#карьера #менторство
В прошлом посте я подчеркивал важность бизнесового мышления для каждого сотрудника компании.
Может показаться, что зарабатывание денег важнее самого продукта. Это не так.
Бизнес стоит на фундаменте под названием "Качественный продукт и сервис". Без такого твердого фундамента невозможно выиграть в гонке с конкурентами.
Делать качественный и полезный продукт — основополагающий критерий для успешности бизнеса.
7 лет назад Аркадий Волож сказал замечательную мысль: "Мы в медиабизнесе. В медиа счастье пользователя – это хлеб. Поэтому если не думали о счастье пользователя, значит не думали о бизнесе. В Яндексе нельзя такие фразы произносить".
Наши пользователи — бесценное сокровище. Мы их очень любим и ценим. И, конечно, работаем над максимизацией их счастья :)
В итоге получается цепочка Бизнес → Продукт → Пользователь:
- Бизнес не может работать без качественного Продукта
- Продукт не выживет без Пользователей
- Пользователь — король! 🤴
#яндекс
Может показаться, что зарабатывание денег важнее самого продукта. Это не так.
Бизнес стоит на фундаменте под названием "Качественный продукт и сервис". Без такого твердого фундамента невозможно выиграть в гонке с конкурентами.
Делать качественный и полезный продукт — основополагающий критерий для успешности бизнеса.
7 лет назад Аркадий Волож сказал замечательную мысль: "Мы в медиабизнесе. В медиа счастье пользователя – это хлеб. Поэтому если не думали о счастье пользователя, значит не думали о бизнесе. В Яндексе нельзя такие фразы произносить".
Наши пользователи — бесценное сокровище. Мы их очень любим и ценим. И, конечно, работаем над максимизацией их счастья :)
В итоге получается цепочка Бизнес → Продукт → Пользователь:
- Бизнес не может работать без качественного Продукта
- Продукт не выживет без Пользователей
- Пользователь — король! 🤴
#яндекс
Наступает очередное ревью, и нужно подводить итоги полугодия.
Я уже писал о том, что не все достижения сотрудника очевидны для руководителя.
Мой преподаватель по физике в университете любил произносить фразу: "Очевидно — это когда очами видно".
Чтобы ваши достижения были заметны, нужно также потрудиться. В Яндексе этот процесс называют "повышением visibility".
Не только ваш руководитель, но и окружающие коллеги должны понимать важность и значимость проделанной работы.
Можно возложить работу над visibility на руководителя, но более надежный результат достигается при командной работе.
Способов улучшить прозрачность своей деятельности множество:
1. Статьи/howto/документация.
2. Посты внутри Яндекса и на внешних платформах.
3. Внутренние и внешние выступления.
4. Рассказы для коллег в кулуарах, в конце концов :)
Эффект от этой работы не мгновенный, а растянут во времени.
Чтобы быть подтянутым и здоровым, нужно заниматься спортом и правильно питаться. Мы бы хотели, чтобы результат был за один день, но опыт показывает, что придется трудиться не одну неделю... С visibility такая же история.
Повышенный visibility не только укрепляет карму конкретного человека, но и всей команды.
Если команда активно делится своим опытом и историями из рабочих будней, то внешним людям проще понять, хотят ли они присоединиться к этой команде. Я считаю, что важно найти не только интересные задачи, но и коллег, близких по духу.
#ревью
Я уже писал о том, что не все достижения сотрудника очевидны для руководителя.
Мой преподаватель по физике в университете любил произносить фразу: "Очевидно — это когда очами видно".
Чтобы ваши достижения были заметны, нужно также потрудиться. В Яндексе этот процесс называют "повышением visibility".
Не только ваш руководитель, но и окружающие коллеги должны понимать важность и значимость проделанной работы.
Можно возложить работу над visibility на руководителя, но более надежный результат достигается при командной работе.
Способов улучшить прозрачность своей деятельности множество:
1. Статьи/howto/документация.
2. Посты внутри Яндекса и на внешних платформах.
3. Внутренние и внешние выступления.
4. Рассказы для коллег в кулуарах, в конце концов :)
Эффект от этой работы не мгновенный, а растянут во времени.
Чтобы быть подтянутым и здоровым, нужно заниматься спортом и правильно питаться. Мы бы хотели, чтобы результат был за один день, но опыт показывает, что придется трудиться не одну неделю... С visibility такая же история.
Повышенный visibility не только укрепляет карму конкретного человека, но и всей команды.
Если команда активно делится своим опытом и историями из рабочих будней, то внешним людям проще понять, хотят ли они присоединиться к этой команде. Я считаю, что важно найти не только интересные задачи, но и коллег, близких по духу.
#ревью
У Яндекса есть несколько датацентров в разных регионах нашей страны. Эти датацентры соединены оптоволоконными кабелями протяженностью до 1000 км!
Команда сетевой инфраструктуры следит за связностью датацентров, чтобы байтики бегали по проводам и переносили запросы наших пользователей :)
Проблемы, решаемые сетевыми инженерами — совершенно отдельный мир. О нем я и хочу рассказать сегодня.
Сетевые инженеры борются с "металлическими кротами" — экскаваторами, которые с завидной периодичностью перекусывают наши оптоволоконные кабели. И если бы это была только одна проблема.
Оптоволоконные кабели имеют длину меньше 1000 км, поэтому отрезки кабеля соединяют в кабельных колодцах.
Кабельные колодцы также постоянно становятся жертвами земельных работ. То их зальют бетоном, то точно по центру вобьют сваю. И это при диаметре кабельного колодца всего в несколько сантиметров!
А почему не помогают таблички "осторожно кабель"?
Увы, таблички часто игнорируют, а иногда бывает и еще интереснее. Например, подрядчик устанавливает предупреждающие таблички. Но за ним на расстоянии нескольких километров едет машина с ушлыми ребятами, которые снимают эти таблички для строительства забора на даче.
#байки
Команда сетевой инфраструктуры следит за связностью датацентров, чтобы байтики бегали по проводам и переносили запросы наших пользователей :)
Проблемы, решаемые сетевыми инженерами — совершенно отдельный мир. О нем я и хочу рассказать сегодня.
Сетевые инженеры борются с "металлическими кротами" — экскаваторами, которые с завидной периодичностью перекусывают наши оптоволоконные кабели. И если бы это была только одна проблема.
Оптоволоконные кабели имеют длину меньше 1000 км, поэтому отрезки кабеля соединяют в кабельных колодцах.
Кабельные колодцы также постоянно становятся жертвами земельных работ. То их зальют бетоном, то точно по центру вобьют сваю. И это при диаметре кабельного колодца всего в несколько сантиметров!
А почему не помогают таблички "осторожно кабель"?
Увы, таблички часто игнорируют, а иногда бывает и еще интереснее. Например, подрядчик устанавливает предупреждающие таблички. Но за ним на расстоянии нескольких километров едет машина с ушлыми ребятами, которые снимают эти таблички для строительства забора на даче.
#байки
Я две недели был в отпуске, поэтому ничего не постил. Отдыхал или, как сейчас модно говорить, "возвращал себе ресурсное состояние".
Важно следить за зарядом своей внутренней батарейки и вовремя ее подзаряжать. Если вся энергия "выгорит", то ничем хорошим это не закончится. Внутреннюю батарейку нельзя заменить, придется долго и муторно ее восстанавливать.
Когда ко мне приходят коллеги поменториться, то часто хотят сворачивать горы и яростно строить карьеру. Но мало кто на старте задумывается, хватит ли для этого энергии.
На курсе по руководству у Ксении Авдей тема ресурсности была самой первой и ключевой. Без должного запаса энергии не получится добиться желаемого карьерного трека.
Ксюша напомнила, что ресурсность непосредственно связана с физическим состоянием. А это значит, что можно сдать базовые анализы и посмотреть на свои "метрики".
Я тогда покривился, но пошел сдавать анализы. Получил заниженные метрики. Вырастил метрики — почувствовал себя лучше.
Именно поэтому после знакомства с менти я обязательно обсуждаю тему ресурсности и подчеркиваю ее важность.
Так что прежде чем сворачивать горы, подумайте, где вы будете черпать энергию. Это может быть что угодно: встречи с друзьями, прогулки по парку, занятия йогой и т.д.
Добавьте эти события в календарь и не пропускайте. Это базовая рекомендация, которая помогает работать эффективнее и быть более счастливыми :)
#менторство
Важно следить за зарядом своей внутренней батарейки и вовремя ее подзаряжать. Если вся энергия "выгорит", то ничем хорошим это не закончится. Внутреннюю батарейку нельзя заменить, придется долго и муторно ее восстанавливать.
Когда ко мне приходят коллеги поменториться, то часто хотят сворачивать горы и яростно строить карьеру. Но мало кто на старте задумывается, хватит ли для этого энергии.
На курсе по руководству у Ксении Авдей тема ресурсности была самой первой и ключевой. Без должного запаса энергии не получится добиться желаемого карьерного трека.
Ксюша напомнила, что ресурсность непосредственно связана с физическим состоянием. А это значит, что можно сдать базовые анализы и посмотреть на свои "метрики".
Я тогда покривился, но пошел сдавать анализы. Получил заниженные метрики. Вырастил метрики — почувствовал себя лучше.
Именно поэтому после знакомства с менти я обязательно обсуждаю тему ресурсности и подчеркиваю ее важность.
Так что прежде чем сворачивать горы, подумайте, где вы будете черпать энергию. Это может быть что угодно: встречи с друзьями, прогулки по парку, занятия йогой и т.д.
Добавьте эти события в календарь и не пропускайте. Это базовая рекомендация, которая помогает работать эффективнее и быть более счастливыми :)
#менторство
Дайджест 01.01.2023—31.03.2023
Раз в квартал я публикую дайджесты для быстрого доступа к старым постам.
Для удобства посты разбиты по категориям и отсортированы по алфавиту.
Байки
- Почасовая оплата
- Злополучный перенос строки
- Обратный эксперимент для руководителя
- Фото наклеек в тупике
- Про новогодний сбор елок
- Байка про первое codereview
- Ревью хозяюшки
- Почтовый апокалипсис
- Как экскаватор перерубил оптоволокно
Безопасность
- Компонент secret в трекере
Гео
- Чем занят разработчик?
- Дорожные работы и разговорчики в офисе
Инциденты
- Злополучный перенос строки
Карты
- Неудачное облачко
- Самая большая деревня в России
- HD карты
- Про новогодний сбор елок
- В Марианской впадине
Карьера
- Советы от @imperator по построению карьеры
- Ничего личного, это просто бизнес
Команда
- Среда — день жаб
Лайфхаки
- Компонент secret в трекере
Менеджмент
- YearCompass
- Чеклист запуска нового сервиса
- Путеводитель по сводам знаний
Менторство
- О менторстве
- На стыке команд всегда интересные задачи
- Ничего личного, это просто бизнес
- Вопросы мне, как ментору
Новости
- HD карты
- Новый дом Яндекса
- Оплата парковок
Разработка
- Путеводитель по сводам знаний
Ревью
- Про мидревью
- Зачем нужна visibility деятельности?
Яндекс
- Кофе-поинты
- Хозяюшки и a/b эксперименты
- Сырки БЮ Александров
- Новый дом Яндекса
- Счастье пользователей
#дайджесты
Раз в квартал я публикую дайджесты для быстрого доступа к старым постам.
Для удобства посты разбиты по категориям и отсортированы по алфавиту.
Байки
- Почасовая оплата
- Злополучный перенос строки
- Обратный эксперимент для руководителя
- Фото наклеек в тупике
- Про новогодний сбор елок
- Байка про первое codereview
- Ревью хозяюшки
- Почтовый апокалипсис
- Как экскаватор перерубил оптоволокно
Безопасность
- Компонент secret в трекере
Гео
- Чем занят разработчик?
- Дорожные работы и разговорчики в офисе
Инциденты
- Злополучный перенос строки
Карты
- Неудачное облачко
- Самая большая деревня в России
- HD карты
- Про новогодний сбор елок
- В Марианской впадине
Карьера
- Советы от @imperator по построению карьеры
- Ничего личного, это просто бизнес
Команда
- Среда — день жаб
Лайфхаки
- Компонент secret в трекере
Менеджмент
- YearCompass
- Чеклист запуска нового сервиса
- Путеводитель по сводам знаний
Менторство
- О менторстве
- На стыке команд всегда интересные задачи
- Ничего личного, это просто бизнес
- Вопросы мне, как ментору
Новости
- HD карты
- Новый дом Яндекса
- Оплата парковок
Разработка
- Путеводитель по сводам знаний
Ревью
- Про мидревью
- Зачем нужна visibility деятельности?
Яндекс
- Кофе-поинты
- Хозяюшки и a/b эксперименты
- Сырки БЮ Александров
- Новый дом Яндекса
- Счастье пользователей
#дайджесты
This media is not supported in your browser
VIEW IN TELEGRAM
На днях показал коллеге на кофепоинте, как работает автоматизация моего блога.
Коллега сказал: "Ого! Так вот как работает на самом деле! Круто!"
Записал небольшое видео с демонстрацией работы, так как лучше 1 раз увидеть, чем 100 раз прочитать. Ведь и правда - круто работает :)
Коллега сказал: "Ого! Так вот как работает на самом деле! Круто!"
Записал небольшое видео с демонстрацией работы, так как лучше 1 раз увидеть, чем 100 раз прочитать. Ведь и правда - круто работает :)
Я люблю порядок. Люблю всё структурировать и раскладывать по полочкам. Чтобы противостоять хаосу и энтропии, я использую методологию Getting Things Done (GTD).
Дэвид Аллен, автор этой методики, придерживается мнения, что наш мозг хорошо умеет решать задачи, но хуже приспособлен для запоминания информации.
Предлагаемое решение:
— "выгружаем" из головы всю информацию и проекты на внешний носитель
— фокусируемся на решении задач, а не на хранении
Моя система менеджмента базируется на GTD, но не следует ей на 100%:
— сохраняю и рабочие, и личные проекты в одном хранилище
— иерархия: области жизни → проекты → задачи
— события с конкретным временем — в календарь
— каждому коллеге присвоил специальный тег
— еженедельная актуализация проектов
Пару слов о "специальных тегах для коллег".
На встречах с коллегами нужно восстанавливать рабочий контекст. Я ищу логин коллеги в своей системе и получаю список задач, которые либо я жду от коллеги, либо коллега — от меня. Экономит время и не позволяет забывать о важных вещах.
Кстати, когда задачи из головы "выгружены" на листочек бумаги или в специальную приложеньку, то в голове наступает дзен. Исчезают мысли вида "главное, не забыть о..." или "еще мне нужно сделать..."
После перехода на GTD у меня уменьшился уровень стресса и беспокойства.
Самое сложное — саппорт системы менеджмента. На самом деле, нестрашно, если иногда в ней будет появляться небольшой хаос. Важно, чтобы порядок наступал чаще, чем беспорядок.
Необязательно использовать GTD. Начните с малого: перед сном запишите на листе бумаги волнующие вопросы и положите на видное место. Вы сразу почувствуете, как мозг успокоится ;)
#менеджмент
Дэвид Аллен, автор этой методики, придерживается мнения, что наш мозг хорошо умеет решать задачи, но хуже приспособлен для запоминания информации.
Предлагаемое решение:
— "выгружаем" из головы всю информацию и проекты на внешний носитель
— фокусируемся на решении задач, а не на хранении
Моя система менеджмента базируется на GTD, но не следует ей на 100%:
— сохраняю и рабочие, и личные проекты в одном хранилище
— иерархия: области жизни → проекты → задачи
— события с конкретным временем — в календарь
— каждому коллеге присвоил специальный тег
— еженедельная актуализация проектов
Пару слов о "специальных тегах для коллег".
На встречах с коллегами нужно восстанавливать рабочий контекст. Я ищу логин коллеги в своей системе и получаю список задач, которые либо я жду от коллеги, либо коллега — от меня. Экономит время и не позволяет забывать о важных вещах.
Кстати, когда задачи из головы "выгружены" на листочек бумаги или в специальную приложеньку, то в голове наступает дзен. Исчезают мысли вида "главное, не забыть о..." или "еще мне нужно сделать..."
После перехода на GTD у меня уменьшился уровень стресса и беспокойства.
Самое сложное — саппорт системы менеджмента. На самом деле, нестрашно, если иногда в ней будет появляться небольшой хаос. Важно, чтобы порядок наступал чаще, чем беспорядок.
Необязательно использовать GTD. Начните с малого: перед сном запишите на листе бумаги волнующие вопросы и положите на видное место. Вы сразу почувствуете, как мозг успокоится ;)
#менеджмент
Неожиданно о моем канале узнало много новых людей.
Обычно требуется время, чтобы понять, интересен канал или нет. Давайте я немного облегчу вам задачу :)
Я делюсь заметками о компании в целом, о процессах, об инфраструктуре, о менторстве, о наших подходах и даже факапах. Также рассказываю историю из наших рабочих будней: с моралью и без.
Пишу максимально открыто и подробно, балансирую на грани раскрытия NDA. Мне активно помогают коллеги: подсказывают идеи и проверяют мои посты.
Вот последние подборки моих постов:
- Дайджест 07.09.2022—31.12.2022
- Дайджест 01.01.2023—31.03.2023
По ним можно понять мой стиль и примерную тематику.
Обычно требуется время, чтобы понять, интересен канал или нет. Давайте я немного облегчу вам задачу :)
Я делюсь заметками о компании в целом, о процессах, об инфраструктуре, о менторстве, о наших подходах и даже факапах. Также рассказываю историю из наших рабочих будней: с моралью и без.
Пишу максимально открыто и подробно, балансирую на грани раскрытия NDA. Мне активно помогают коллеги: подсказывают идеи и проверяют мои посты.
Вот последние подборки моих постов:
- Дайджест 07.09.2022—31.12.2022
- Дайджест 01.01.2023—31.03.2023
По ним можно понять мой стиль и примерную тематику.
Меня периодически спрашивают, что можно почитать по разработке, менеджменту и вообще. Я рассказывал, что использую методологию GTD, поэтому первая книжка будет о GTD :)
Книга Дэвида Аллена "Как привести дела в порядок"
Прежде всего, она научила меня «выгружать» из головы все свои мысли. Это вошло в привычку. Лучше тратить ментальную энергию на решение задач, а не на их хранение ;)
За один раз выписать все задачи невозможно. У меня этот процесс занял около 2 недель.
Далее все задачи укладываются в структуру. Уровень порядка можно выбрать в соответствии со своим чувством прекрасного. Все очень гибко.
Есть много других методик по тайм-менеджменту, но я убежден, что нужно знать «классику». А если она не подойдет, то продолжать поиски своей системы менеджмента задач.
#книги
Книга Дэвида Аллена "Как привести дела в порядок"
Прежде всего, она научила меня «выгружать» из головы все свои мысли. Это вошло в привычку. Лучше тратить ментальную энергию на решение задач, а не на их хранение ;)
За один раз выписать все задачи невозможно. У меня этот процесс занял около 2 недель.
Далее все задачи укладываются в структуру. Уровень порядка можно выбрать в соответствии со своим чувством прекрасного. Все очень гибко.
Есть много других методик по тайм-менеджменту, но я убежден, что нужно знать «классику». А если она не подойдет, то продолжать поиски своей системы менеджмента задач.
#книги
Представьте картину:
- технологический долг колоссальных размеров
- разработка замедляется
- сроки обновления продукта растягиваются
- любое изменение становится дорогим и порождает новые проблемы
- лучшие люди покидают команду
- и так по спирали дальше вниз...
Добро пожаловать в технологическое болото — кошмар техлида!
Жить в таком болотце — удовольствие не для слабонервных. Никому не пожелаю такой судьбы.
Осушить такое болотце будет непросто. Болотные баги — самые опасные и непредсказуемые. Большинство разработчиков не хотят с ними сталкиваться.
Обычно такие жуки плодятся очень быстро, и охотники-ловцы не успевают их уничтожать.
Если вы угодили в такое болото или сами довели свой проект до такого состояния (за это дизлайк!), то поможет только глобальная архитектурная чистка. Временными заплатками не обойтись.
Прежде всего, вся команда должна признать плачевность ситуации и вкладываться в перестройку технологической платформы — фундамента сервиса.
Обычно нельзя остановить продуктовую разработку, поэтому технологический трек будет идти параллельно. Главное, планомерно вкладывать усилия в погашение технологического долга.
Относитесь к технологическому долгу как к кредиту. Его можно взять, но всегда нужно отдавать. Кредит в ключевой части сервиса — высокие проценты. А технологическое болото по своей сути — это банкротство :)
Такая финансовая аналогия помогает объяснять менеджерам необходимость погашения техдолга. Даже если менеджеры технически не подкованы.
Забирайте эту аналогию в свой арсенал.
#разработка
- технологический долг колоссальных размеров
- разработка замедляется
- сроки обновления продукта растягиваются
- любое изменение становится дорогим и порождает новые проблемы
- лучшие люди покидают команду
- и так по спирали дальше вниз...
Добро пожаловать в технологическое болото — кошмар техлида!
Жить в таком болотце — удовольствие не для слабонервных. Никому не пожелаю такой судьбы.
Осушить такое болотце будет непросто. Болотные баги — самые опасные и непредсказуемые. Большинство разработчиков не хотят с ними сталкиваться.
Обычно такие жуки плодятся очень быстро, и охотники-ловцы не успевают их уничтожать.
Если вы угодили в такое болото или сами довели свой проект до такого состояния (за это дизлайк!), то поможет только глобальная архитектурная чистка. Временными заплатками не обойтись.
Прежде всего, вся команда должна признать плачевность ситуации и вкладываться в перестройку технологической платформы — фундамента сервиса.
Обычно нельзя остановить продуктовую разработку, поэтому технологический трек будет идти параллельно. Главное, планомерно вкладывать усилия в погашение технологического долга.
Относитесь к технологическому долгу как к кредиту. Его можно взять, но всегда нужно отдавать. Кредит в ключевой части сервиса — высокие проценты. А технологическое болото по своей сути — это банкротство :)
Такая финансовая аналогия помогает объяснять менеджерам необходимость погашения техдолга. Даже если менеджеры технически не подкованы.
Забирайте эту аналогию в свой арсенал.
#разработка
Когда у тебя очень много прав в продакшен окружении, даже небольшая опечатка может привести к катастрофе.
Обычное дежурство. Ответственный админ заметил, что один из серверов барахлит. Это обычное дело, и чаще всего его либо перезагружают, либо уводят с него нагрузку.
Админ выполнил команду и продолжил заниматься своими делами. Мониторинги "завыли" и засверкали как новогодняя елка.
В выполненной команде закралась небольшая опечатка, и админ вместо одного сервера перезагрузил целый кластер, состоящий из десятков серверов.
Сервера один за другим стали перезагружаться. Оставшиеся сервера не выдержали нагрузки, и сервис стал падать.
Самое страшное, что после перезагрузки не все сервера вернулись в строй. Пока админы реанимировали сервера вручную, часть наших пользователей испытывали неудобства.
Говорят, что после этого инцидента появилась защита от дурака. При запуске команды на кластере серверов необходимо вводить фразу «I know what I’m doing» :)
С большой силой приходит большая ответственность (с)
Мораль: когда выполняете потенциально деструктивные команды, перепроверяйте несколько раз и будьте внимательны.
#байки #инциденты
Обычное дежурство. Ответственный админ заметил, что один из серверов барахлит. Это обычное дело, и чаще всего его либо перезагружают, либо уводят с него нагрузку.
Админ выполнил команду и продолжил заниматься своими делами. Мониторинги "завыли" и засверкали как новогодняя елка.
В выполненной команде закралась небольшая опечатка, и админ вместо одного сервера перезагрузил целый кластер, состоящий из десятков серверов.
Сервера один за другим стали перезагружаться. Оставшиеся сервера не выдержали нагрузки, и сервис стал падать.
Самое страшное, что после перезагрузки не все сервера вернулись в строй. Пока админы реанимировали сервера вручную, часть наших пользователей испытывали неудобства.
Говорят, что после этого инцидента появилась защита от дурака. При запуске команды на кластере серверов необходимо вводить фразу «I know what I’m doing» :)
С большой силой приходит большая ответственность (с)
Мораль: когда выполняете потенциально деструктивные команды, перепроверяйте несколько раз и будьте внимательны.
#байки #инциденты
Хочу рассказать о нашей службе информационной безопасности (СИБ).
Начну с цитаты руководителя нашего СИБ:
> Информационная безопасность — это не "запретить, оторвать, не пустить, закрыть". Информационная безопасность — это "оценить, посоветовать, пояснить, поговорить, понять, предложить".
Этот принцип используется не только на словах, но и на деле. Подтверждаю на основе личного опыта.
СИБ не мешает запускать сервисы и не тормозит процесс. Мы всегда находим компромисс, чтобы соблюсти баланс между безопасностью и скоростью разработки.
Приказной тон не свойственен Яндексу. Просвещение и разъяснение — более надежный путь. Поэтому СИБ строит отношения с нами на доверии, а также вкладывается в обучение сотрудников.
Я расскажу в последующих постах о том, как наша СИБ проверяет текущий уровень безопасности и повышает осознанность сотрудников. Байки тоже будут, куда уж без них :)
#безопасность
Начну с цитаты руководителя нашего СИБ:
> Информационная безопасность — это не "запретить, оторвать, не пустить, закрыть". Информационная безопасность — это "оценить, посоветовать, пояснить, поговорить, понять, предложить".
Этот принцип используется не только на словах, но и на деле. Подтверждаю на основе личного опыта.
СИБ не мешает запускать сервисы и не тормозит процесс. Мы всегда находим компромисс, чтобы соблюсти баланс между безопасностью и скоростью разработки.
Приказной тон не свойственен Яндексу. Просвещение и разъяснение — более надежный путь. Поэтому СИБ строит отношения с нами на доверии, а также вкладывается в обучение сотрудников.
Я расскажу в последующих постах о том, как наша СИБ проверяет текущий уровень безопасности и повышает осознанность сотрудников. Байки тоже будут, куда уж без них :)
#безопасность
Наша служба безопасности — внутренняя команда хакеров. Она держит нас в тонусе, взламывая наши пароли.
Робот Marcus Brutus на ферме из нескольких GPU перебирает пароли и присылает сотрудникам «письма счастья» с просьбой сменить пароль. Он черпает знания из всевозможных внешних утечек, всегда помнит подобранные пароли конкретных пользователей и продолжает их мутировать.
Проскочить с
Один разработчик не поверил, что его пароль могли взломать.
— Подберите мой 8-значный пароль за разумное время и тогда уже утверждайте, что пароли легко подбирать.
Далее началась переписка про подбор пароля за 4к лет.
— Чтобы сэкономить время - первая буква твоего пароля A, вторая - ..., последняя - u.
Спор был закончен, и недоверчивый разработчик поменял пароль.
Мой 10-символьный пароль также успешно подобрали. Буквы разного регистра, цифры, спецсимволы, не human readable пароль. Безопасно? Отнюдь.
Я даже попытался обмануть систему:
- дописал к паролю цифру — письмо счастья
- вместо цифры дописал спецсимвол — письмо счастья
- дописал спецсимвол в начало и цифру в конец — письмо счастья
«Слишком много счастливых писем», — подумал я и сделал нормальный пароль. Но считает ли его нормальным наш СИБ, мы еще узнаем :)
#безопасность
Робот Marcus Brutus на ферме из нескольких GPU перебирает пароли и присылает сотрудникам «письма счастья» с просьбой сменить пароль. Он черпает знания из всевозможных внешних утечек, всегда помнит подобранные пароли конкретных пользователей и продолжает их мутировать.
Проскочить с
qwerty
и 123
не получится.Один разработчик не поверил, что его пароль могли взломать.
— Подберите мой 8-значный пароль за разумное время и тогда уже утверждайте, что пароли легко подбирать.
Далее началась переписка про подбор пароля за 4к лет.
— Чтобы сэкономить время - первая буква твоего пароля A, вторая - ..., последняя - u.
Спор был закончен, и недоверчивый разработчик поменял пароль.
Мой 10-символьный пароль также успешно подобрали. Буквы разного регистра, цифры, спецсимволы, не human readable пароль. Безопасно? Отнюдь.
Я даже попытался обмануть систему:
- дописал к паролю цифру — письмо счастья
- вместо цифры дописал спецсимвол — письмо счастья
- дописал спецсимвол в начало и цифру в конец — письмо счастья
«Слишком много счастливых писем», — подумал я и сделал нормальный пароль. Но считает ли его нормальным наш СИБ, мы еще узнаем :)
#безопасность
У меня должность — руководитель отдела. Как-то раз один из новых разработчиков задал мне вопрос: "А чем ты вообще занимаешься?" И это был очень правильный вопрос.
Неважно, что написано в должности. Важно, какие задачи решаешь.
Например, для себя я сформулировал следующие высокоуровневые задачи:
1. Выстраивать работу команды для повышения эффективности.
2. Улучшать текущую технологическую платформу для ускорения поставки новой функциональности без потери в качестве.
3. Быть связующим звеном между менеджментом и разработчиками.
Каждый из пунктов выше звучит очень абстрактно, и за каждым из них скрывается много булитов. Нельзя же раскрывать все карты сразу ;)
Я советую сформулировать список желаемых задач. Это станет ориентиром и помощью в построении карьеры.
Наш бывший CTO Миша Парахин в Microsoft руководил не отделом, а "всего лишь" группой. Но в его группе было больше 1000 человек, и задачи он решал соответствующие :)
#карьера
Неважно, что написано в должности. Важно, какие задачи решаешь.
Например, для себя я сформулировал следующие высокоуровневые задачи:
1. Выстраивать работу команды для повышения эффективности.
2. Улучшать текущую технологическую платформу для ускорения поставки новой функциональности без потери в качестве.
3. Быть связующим звеном между менеджментом и разработчиками.
Каждый из пунктов выше звучит очень абстрактно, и за каждым из них скрывается много булитов. Нельзя же раскрывать все карты сразу ;)
Я советую сформулировать список желаемых задач. Это станет ориентиром и помощью в построении карьеры.
Наш бывший CTO Миша Парахин в Microsoft руководил не отделом, а "всего лишь" группой. Но в его группе было больше 1000 человек, и задачи он решал соответствующие :)
#карьера