Skip to content

Instantly share code, notes, and snippets.

@ai
Last active March 22, 2021 08:06
Show Gist options
  • Save ai/522418dcc70c2652f1e7b3ffcd4257d1 to your computer and use it in GitHub Desktop.
Save ai/522418dcc70c2652f1e7b3ffcd4257d1 to your computer and use it in GitHub Desktop.

Онбординг фронтендера на Амплифере

Дать доступ. Менеджер и Макс даёт доступ. Фронтовый тимлид пинает их, уточняет у нового фронтендера дали ли ему все доступы, пинаем ещё раз, если надо.

  1. Выдать почту на @amplifr.com
  2. Доступ в Slack
  3. Доступ в Trello
  4. Доступ в GitHub
  5. Доступ в Zeplin
  6. Доступ в Sentry
  7. Доступ в Intercom
  8. Доступ на деплой от Макса

Созвон с менеджером. Он должен рассказать, как работает наш процесс разработки.

Созвон с фронтовым тимлидом. После каждого пункта время на вопросы. На нём важно рассказать:

  1. Рассказать про ценности: пользователи — главное, если видим ошибку других — говорим, говорим об ошибках вне зависимости от иерархии, дизайн тоже в нашей области, последнее слово всегда за главной направления (дизайн за дизайнером, текст за копирайтером).
  2. Рассказать про подход к рефакторингу: слои поколений, в одной папке только один слой, последний слой должен быть всегда чистым, гавнокод может быть только в старых слоях.
  3. Показать текущие слои. Начать с самого старого поколения. Сказать вкратце какие технологии использовали и какие ошибки вынесли.
  4. Для каждого слоя потом отдельно подробно рассказываем про архитектуру. Заходим в каждую папку слоя, объясняем связь компонентов архитектуры и как текут данные.
  5. Отправляет читать «Принципы разработки».

Дальше даём задания.

Задача 1. Подготовка среды. Фронтовый тимлид скидывает новому фронтедеру задания в письме.

  1. Включить шифрование диска
  2. Установить менеджер паролей
  3. Сменить пароли на безопасные и уникальные для GitHub и почты
  4. Включить 2FA на почте, GitHub и Slack

Задача 2. Разворачивание проекта. Новичок должен пройти по инструкции и исправить инструкцию в тех местах, где он не соответствует действительности.

Дальше нужно дать простое задание для каждого слоя. Обязательное код-ревью фронтового тимлида. Важно уделять отдельное внимание в UX и качеству кода. Исправлять за нового разработчика нельзя.

Через несколько задач, новому фронтендеру ставится задача, в которой его или её предупреждают, что код-ревью специально не будет. Нужно учить ответственности.

Через месяц можно ставить на разработку большой фичи. Тут код-ревью нужен, но новый разработчик должен решить сам, когда его запросить и у кого. Мы не проверяем каждый шаг.

Через полгода нужно не боятся ставить сверхсложные задачи. Очень сложные задачи не должны доставаться только «старичкам».

Фронтовый тимлид должен раз в месяц задумываться — а не было ли у моих коллег необычного и интересного опыта. Если был — предлагать в личке вынести его в опенсорс или сделать статью или доклад.

@uhbif19
Copy link

uhbif19 commented Aug 1, 2019

Что за слои?

@Grawl
Copy link

Grawl commented Aug 1, 2019

Да, интересное понятие

@ai
Copy link
Author

ai commented Aug 1, 2019

Просто когда решаем, что надо писать по новой архитектуре, создаём новые папки и пишем там уже по новому и чисто

@Grawl
Copy link

Grawl commented Aug 9, 2019

Напрашивается сравнение с кольцами на пне

@uhbif19
Copy link

uhbif19 commented Aug 9, 2019

Просто когда решаем, что надо писать по новой архитектуре, создаём новые папки и пишем там уже по новому и чисто

Логично. А как тогда со старым кодом взаимодействуете? Оно от этого не станет страшно запутанным? Например нужно тебе починить фичу или внутренний компонент - сначала иди ищи в каком слое она лежит.

@ai
Copy link
Author

ai commented Aug 9, 2019

А как тогда со старым кодом взаимодействуете?

Стараемся переписывать так, что взаимосвязанные вещи оказывались только в одном слое

сначала иди ищи в каком слое она лежит

Кажется логичным, но у нас на практике такой проблемы остро не было. Слоёв мало, глянуть в 2 места — не сильно дольше. Тем более часто разные поколения компонентов отличаются дизайном.

@kubk
Copy link

kubk commented Aug 12, 2019

Приведите пожалуйста пример сложных и сверхсложных задач.

@ai
Copy link
Author

ai commented Aug 12, 2019

Сложная задача — когда нужно самому принимать решения по архитектуре.

Сверхсложные — когда требуется уже какая-то экспертиза.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment