Update developer-profile.md

This commit is contained in:
classy-faker
2020-05-27 09:58:52 +03:00
committed by GitHub
parent 8cb2684075
commit cac69ec459

View File

@@ -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" (Сотрудничество).
- Во время обсуждений стимулирует высказывание различных точек зрения и использует их при формировании окончательного решения.
### Развитие себя и обучение других