Менторство, новый набор

Всем привет! Возможно вы помните мой прошлый пост про поиск стажеров.


Прошло уже три месяца, и думаю стоит поделиться результатами.

О менторстве

Свой образовательный эксперимент я назвал “предполетная подготовка”, чтобы не путаться в терминах “проект” как менторство и “проект” как кодовая база.

Основной идеей так же остается концепция командной работы над проектом: я даю задачи, команда их декомпозирует, распределяет между собой. После того как фича сделана - оформляется пулл-реквест, команда ревьювит его сначала сама, а затем ревью провожу я.

Разумеется, при необходимости я консультирую, отвечаю на вопросы и оказываю помощь, но стремимся мы к тому, чтобы человек научился самостоятельно делать задачи простого уровня.

Как все было

- Всего мне пришла 21 заявка.

- В 16 из них было указано кол-во свободного времени около 8 часов. Остальные - меньше

- Оставил 13 тех, у кого были какие-то минимальные (по моей субъективной оценке) знания. Исходил из описания в заявке и коде на гитхабе

- В дальнейшем (после основного набора) не было ответа по 6 заявкам, кажется.

Я выбрал 4 кандидатов, 2 фронта и 2 бека. После знакомства мы потихоньку начали работать над проектом. С самого начала работало по факту только 2 человека. Один из фронтов почти сразу нашел работу (не моя заслуга, разумеется). Второй бэкендер за 2 месяца по различным причинам не сделал ни одного коммита. Я предлагал помощь и был всегда готов ответить на любые вопросы, но, видимо, проект не был в приоритете и мы расстались по моей инициативе.

Еще через некоторое время, ссылаясь на недостаток времени, к сожалению, ушел еще один бэкендер - достаточно способный товарищ, было приятно с ним работать.

В какой-то момент у нас в команде бэкендеров не было, и мне пришлось сделать кое-что самому. Пройдя по списку заявок, я нашел еще 2 бэкендеров - одним уже доволен, а от другого пока жду первых результатов.

Фронтендер тоже нашелся, но времени и скилов ему пока не хватает, поэтому я решил взять третьего. Надеюсь найти его после этого поста.

О проекте

Не столь важно, что мы делаем, важно, что мы это делаем очень медленно :) Я не знаю точно, сколько времени в неделю тратят ребята в действительности. Пытался напоминать им про выставление часов в тикетах - не пошло. Буду пробовать еще раз, возможно, другим путем. Дедлайнов у нас нет т.к. все люди взрослые, у всех семья, личная жизнь и все такое, поэтому каждый работает по мере своих возможностей.

Впечатления

Хоть мне пока и не удалось получить тот технический опыт, на который я рассчитывал, в связи с тем, что работа идет медленнее, чем я планировал, мне нравится этим заниматься. Лучший способ что-то хорошо изучить - это объяснить тему другим. Каждый раз, когда объясняю что-то: как надо делать, как не надо, почему и как это работает - даже имея многолетний опыт работы, я все равно лезу сверяться с документацией или другими источниками, иногда отмечая для себя какие-то нюансы.

Одна из сложностей при код ревью - это найти баланс между количеством итераций ревью и качеством кода. Код ревью иногда затягивается, и это может тормозить прогресс. А темп работы тоже важен, потому как бесконечные правки по ревью могут наскучить, да и не всегда приносят столько же опыта, сколько нафигаченный за тоже время говнокод.

Отзыв от одного из участников:

Участвую в проекте 3 месяца. Изначально хотела подтянуть свои навыки от trainee до джуна. По факту было очень полезно узнать насколько многого я не знаю (и что до trainee еще тоже нужно дойти), даже из тех вещей, которые уже проходила и практиковала на курсах, по книгам и т.д. В жизни всё оказалось несколько по другому.
Иван дает очень подробные ответы на все вопросы и код ревью, и обращает внимание на теорию. Теорию нужно тоже читать и перечитывать. Узкие места JS становятся понятнее, как и книга с носорогом (мы все ее купили, 7-е издание 2020 г). А также становится понятным, как нужно задать вопрос, чтобы получить на него ответ (а не совет обратиться к Гуглу).
Так же из плюсов - свежий стек, фронт на React + TypeScript + Material UI, бэк на Python + Django + можно по согласованию попробовать все самые модные инструменты.
Из минусов - 1) легко не будет, тк предполагается что участники взрослые люди, которые умеют искать и применять нужную информацию + обычно это не информация из распространенных уроков на ютубе, а например из документации, каких нибудь видеогайдов на английском языке, ответы на стаковерфлоу и т.д.
2) Это не TDD, но юнит-тесты нужно писать на всё. Нет, на ВСЁ. На фронте это react-testing-library, по которой тоже не много мануалов и ответов на вопросы в сети. И мок-тесты, по которым в принципе не ясно, как они работают. Но это очень важный и полезный навык.
И все эти пункты дают + 100500 к уверенности на собеседованиях и еще столько же к способности воспринимать критику.
В общем, рекомендую!

Анализ работы

Резюмируя полученный опыт, сейчас я остановился на следующем:

- Для стажеров кол-во затрачиваемого времени должно быть где-то 7-8 часов. Меньше совсем не вариант, больше - лучше.

- Нужно давать тестовые для кандидатов, чтобы убедиться в наличии хоть какого-то минимального уровня, и в целом оценить подготовку.

- Возможно, стоит собирать информацию по затрачиваемым часам

- Возможно, стоит подумать над дедлайнами. Тут сложно: с одной стороны должен быть механизм который “наказывает” за пропуск дедлайнов. Но с другой - у всех со временем по-разному, и при этом нужно еще синхронизировать команду между собой.

- При сборе заявок собирать не только почту, но и мессенджеры - для оперативной связи. На почту часто не отвечают.

- Стоит подумать над проведением семинаров/лекций/презентаций по темам. Идея пока в глубокой пре-альфе т. к. есть более приоритетные задачи.


Спасибо, что дочитали.

Хорошего вам дня.

Лига программистов

1.5K постов11.4K подписчик

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества