From 7b9d08e1e7c3080c579a1d16a4c027c21f66d5ae Mon Sep 17 00:00:00 2001 From: Alyona Lapko <75794045+lapkoa@users.noreply.github.com> Date: Wed, 24 Mar 2021 13:57:29 +0300 Subject: [PATCH] Update developer-profile.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Некоторые правки по грамматике и пунктуации. Обновлений по смыслу не вносила. --- developer-profile.md | 112 +++++++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/developer-profile.md b/developer-profile.md index dd72d18..04a5659 100644 --- a/developer-profile.md +++ b/developer-profile.md @@ -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 - Системно улучшает процессы в кластере/компании. -- Проводит большие ретроспективы состоящие из нескольких юнитов или всего кластера. +- Проводит большие ретроспективы на несколько юнитов или весь кластер. - При поиске и решении проблем выходит за рамки команды/юнита, ищет системные проблемы на уровне кластера/организации. ### Коммуникация