​​Scaling Engineering Teams via Writing Things Down and Sharing - aka RFCs



Практическая статья от Uber. Очень интересные и местами смелые мысли о масштабировании инженерных команд.



Тезисно

1. Спланировать прежде, чем что-то делать. А именно — достигнуть кристально-чистого общего понимания решения всеми членами команды

2. Собрать план в небольшой документ (aka RFC)

3. Получить апрув от нескольких релевантных решаемой задаче коллег

4. Отправить план всем инженерам в компании, любой может оставить свои комментарии

5. Все в компании должны следовать этим шагам для любых не тривиальных задач



В Uber итеративно пришли к таким шаблонам документов:



Backend

- List of approvers

- Abstract (what is the project about?)

- Architecture changes

- Service SLAs

- Service dependencies

- Load & performance testing

- Multi data-center concerns

- Security considerations

- Testing & rollout

- Metrics & monitoring

- Customer support considerations



Mobile/Web

- List of approvers

- Abstract (what is the project about?)

- UI & UX

- Architecture changes

- Network interactions detailed

- Library dependencies

- Security concerns

- Testing & rollout

- Analytics

- Customer support considerations

- Accessiblity