Update developer-profile.md

Некоторые правки по грамматике и пунктуации. Обновлений по смыслу не вносила.
This commit is contained in:
Alyona Lapko
2021-03-24 13:57:29 +03:00
committed by GitHub
parent 60b014e516
commit 7b9d08e1e7

View File

@@ -31,7 +31,7 @@
## Как работают профили инженеров
- Ожидания каждого следующего уровня добавляются к ожиданиям предыдущих. Например senior должны уметь делать всё тоже самое что и intern, junior и middle.
- Сотрудник обязательно должен проявить навыки и компетенции своего или следующего профиля на деле. Просто уметь или хотеть делать не достаточно.
- Если менеджер считает, что в команде нет и не будет бизнес необходимости делать что-то, что описано в профиле, например выступать на конференции или обучать новичков, то эти критерии можно не учитывать.
- Если менеджер считает, что в команде нет и не будет бизнес необходимости делать что-то, что описано в профиле, например, выступать на конференции или обучать новичков, то эти критерии можно не учитывать.
## Intern
@@ -40,7 +40,7 @@
- Привлекает наставника для оценки потенциальных рисков.
### Инженерная культура
- Изучает с наставником лучшие практики Авито, учится писать качественный код или тестировать используя существующие тестовые модели.
- Изучает с наставником лучшие практики Авито, учится писать качественный код или тестировать, используя существующие тестовые модели.
### Ответственность за результат
- При планировании работы синхронизирует конечную цель и ожидаемый результат с наставником.
@@ -48,7 +48,7 @@
- Признает ошибки и берет ответственность за их исправление.
### Ориентация на бизнес
- Выясняет цель и ценность выполнения задачи над которой он работает.
- Выясняет цель и ценность выполнения задачи, над которой он работает.
### Agile Mindset
- Вовлеченный участник всех процессов команды.
@@ -60,8 +60,8 @@
### Коммуникация
- Уважает коллег.
- Гибок в общении — слышит коллег, учитывает их мнение.
- Аргументирует свою точку зрения
- Принимает решения учитывая интересы и потребности других людей, даже когда они противоречат его собственным.
- Аргументирует свою точку зрения.
- Принимает решения, учитывая интересы и потребности других людей, даже когда они противоречат его собственным.
### Развитие себя и обучение других
- Делает выводы для себя на основе обратной связи.
@@ -82,11 +82,11 @@
- Пишет авто-тесты на свой код, консультируется с наставником насчёт выбора оптимального способа проверки качества и безопасности задач.
### Ответственность за результат
- При планировании работы согласует с автором/командой:
- как поймём, что задача успешно выполнена? (acceptance criteria)
- как будет проверена работоспособность?
- как результат будет продемонстрирован?
- когда задача будет выполнена?
При планировании работы согласует с автором/командой:
- как поймём, что задача успешно выполнена? (acceptance criteria)
- как будет проверена работоспособность?
- как результат будет продемонстрирован?
- когда задача будет выполнена?
### Ориентация на бизнес
- Формирует с командой цель на спринт. Связывает её с целями юнита и компании на текущий квартал.
@@ -103,7 +103,7 @@
- Уважает коллег.
- Гибок в общении — слышит коллег, учитывает их мнение.
- Аргументирует свою точку зрения.
- Принимает решения учитывая интересы и потребности других людей даже когда они противоречат его собственным.
- Принимает решения, учитывая интересы и потребности других людей, даже когда они противоречат его собственным.
### Развитие себя и обучение других
- Делает выводы для себя на основе обратной связи.
@@ -115,18 +115,18 @@
### Экспертность
- Самостоятельно решает задачи из бэклога.
- Степень неопределённости невысокая (понятно что нужно сделать, может быть непонятно как). Работает с неопределённостью — проводит ресерчи, собирает информацию.
- Степень неопределённости невысокая (понятно, что нужно сделать, может быть непонятно как). Работает с неопределённостью — проводит ресерчи, собирает информацию.
- Самостоятельно оценивает риски в знакомом функционале. В незнакомом функционале привлекает эксперта для оценки рисков.
- Анализирует возникающие проблемы, старается докопаться до сути и решить корневую проблему. Предлагает и продвигает превентивные решения для предотвращения рецидивов.
- Тестирует нефункциональные требования или привлекает для этого экспертов.
### Инженерная культура
- Проводит Code Review коллег, способствуя тому, чтобы вливаемый код соответствовал лучшим практикам Авито, был тестопригодным, безопасным и поддерживаемым.
- Пишет автотесты на свой код учитывая «пирамиду тестирования» команды. Систематически увеличивает покрытие кодовой базы автотестами.
- Пишет автотесты на свой код, учитывая «пирамиду тестирования» команды. Систематически увеличивает покрытие кодовой базы автотестами.
- Выбирает оптимальный способ проверки качества задач. Использует подходящие виды тестирования.
- Находит баланс между скоростью разработки/тестирования и качеством.
- При реализации или внедрении новых технических решений или подходов валидирует их с ответственными.
- При решении своей задачи, улучшает общие инженерные инструменты компании или даёт конструктивный фидбек их владельцам.
- При реализации или внедрении новых технических решений и подходов валидирует их с ответственными.
- При решении своей задачи улучшает общие инженерные инструменты компании или даёт конструктивный фидбек их владельцам.
- При разработке придерживается подходов KISS и DRY.
- Устраняет/избегает распространенных уязвимостей безопасности (OWASP) при решении своих задач.
- Проактивно консультируется с коллегами для выбора безопасных подходов к реализации разрабатываемой функциональности.
@@ -138,76 +138,76 @@
- Берет ответственность за доставку задачи до пользователей. Выходит за рамки просто разработки/тестирования. На всех этапах следит за задачей и помогает её продвижению. Не использует оправдание «На моей машине работает и ОК». Сразу подсвечивает возникающие блокеры и предлагает варианты решения.
### Ориентация на бизнес
- При планировании работы знает на какие команды может повлиять задача и говорит об этом.
- При планировании работы знает, на какие команды может повлиять задача и говорит об этом.
- Регулярно интересуется фидбэком пользователей (читает user voice, отчёты поддержки, результаты пользовательских исследований, спрашивает у руководителя или продукт менеджера) и обсуждает с командой полученные инсайты.
- Отслеживает прогресс по целям юнита/команды в течение квартала (вместе с командой).
- Декомпозирует крупные фичи на набор полезных инкрементов, которые можно релизить независимо (например user story).
- Самостоятельно находит ответы на простые вопросы по метрикам (Сколько подач в категории Запчасти совершают в среднем за день пользователи с Андроид?)
### Agile Mindset
- Ставит успех команды выше личных целей. Например:
- Берёт на себя роль scrum-мастера или проводит scrum-встречи в его отсутствие.
- При выборе задачи над которой будет работать выбирает ту которая приближает команду к результату, а не ту которая нравится.
- T-shaping в соседние функции, которые нужны команде/компании.
- Не говорит, что это работа менеджера, а моя только кодить.
- Предлагает свою помощь коллегам, если видит что она нужна.
- Анализирует как улучшить эффективность своей работы. Проводит разборы что было хорошо и что улучшить, выходит в действия.
- Улучшает процессы в фича команде. Например:
- Систематизирует результаты ретроспектив и трекает выполнение договорённостей.
- Проводит регулярные (например каждый спринт) или тематические (например по проекту или конкретной проблеме) ретроспективы. Ретроспектвы приводят к значимому улучшению рабочего процесса.
Ставит успех команды выше личных целей. Например:
- Берёт на себя роль scrum-мастера или проводит scrum-встречи в его отсутствие.
- При выборе задачи, над которой будет работать, выбирает ту, которая приближает команду к результату, а не ту, которая нравится.
- T-shaping в соседние функции, которые нужны команде/компании.
- Не говорит, что это работа менеджера, а моя только кодить.
- Предлагает свою помощь коллегам, если видит, что она нужна.
- Анализирует, как улучшить эффективность своей работы. Проводит разборы что было хорошо и что улучшить, выходит в действия.
Улучшает процессы в фича команде. Например:
- Систематизирует результаты ретроспектив и трекает выполнение договорённостей.
- Проводит регулярные (например, каждый спринт) или тематические (например, по проекту или конкретной проблеме) ретроспективы. Ретроспектвы приводят к значимому улучшению рабочего процесса.
### Коммуникация
- Не доводит разногласия до деструктивных конфликтов.
- Если конфликт произошел-решает его, привлекая руководителя если нужно.
- Презентует свои идеи и предложения и результаты на группу или аудиторию (выступления на общих встречах).
- Если конфликт произошел - решает его, привлекая руководителя, если необходимо.
- Презентует свои идеи, предложения и результаты на группу или аудиторию (выступления на общих встречах).
- Дает конструктивную и развивающую обратную связь, подкрепленную фактами.
### Развитие себя и обучение других
- Планирует свое развитие с учетом планов развития продукта и ближайших целей команды. Например
- Учит новые языки программирования (Go, Kotlin) на которые переходит компания.
Планирует свое развитие с учетом планов развития продукта и ближайших целей команды. Например:
- Учит новые языки программирования (Go, Kotlin), на которые переходит компания.
- Изучает лучшие практики разработки и проектирования микросервисной архитектуры.
- Следит за последними трендами в своей области технологий.
- По итогам обучения отслеживает динамику развития по тем целям, которые поставил.
- Проявляет терпение к тем, кто обладает меньшими знаниями, умениями и навыками.
- Делится своей экспертизой внутри команды.
- Онбордит новичков
- Онбордит новичков.
## Senior
### Экспертность
- Степень неопределённости высокая. Непонятно что нужно сделать (нет образа результата). Берёт проблему, проводит исследование, сравнивает альтернативы и предлагает решение. Спектр решений широкий и заранее неопределенный. Примеры проблем:
- Приложение должно работать быстрее конкурентов.
- Что нам нужно сделать для автоматического заполнения параметров объявления на основе технических характеристик?
- Как протестировать сервис прайсинга или item storage?
- При принятии решений анализирует и минимизирует возможные риски и негативные последствия. Например
- При проектировании тестовой модели учитывает как работает Авито в целом.
- При добавлении нового сервиса/метода в цепочку вызовов анализирует как это скажется на общем времени ответа.
- Cовместно с командой реализует проекты в максимально короткие сроки, заботится об уменьшении time to market
- Ведёт технический бэклог и/или дорожную карту (roadmap) команды/юнита/проекта
Степень неопределённости высокая. Непонятно, что нужно сделать (нет образа результата). Берёт проблему, проводит исследование, сравнивает альтернативы и предлагает решение. Спектр решений широкий и заранее неопределенный. Примеры проблем:
- Приложение должно работать быстрее конкурентов.
- Что нам нужно сделать для автоматического заполнения параметров объявления на основе технических характеристик?
- Как протестировать сервис прайсинга или item storage?
При принятии решений анализирует и минимизирует возможные риски и негативные последствия. Например:
- При проектировании тестовой модели учитывает, как работает Авито в целом.
- При добавлении нового сервиса/метода в цепочку вызовов анализирует, как это скажется на общем времени ответа.
- Cовместно с командой реализует проекты в максимально короткие сроки, заботится об уменьшении time to market.
- Ведёт технический бэклог и/или дорожную карту (roadmap) команды/юнита/проекта.
- Разрабатывает стандарты качества кода, тестирования, безопасности, отказоустойчивости и других NFR (Non-functional requirements), а также занимается внедрением/улучшением соответствующих процессов и инструментов.
### Инженерная культура
- Проактивно ищет неэффективные места в коде/архитектуре/тестовых моделях. Пополняет технический бэклог команды и доносит до владельца бэклога ценность технических изменений.
- При примении новых технологий в рамках своей задачи критически оценивает их пользу и применимость в юните.
- При проектировании больших или высоконагруженных систем проводит защиту на Архитектурном Комитете
- Системно контролирует количество технического долга. Может его оценить. Не допускает ситуации, когда он начнёт тормозить процесс разработки и начнёт мешать вносить изменения.
- При проектировании больших или высоконагруженных систем проводит защиту на Архитектурном Комитете.
- Системно контролирует количество технического долга. Может его оценить. Не допускает ситуации, когда он начнёт тормозить процесс разработки и мешать вносить изменения.
- В рамках Code Review и в процессе выполнения своих задач выявляет небезопасные подходы и/или уязвимости
- Знает и выбирает изначально безопасные подходы к реализации разрабатываемой им и командой функциональности.
### Ответственность за результат
- Берёт ответственность не только за себя, но и за работу других в рамках своей задачи/проекта (отвечает за проект).
- Работает над небольшими проектами размером до 1 квартала.
- Как технический владелец проекта планирует и согласовывает работу над ним других членов команды или внешних экспертов.
- Как технический владелец проекта, планирует и согласовывает работу над ним других членов команды или внешних экспертов.
### Ориентация на бизнес
- Ставит с командой цель (OKR) на квартал. Связывает её с целями юнита, кластера, компании.
- При проработке задач предлагает альтернативные способы проверки гипотез и технических решений, позволяющие получить данные быстрее/с меньшими затратами.
- Делает базовые выводы по результатам проведенного исследования (например делает базовые выводы по а/б тестам: статистически значимый результат или нет; тест показывает плохие результаты на метриках, его нужно остановить). "Подсвечивает" найденные проблемы или успехи.
- Исследует проблемы пользователей и помогает заказчику найти бизнес решение (например: участвует в дискавери спринтах в роли продукт менеджера).
- Делает базовые выводы по результатам проведенного исследования (например, делает базовые выводы по а/б тестам: статистически значимый результат или нет; тест показывает плохие результаты на метриках, его нужно остановить). "Подсвечивает" найденные проблемы или успехи.
- Исследует проблемы пользователей и помогает заказчику найти бизнес решение (например, участвует в дискавери спринтах в роли продакт-менеджера).
### Agile Mindset
- Системно улучшает процессы в команде/юните.
- Имеет видение целевой модели команды. Знает какой результат хочет получить.
- Имеет видение целевой модели команды. Знает, какой результат хочет получить.
- Формирует план развития команды. Ведёт бэклог для достижения целевой модели команды.
- При поиске и решении проблем выходит за рамки фича-команды, ищет системные проблемы на уровне юнита.
@@ -224,10 +224,10 @@
### Экспертность
- Придумывает, исследует и планирует развитие большого технического проекта.
- Бэкэнд архитектура всего функционала BuyerX (serp, карточка, фильтры, рубрикатор, url builder)
- Архитектура мессенджера.
- Привлечение краудсорсинга к тестированию.
- Фрейморк для написания e2e & компонентных тестов, для снижения ручных проверок мобильных приложений и переводу запуска тестов ближе к разработчику.
- Бэкэнд архитектура всего функционала BuyerX (serp, карточка, фильтры, рубрикатор, url builder).
- Архитектура мессенджера.
- Привлечение краудсорсинга к тестированию.
- Фрейморк для написания e2e & компонентных тестов, для снижения ручных проверок мобильных приложений и перевода запуска тестов ближе к разработчику.
- Визионерство. Следит за глобальными технологическими трендами и может сделать прогноз с определённой долей вероятности.
### Инженерная культура
@@ -235,7 +235,7 @@
### Ответственность за результат
- Работает над средними проектами размером в 2-4 квартала.
- Как технический владелец проекта планирует и согласовывает работу над ним других команд/юнитов или внешних экспертов.
- Как технический владелец проекта, планирует и согласовывает работу над ним других команд/юнитов или внешних экспертов.
### Ориентация на бизнес
- Находит технические проблемы, мешающие бизнесу развиваться сейчас или грозящие в ближайшем будущем.
@@ -246,7 +246,7 @@
### Agile Mindset
- Системно улучшает процессы в кластере/компании.
- Проводит большие ретроспективы состоящие из нескольких юнитов или всего кластера.
- Проводит большие ретроспективы для нескольких юнитов или всего кластера.
- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации.
### Коммуникация
@@ -260,8 +260,8 @@
## Principal
### Экспертность
- Создатель/мэйнтейнер систем/решений, которые влияют на уровне cообщества. Компания получает ощутимые конкурентные преимущества за счёт этого.
- Способен инициировать и реализовывать крупные инициативы уровня компании. Примеры: переход от монолитной архитектуры к микросервисной.
- Создатель/мэйнтейнер систем/решений, которые влияют на уровне cообщества. Компания получает ощутимые конкурентные преимущества засчёт этой деятельности.
- Способен запускать и реализовывать крупные инициативы на уровне компании. Примеры: переход от монолитной архитектуры к микросервисной.
- Анализирует возникающие проблемы, старается докопаться до сути и решить корневую проблему. Предлагает и продвигает превентивные решения для предотвращения рецидивов. Отличается от Lead и Senior масштабом. Principal думает про весь Авито целиком, а не про какую-то отдельную область.
### Инженерная культура
@@ -269,7 +269,7 @@
### Ответственность за результат
- Работает над большими проектами размером в 1 год или больше.
- Как технический владелец проекта планирует и согласовывает работу над ним других юнитов/кластеров или внешних экспертов.
- Как технический владелец проекта, планирует и согласовывает работу над ним других юнитов/кластеров или внешних экспертов.
### Ориентация на бизнес
- Находит технические проблемы, мешающие бизнесу развиваться сейчас или грозящие в ближайшем будущем.
@@ -280,7 +280,7 @@
### Agile Mindset
- Системно улучшает процессы в кластере/компании.
- Проводит большие ретроспективы состоящие из нескольких юнитов или всего кластера.
- Проводит большие ретроспективы на несколько юнитов или весь кластер.
- При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации.
### Коммуникация