From cac69ec459f6ccbf85c4374f9e274ed121a7a402 Mon Sep 17 00:00:00 2001 From: classy-faker Date: Wed, 27 May 2020 09:58:52 +0300 Subject: [PATCH] Update developer-profile.md --- developer-profile.md | 110 +++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/developer-profile.md b/developer-profile.md index 4e77bf6..76b39b2 100644 --- a/developer-profile.md +++ b/developer-profile.md @@ -3,11 +3,11 @@ Профили инженеров нужны для того, чтобы оценивать коллег в соответствии с их уровнем на [performance review](https://github.com/avito-tech/playbook/blob/master/goal-setting.md#performance-review) и сделать продвижение по карьерной лестнице понятным и прозрачным. ## Карьерная лестница -Карьерная лестница - это возможный путь развития инженера в Авито в зависимости от того, какие задачи он решает, и какие основные скиллы при этом использует. +Карьерная лестница — это возможный путь развития инженера в Авито в зависимости от того, какие задачи он решает, и какие основные скиллы при этом использует. -Развиваться можно 2-мя путями: -- как инженер (IC, individual contributor), который делает работу преимущественно своими руками, высшая ступень -- как менеджер, который достигает результата через управление людьми или командами +Развиваться можно двумя путями: +- Как инженер (IC, individual contributor), который делает работу преимущественно своими руками, высшая ступень эволюции. +- Как менеджер, который достигает результата через управление людьми или командами. В настоящий момент у нас в Авито существуют такие уровни: - [Intern (стажёр)](https://github.com/avito-tech/playbook/blob/master/developer-profile.md#intern) @@ -36,30 +36,30 @@ ## Intern ### Экспертность -- Решает небольшие задачи из бэклога под руководством наставника -- Привлекает наставника для оценки потенциальных рисков +- Решает небольшие задачи из бэклога под руководством наставника. +- Привлекает наставника для оценки потенциальных рисков. ### Инженерная культура -- Изучает с наставником лучшие практики Авито, учится писать качественный код или тестировать используя существующие тестовые модели +- Изучает с наставником лучшие практики Авито, учится писать качественный код или тестировать используя существующие тестовые модели. ### Ответственность за результат -- При планировании работы синхронизирует конечную цель и ожидаемый результат с наставником +- При планировании работы синхронизирует конечную цель и ожидаемый результат с наставником. - Выполняет обещанное. Например, выполняет взятую задачу в срок или своевременно оповещает о проблеме, просит о помощи. -- Признает ошибки и берет ответственность за их исправление +- Признает ошибки и берет ответственность за их исправление. ### Ориентация на бизнес -- Выясняет цель и ценность выполнения задачи над которой он работает +- Выясняет цель и ценность выполнения задачи над которой он работает. ### Agile Mindset -- Вовлеченный участник всех процессов команды -- Адаптируется к изменениям процессов в команде/компании +- Вовлеченный участник всех процессов команды. +- Адаптируется к изменениям процессов в команде/компании. - Адаптируется к изменениям приоритетов/целей. -- Говорит о вещах, которые требуют улучшения и не «замалчивает» проблемы +- Говорит о вещах, которые требуют улучшения и не «замалчивает» проблемы. - Руководствуется принципом just talk. Понимает, что общение наиболее эффективный и практичный способ обмена информацией. ### Коммуникация - Уважает коллег. -- Гибок в общении - слышит коллег, учитывает их мнение. +- Гибок в общении — слышит коллег, учитывает их мнение. - Аргументирует свою точку зрения - Принимает решения учитывая интересы и потребности других людей даже когда они противоречат его собственным. @@ -73,12 +73,12 @@ ### Экспертность - Решает такие же задачи из бэклога как и middle инженеры. -- Оценивает потенциальные риски -- Привлекает наставника при необходимости +- Оценивает потенциальные риски. +- Привлекает наставника при необходимости. ### Инженерная культура - Улучшает свой код по замечаниям на code review. Не повторяет одинаковых ошибок. -- Вручную проверяет "зелёные сценарии", обработку ошибок. +- Вручную проверяет «зелёные сценарии», обработку ошибок. - Пишет авто-тесты на свой код, консультируется с наставником насчёт выбора оптимального способа проверки качества и безопасности задач. ### Ответственность за результат @@ -90,19 +90,19 @@ ### Ориентация на бизнес - Формирует с командой цель на спринт. Связывает её с целями юнита и компании на текущий квартал. -- Проводит обзор результатов работы фича-команды +- Проводит обзор результатов работы фича-команды. ### Agile Mindset -- Вовлеченный участник всех процессов команды -- Адаптируется к изменениям процессов в команде/компании +- Вовлеченный участник всех процессов команды. +- Адаптируется к изменениям процессов в команде/компании. - Адаптируется к изменениям приоритетов/целей. -- Говорит о вещах, которые требуют улучшения и не «замалчивает» проблемы +- Говорит о вещах, которые требуют улучшения и не «замалчивает» проблемы. - Руководствуется принципом just talk. Понимает, что общение наиболее эффективный и практичный способ обмена информацией. ### Коммуникация - Уважает коллег. -- Гибок в общении - слышит коллег, учитывает их мнение. -- Аргументирует свою точку зрения +- Гибок в общении — слышит коллег, учитывает их мнение. +- Аргументирует свою точку зрения. - Принимает решения учитывая интересы и потребности других людей даже когда они противоречат его собственным. ### Развитие себя и обучение других @@ -114,23 +114,23 @@ ## Middle ### Экспертность -- Самостоятельно решает задачи из бэклога -- Степень неопределённости невысокая (понятно что нужно сделать, может быть непонятно как). Работает с неопределённостью - проводит ресерчи, собирает информацию. +- Самостоятельно решает задачи из бэклога. +- Степень неопределённости невысокая (понятно что нужно сделать, может быть непонятно как). Работает с неопределённостью — проводит ресерчи, собирает информацию. - Самостоятельно оценивает риски в знакомом функционале. В незнакомом функционале привлекает эксперта для оценки рисков. - Анализирует возникающие проблемы, старается докопаться до сути и решить корневую проблему. Предлагает и продвигает превентивные решения для предотвращения рецидивов. - Тестирует нефункциональные требования или привлекает для этого экспертов. ### Инженерная культура - Проводит Code Review коллег, способствуя тому, чтобы вливаемый код соответствовал лучшим практикам Авито, был тестопригодным, безопасным и поддерживаемым. -- Пишет автотесты на свой код учитывая "пирамиду тестирования" команды. Систематически увеличивает покрытие кодовой базы автотестами. +- Пишет автотесты на свой код учитывая «пирамиду тестирования» команды. Систематически увеличивает покрытие кодовой базы автотестами. - Выбирает оптимальный способ проверки качества задач. Использует подходящие виды тестирования. - Находит баланс между скоростью разработки/тестирования и качеством. - При реализации или внедрении новых технических решений или подходов валидирует их с ответственными. - При решении своей задачи, улучшает общие инженерные инструменты компании или даёт конструктивный фидбек их владельцам. -- При разработке придерживается подходов KISS и DRY +- При разработке придерживается подходов KISS и DRY. - Устраняет/избегает распространенных уязвимостей безопасности (OWASP) при решении своих задач. - Проактивно консультируется с коллегами для выбора безопасных подходов к реализации разрабатываемой функциональности. -- При реализации задач добаляет необходимые метрики и мониторит их после релиза +- При реализации задач добаляет необходимые метрики и мониторит их после релиза. - Самостоятельно находит ответы на вопросы по техническим метрикам (например: какая нагрузка на мой сервис? какой 99й перцентиль времени ответа?) - Вместо долгой разработки создает или предлагает владельцу продукта MVP для проверки гипотезы или нового технического решения. @@ -138,35 +138,35 @@ - Берет ответственность за доставку задачи до пользователей. Выходит за рамки просто разработки/тестирования. На всех этапах следит за задачей и помогает её продвижению. Не использует оправдание «На моей машине работает и ОК». Сразу подсвечивает возникающие блокеры и предлагает варианты решения. ### Ориентация на бизнес -- При планировании работы знает на какие команды может повлиять задача и говорит об этом -- Регулярно интересуется фидбэком пользователей (читает user voice, отчёты поддержки, результаты пользовательских исследований, спрашивает у руководителя или продукт менеджера) и обсуждает с командой полученные инсайты -- Отслеживает прогресс по целям юнита/команды в течение квартала (вместе с командой) -- Декомпозирует крупные фичи на набор полезных инкрементов, которые можно релизить независимо (например user story) +- При планировании работы знает на какие команды может повлиять задача и говорит об этом. +- Регулярно интересуется фидбэком пользователей (читает user voice, отчёты поддержки, результаты пользовательских исследований, спрашивает у руководителя или продукт менеджера) и обсуждает с командой полученные инсайты. +- Отслеживает прогресс по целям юнита/команды в течение квартала (вместе с командой). +- Декомпозирует крупные фичи на набор полезных инкрементов, которые можно релизить независимо (например user story). - Самостоятельно находит ответы на простые вопросы по метрикам (Сколько подач в категории Запчасти совершают в среднем за день пользователи с Андроид?) ### Agile Mindset - Ставит успех команды выше личных целей. Например: -- Берёт на себя роль scrum-мастера или проводит scrum-встречи в его отсутствие -- При выборе задачи над которой будет работать выбирает ту которая приближает команду к результату, а не ту которая нравится -- T-shaping в соседние функции, которые нужны команде/компании +- Берёт на себя роль scrum-мастера или проводит scrum-встречи в его отсутствие. +- При выборе задачи над которой будет работать выбирает ту которая приближает команду к результату, а не ту которая нравится. +- T-shaping в соседние функции, которые нужны команде/компании. - Не говорит, что это работа менеджера, а моя только кодить. - Предлагает свою помощь коллегам, если видит что она нужна. - Анализирует как улучшить эффективность своей работы. Проводит разборы что было хорошо и что улучшить, выходит в действия. - Улучшает процессы в фича команде. Например: -- Систематизирует результаты ретроспектив и трекает выполнение договорённостей -- Проводит регулярные (например каждый спринт) или тематические (например по проекту или конкретной проблеме) ретроспективы. Ретроспектвы приводят к значимому улучшению рабочего процесса +- Систематизирует результаты ретроспектив и трекает выполнение договорённостей. +- Проводит регулярные (например каждый спринт) или тематические (например по проекту или конкретной проблеме) ретроспективы. Ретроспектвы приводят к значимому улучшению рабочего процесса. ### Коммуникация -- Не доводит разногласия до деструктивных конфликтов +- Не доводит разногласия до деструктивных конфликтов. - Если конфликт произошел-решает его, привлекая руководителя если нужно. - Презентует свои идеи и предложения и результаты на группу или аудиторию (выступления на общих встречах). -- Дает конструктивную и развивающую обратную связь, подкрепленную фактами +- Дает конструктивную и развивающую обратную связь, подкрепленную фактами. ### Развитие себя и обучение других - Планирует свое развитие с учетом планов развития продукта и ближайших целей команды. Например -- учит новые языки программирования (Go, Kotlin) на которые переходит компания -- изучает лучшие практики разработки и проектирования микросервисной архитектуры -- Следит за последними трендами в своей области технологий +- Учит новые языки программирования (Go, Kotlin) на которые переходит компания. +- Изучает лучшие практики разработки и проектирования микросервисной архитектуры. +- Следит за последними трендами в своей области технологий. - По итогам обучения отслеживает динамику развития по тем целям, которые поставил. - Проявляет терпение к тем, кто обладает меньшими знаниями, умениями и навыками. - Делится своей экспертизой внутри команды. @@ -201,18 +201,18 @@ ### Ориентация на бизнес - Ставит с командой цель (OKR) на квартал. Связывает её с целями юнита, кластера, компании. -- При проработке задач предлагает альтернативные способы проверки гипотез и технических решений, позволяющие получить данные быстрее/с меньшими затратами +- При проработке задач предлагает альтернативные способы проверки гипотез и технических решений, позволяющие получить данные быстрее/с меньшими затратами. - Делает базовые выводы по результатам проведенного исследования (например делает базовые выводы по а/б тестам: статистически значимый результат или нет; тест показывает плохие результаты на метриках, его нужно остановить). "Подсвечивает" найденные проблемы или успехи. - Исследует проблемы пользователей и помогает заказчику найти бизнес решение (например: участвует в дискавери спринтах в роли продукт менеджера). ### Agile Mindset -- Системно улучшает процессы в команде/юните +- Системно улучшает процессы в команде/юните. - Имеет видение целевой модели команды. Знает какой результат хочет получить. - Формирует план развития команды. Ведёт бэклог для достижения целевой модели команды. -- При поиске и решении проблем выходит за рамки фича-команды, ищет системные проблемы на уровне юнита +- При поиске и решении проблем выходит за рамки фича-команды, ищет системные проблемы на уровне юнита. ### Коммуникация -- Договаривается, используя стратегию "Win-Win" ("Сотрудничество"). +- Договаривается, используя стратегию "Win-Win" (Сотрудничество). - Во время обсуждений стимулирует высказывание различных точек зрения и использует их при формировании окончательного решения. ### Развитие себя и обучение других @@ -225,8 +225,8 @@ ### Экспертность - Придумывает, исследует и планирует развитие большого технического проекта. - Бэкэнд архитектура всего функционала BuyerX (serp, карточка, фильтры, рубрикатор, url builder) -- Архитектура мессенджера -- Привлечение краудсорсинга к тестированию +- Архитектура мессенджера. +- Привлечение краудсорсинга к тестированию. - Фрейморк для написания e2e & компонентных тестов, для снижения ручных проверок мобильных приложений и переводу запуска тестов ближе к разработчику. - Визионерство. Следит за глобальными технологическими трендами и может сделать прогноз с определённой долей вероятности. @@ -245,12 +245,12 @@ - Вместе с техническим руководителями формирует техническую стратегию кластера. ### Agile Mindset -- Системно улучшает процессы в кластере/компании +- Системно улучшает процессы в кластере/компании. - Проводит большие ретроспективы состоящие из нескольких юнитов или всего кластера. -- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации +- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации. ### Коммуникация -- Договаривается, используя стратегию "Win-Win" ("Сотрудничество"). +- Договаривается, используя стратегию "Win-Win" (Сотрудничество). - Во время обсуждений стимулирует высказывание различных точек зрения и использует их при формировании окончательного решения. ### Развитие себя и обучение других @@ -261,7 +261,7 @@ ### Экспертность - Создатель/мэйнтейнер систем/решений, которые влияют на уровне cообщества. Компания получает ощутимые конкурентные преимущества за счёт этого. -- Способен инициировать и реализовывать крупные инициативы уровня компании. Примеры: переход от монолитной архитектуры к микросервисной +- Способен инициировать и реализовывать крупные инициативы уровня компании. Примеры: переход от монолитной архитектуры к микросервисной. - Анализирует возникающие проблемы, старается докопаться до сути и решить корневую проблему. Предлагает и продвигает превентивные решения для предотвращения рецидивов. Отличается от Lead и Senior масштабом. Principal думает про весь Авито целиком целиком, а не про какую-то отдельную область. ### Инженерная культура @@ -279,12 +279,12 @@ - Вместе с техническим руководителями формирует техническую стратегию кластера. ### Agile Mindset -- Системно улучшает процессы в кластере/компании +- Системно улучшает процессы в кластере/компании. - Проводит большие ретроспективы состоящие из нескольких юнитов или всего кластера. -- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации +- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации. ### Коммуникация -- Договаривается, используя стратегию "Win-Win" ("Сотрудничество"). +- Договаривается, используя стратегию "Win-Win" (Сотрудничество). - Во время обсуждений стимулирует высказывание различных точек зрения и использует их при формировании окончательного решения. ### Развитие себя и обучение других