- вынес профили в отдельный каталог (#110)

- исправил ошибки разметки во всех документах
This commit is contained in:
Aleksandr
2025-06-18 21:25:09 +05:00
committed by GitHub
parent a0fdb68455
commit 0f599e23c2
14 changed files with 54 additions and 60 deletions

View File

@@ -21,13 +21,13 @@
Работу с LSR в Авито начали в 2017 году. Процесс несколько раз менялся, и сейчас выглядит так: Работу с LSR в Авито начали в 2017 году. Процесс несколько раз менялся, и сейчас выглядит так:
1. Когда возникает проблема, дежурные видят её в системе мониторинга. 1. Когда возникает проблема, дежурные видят её в системе мониторинга.
1. Дежурные сами чинят проблему или привлекают ответственных от команд. 2. Дежурные сами чинят проблему или привлекают ответственных от команд.
1. Автоматика фиксирует в Jira продолжительность инцидента, затронутую функциональность и недополученную прибыль. Это называется Auto LSR. 3. Автоматика фиксирует в Jira продолжительность инцидента, затронутую функциональность и недополученную прибыль. Это называется Auto LSR.
1. Автоматика же отмечает критичность инцидента в случае больших финансовых потерь или большого количества жалоб от пользователей. 4. Автоматика же отмечает критичность инцидента в случае больших финансовых потерь или большого количества жалоб от пользователей.
1. Мы заводим постмортем тикет в Jira c описанием проблемы, которая вызвала инцидент, если такого еще нет. К нему линкуются Auto LSR. 5. Мы заводим постмортем тикет в Jira c описанием проблемы, которая вызвала инцидент, если такого еще нет. К нему линкуются Auto LSR.
1. Проводим встречу с командой и экспертами и детально разбираем проблему. 6. Проводим встречу с командой и экспертами и детально разбираем проблему.
1. Выполняем все нужные действия по предотвращению подобных инцидентов в будущем. 7. Выполняем все нужные действия по предотвращению подобных инцидентов в будущем.
1. Закрываем тикет и дополняем базу знаний. 8. Закрываем тикет и дополняем базу знаний.
Простые и понятные проблемы мы разбираем внутри команд или в слак-чатиках. А кросс-командные встречи проводим для серьёзных и бизнес-критичных проблем: инфраструктурных, процессных и тех, которые затронули сразу несколько команд. Встречи открытые, их анонс мы публикуем в отдельном канале, и прийти на них может любой человек в компании. Простые и понятные проблемы мы разбираем внутри команд или в слак-чатиках. А кросс-командные встречи проводим для серьёзных и бизнес-критичных проблем: инфраструктурных, процессных и тех, которые затронули сразу несколько команд. Встречи открытые, их анонс мы публикуем в отдельном канале, и прийти на них может любой человек в компании.

View File

@@ -14,19 +14,20 @@
## Краткое руководство ## Краткое руководство
Правило | Руководство к действию | Правило | Руководство к действию |
------------- | ------------- |---------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
Правило бойскаута | Оставь код репозитория лучше, чем он был до твоего прихода. | Правило бойскаута | Оставь код репозитория лучше, чем он был до твоего прихода. |
Куда хочешь, туда и пушь | Делать PR можно в любой репозиторий, если это не запрещено внутренними политиками безопасности или соответствиями внешним стандартам. | Куда хочешь, туда и пушь | Делать PR можно в любой репозиторий, если это не запрещено внутренними политиками безопасности или соответствиями внешним стандартам. |
В чужой код со своим уставом не лезь | У команд есть Coding Standard и политика Code Review. Нужно использовать Coding Standard команды, которая владеет кодом. Если Code Standard в команде отсутствует — подсвети проблему оунеру. | В чужой код со своим уставом не лезь | У команд есть Coding Standard и политика Code Review. Нужно использовать Coding Standard команды, которая владеет кодом. Если Code Standard в команде отсутствует — подсвети проблему оунеру. |
Запушил в чужой код, не мёржь без согласия владельца | Следуем политике Code Review команды, которая владеет кодом. | Запушил в чужой код, не мёржь без согласия владельца | Следуем политике Code Review команды, которая владеет кодом. |
Написал новый код, напиши и тесты | Тесты качественные и являются частью документации. | Написал новый код, напиши и тесты | Тесты качественные и являются частью документации. |
Написал новый код, а тесты не упали? Проверь и исправь тесты | Покрываем тестами так, что баг ломает тесты. Если логику поломали, а тесты «зеленые», значит их надо исправлять. Исправляет CODE OWNER, который владеет этим функционалом. | Написал новый код, а тесты не упали? Проверь и исправь тесты | Покрываем тестами так, что баг ломает тесты. Если логику поломали, а тесты «зеленые», значит их надо исправлять. Исправляет CODE OWNER, который владеет этим функционалом. |
Кто сломал, тот и чинит | Кто сломал автотесты, уронил метрики или удалил логирование, тот их и исправляет. | Кто сломал, тот и чинит | Кто сломал автотесты, уронил метрики или удалил логирование, тот их и исправляет. |
Отклоняешь на ревью, аргументируй | Оунер репозитория не может отклонить пулл-реквест без четкого объяснения причин с аргументами. | Отклоняешь на ревью, аргументируй | Оунер репозитория не может отклонить пулл-реквест без четкого объяснения причин с аргументами. |
Пришел тикет на ревью? Проведи его сегодня, не откладывай на завтра | Code Review должно проходить не позже, чем на следующий день. | Пришел тикет на ревью? Проведи его сегодня, не откладывай на завтра | Code Review должно проходить не позже, чем на следующий день. |
Если сломали твой код, а ты не узнал сам виноват | Используешь соседнее API, напиши тест, который его проверяет и скажет, что это затронуло ваш юнит. Команда — оунер результата. Всегда мониторим зависимости, которые могут поломать сервис. | Если сломали твой код, а ты не узнал сам виноват | Используешь соседнее API, напиши тест, который его проверяет и скажет, что это затронуло ваш юнит. Команда — оунер результата. Всегда мониторим зависимости, которые могут поломать сервис. |
Владеешь кодом отвечаешь за его тесты и метрики | Оунишь репозиторий — покрой тестами, метриками и необходимым логированием. | Владеешь кодом отвечаешь за его тесты и метрики | Оунишь репозиторий — покрой тестами, метриками и необходимым логированием. |
*** ***
## Правила внесения изменений в чужой функционал ## Правила внесения изменений в чужой функционал

View File

@@ -18,22 +18,21 @@
# Авито в цифрах # Авито в цифрах
| `Показатель` | `Значение` | | `Показатель` | `Значение` |
|:---|:---| |:------------------------------|:--------------------------------------|
Всего сотрудников Авито | 11000+ человек | Всего сотрудников Авито | 11000+ человек |
Команда разработки | 2700+ человек | Команда разработки | 2700+ человек |
Средний возраст сотрудников | 30 лет | Средний возраст сотрудников | 30 лет |
Количество серверов | 2500+ | Количество серверов | 2500+ |
RPS к бэкенду | 96 000 | RPS к бэкенду | 96 000 |
MAU | 50 миллионов человек | MAU | 50 миллионов человек |
Доля пользователей приложений | 78% | Доля пользователей приложений | 78% |
Релизов изменений | 200-250 в день | Релизов изменений | 200-250 в день |
Команд разработки | 200+ | Команд разработки | 200+ |
Активных объявлений | 237 миллионов | Активных объявлений | 237 миллионов |
Модерация | 15 миллионов версий объявлений в день | Модерация | 15 миллионов версий объявлений в день |
Сделок в секунду | 10 | Сделок в секунду | 10 |
Картинок в хранилище | 32 миллиарда | Картинок в хранилище | 32 миллиарда |
# Состав репозитория Авито playbook # Состав репозитория Авито playbook
@@ -71,16 +70,16 @@ MAU | 50 миллионов человек
### Экспертный трек ### Экспертный трек
- [Инженеры](developer-profile.md) - [Инженеры](profiles/developer-skills.md)
- [Аналитики](analytics-levels.md) - [Аналитики](profiles/analytics-skills.md)
- [QA-инженеры](QA-profile.md) - [QA-инженеры](profiles/qa-skills.md)
- [DS-инженеры](ds-skills.md) - [DS-инженеры](profiles/ds-skills.md)
### Менеджерский трек ### Менеджерский трек
- [Технические менеджеры (лиды)](techlead-profile.md) - [Технические менеджеры (лиды)](profiles/tech-managers.md)
- [Аналитики](analytics-management.md) - [Аналитики](profiles/analytics-managers.md)
- [Продакт менеджеры](product-levels.md) - [Продакт менеджеры](product-levels.md)
- [Руководители дизайна](design-management.md) - [Руководители дизайна](profiles/design-managers.md)
- [DS-менеджеры](ds-managers-profiles.md) - [DS-менеджеры](profiles/ds-managers.md)

View File

@@ -30,14 +30,11 @@
В секции мы даём кандидату практическую задачу. Это может быть как абстрактная задача «давай спроектируем Авито», так и задача с условиями, специфичными для команды. Например, «давай спроектируем платформу виджетов используя фреймворк Vue JS», «давай спроектируем PaaS». В секции мы даём кандидату практическую задачу. Это может быть как абстрактная задача «давай спроектируем Авито», так и задача с условиями, специфичными для команды. Например, «давай спроектируем платформу виджетов используя фреймворк Vue JS», «давай спроектируем PaaS».
### Секции для QA-инженеров ### Секции для QA-инженеров
**Секция 1. Тестирование.** На этой секции мы проверяем ключевые навыки кандидата в обеспечении качества: составлении тестов и организации процесса тестирования. **Секция 1. Тестирование.** На этой секции мы проверяем ключевые навыки кандидата в обеспечении качества: составлении тестов и организации процесса тестирования.
Даём две простых задачи на тест-дизайн и одну развёрнутую на тестирование новой фичи. Здесь мы смотрим, как кандидат комплексно подходит к тестированию новой функциональности. Даём две простых задачи на тест-дизайн и одну развёрнутую на тестирование новой фичи. Здесь мы смотрим, как кандидат комплексно подходит к тестированию новой функциональности.
**Секция 2. Автоматизация.** На этой секции проверяем знания кандидата по автоматизации тестирования: когда и что нужно автоматизировать, как разрабатывать тесты, просто написание кода. Секция содержит небольшую часть теоретических вопросов. Большая часть времени отводится на решение практических задач. **Секция 2. Автоматизация.** На этой секции проверяем знания кандидата по автоматизации тестирования: когда и что нужно автоматизировать, как разрабатывать тесты, просто написание кода. Секция содержит небольшую часть теоретических вопросов. Большая часть времени отводится на решение практических задач.
## Этап 3. Финальное интервью ## Этап 3. Финальное интервью
- Формат: 1 час в Zoom. - Формат: 1 час в Zoom.
- Участники: кандидат, нанимающий менеджер, рекрутер. - Участники: кандидат, нанимающий менеджер, рекрутер.
- Оцениваются: мотивация, soft skills, culture fit. - Оцениваются: мотивация, soft skills, culture fit.
@@ -73,15 +70,12 @@
- Корпоративная библиотека. - Корпоративная библиотека.
## Обстановка ## Обстановка
<p align="center">
![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_002.jpg) ![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_002.jpg)
![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_246.jpg) ![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_246.jpg)
![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_391.jpg) ![](https://github.com/lapkoa/Images/blob/6df140573355a495736ff00c38153b8e55704eb4/Photo_391.jpg)
![](https://github.com/lapkoa/Images/blob/b0bf6e6802fa53936ec9dfba95a4ba99f14e4496/Photo_345.jpg) ![](https://github.com/lapkoa/Images/blob/b0bf6e6802fa53936ec9dfba95a4ba99f14e4496/Photo_345.jpg)
![](https://github.com/lapkoa/Images/blob/3c12e9e02ef2d1ef875ffc14e2b771a053879fbd/Photo_349.jpg) ![](https://github.com/lapkoa/Images/blob/3c12e9e02ef2d1ef875ffc14e2b771a053879fbd/Photo_349.jpg)
![](https://github.com/lapkoa/Images/blob/3c12e9e02ef2d1ef875ffc14e2b771a053879fbd/Photo_372.jpg) ![](https://github.com/lapkoa/Images/blob/3c12e9e02ef2d1ef875ffc14e2b771a053879fbd/Photo_372.jpg)
</p>
[На нашем Хабре](https://habr.com/company/avito/blog/335896/) можно посмотреть большой фоторепортаж из офиса Авито. [На нашем Хабре](https://habr.com/company/avito/blog/335896/) можно посмотреть большой фоторепортаж из офиса Авито.

20
spt.md
View File

@@ -6,11 +6,11 @@
## Типы задач ## Типы задач
Обращения пользователей приходят из HelpDesk, соцсетей, магазинов приложений, от клиентских менеджеров и других каналов. Обращения мы делим на три типа задач: Обращения пользователей приходят из HelpDesk, соцсетей, магазинов приложений, от клиентских менеджеров и других каналов. Обращения мы делим на три типа задач:
Тип задачи | Описание | Тип задачи | Описание |
------------- | ------------- |-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Bug (баг) | Ошибка из-за которой Авито работает не так, как должен. Например, пользователь не может опубликовать объявление или оплатить услугу. | Bug (баг) | Ошибка из-за которой Авито работает не так, как должен. Например, пользователь не может опубликовать объявление или оплатить услугу. |
| Crash (крэш) | Непредвиденное завершение работы приложения Авито на iOS или Android. | Crash (крэш) | Непредвиденное завершение работы приложения Авито на iOS или Android. |
| Feature (фичареквест) | Просьба пользователя добавить новую функциональность на сайт или в приложение. Например, пожелание добавить в фильтры породу вельш-корги. </br> </br>К этому же типу задач относятся багофичи. Это когда мы изначально завели обращение с типом «баг», но на деле ошибки нет. | Feature (фичареквест) | Просьба пользователя добавить новую функциональность на сайт или в приложение. Например, пожелание добавить в фильтры породу вельш-корги. </br> </br>К этому же типу задач относятся багофичи. Это когда мы изначально завели обращение с типом «баг», но на деле ошибки нет. |
## Задача из HelpDesk ## Задача из HelpDesk
@@ -30,11 +30,11 @@
Приоритет задаче в Jira выставляется в соответствии с нашей политикой обработки ошибок. Мы используем матрицу, которая объединяет в себе серьёзность бага и вероятность/частоту его возникновения. Вот она в упрощённом виде: Приоритет задаче в Jira выставляется в соответствии с нашей политикой обработки ошибок. Мы используем матрицу, которая объединяет в себе серьёзность бага и вероятность/частоту его возникновения. Вот она в упрощённом виде:
Частота возникновения/</br>серьёзность | Crash | Failure | Flaw | Annoyance | Частота возникновения/</br>серьёзность | Crash | Failure | Flaw | Annoyance |
------------- | ------------- | ------------- | ------------- | ------------- |----------------------------------------|-------|---------|------|-----------|
| Всегда | P0 | P0 | P2 | P3 | Всегда | P0 | P0 | P2 | P3 |
| Иногда | P1 | P1 | P3 | P4 | Иногда | P1 | P1 | P3 | P4 |
| Редко | P2 | P2 | P4 | P4 | Редко | P2 | P2 | P4 | P4 |
Для багов SPT дополнительно обращаем внимание на: Для багов SPT дополнительно обращаем внимание на:
- Общее количество обращений пользователей по этой проблеме. - Общее количество обращений пользователей по этой проблеме.