В 2011 году при собеседовании на позицию ведущего разработчика мне в руки попался интересный документ, который не даёт успокоиться до сих пор. Он мешает мне поставить самому себе 100% владения айтишными хард и софт скилам. И надеюсь, теперь помешает и тебе.
На собеседовании было два задания. Первое заключалось в проектировании сервиса геопоиска с нуля. Дословно: «У нас есть база с координатами кафе, у пользователя есть устройство с GPS навигатором и он может нам передать свои координаты + радиус поиска, а мы должны выдать все, что есть в указанном радиусе от него. Неторопливо, с чувством, с толком, с расстановкой». Мне казалось, что я за час спроектировал всё. Всё. Вообще всё. Только штат сотрудников не набрал :) Ну там было много наводящих вопросов, были подсказки. Однаков внутренне я ликовал — я спроектировал 2ГИС!
Вторым была анкетка. Листочек А4, двухсторонний. Вот такой. Список терминов по группам, оценка по каждому термину от 0 до 4.
Если class — это знакомый термин, ставим [ 1 ]; если можешь рассказать что это такое, то [ 2 ]; если приходилось сталкиваться на практике, то [ 4 ]. По каждому блоку считаем сумму балов, пишем рядом с блоком, затем суммируем по всем блокам.
Хм. А я, оказывается, знаю не всё. Оказывается, я много чего не знаю. Особенно грустно, что это уже тогда использовалось в компании. Могу ли я считаться ведущим, если вот так вот первый встречный в компании расскажет мне о том, о чём я даже не догадывался.
Этот листок долго лежал у меня на столе. Месяц за месяцем я «чекрыжил» в нём пунктики. Некоторые были интересные, некоторые скучные. Из всего этого процесса особенно меня бесил подсчёт баллов. В оригинале это надо было посчитать на калькуляторе, но у меня же есть JavaScript! Сделал версию на KnockoutJS, счёт пошёл быстрее.
Затем я использовал этот документ для помощи своим коллегам. Теперь уже мы вместе работали над повышением своего уровня, проводили митинги-обзоры. Те, кто рассказывал, получал двоечку, а те кто слушал — единичку. Бывает и на практике что-то применяли.
За это время PHP чуть-чуть повысил циферку своей версии. Стало быть надо дополнять анкету новыми понятиями, терминами. Значит то, что вчера было оценено на максимум баллов или 100%, сегодня стало меньше. А ещё появился ReactPHP. А ещё новые версии фреймворков. И приложение стали разбивать на фронт и бэк. И на фронте jQuery начали заменять на Backbone, Ember, Knockout, Angular.
Стоило только включить или дополнить анкету терминами, оценки мигом скатывались вниз. Самое главное — теперь я не знал, что именно нужно включить в список, слишком много разделов, я не успевал сканировать разделы, чтобы дополнять анкету. Мы разделились. Часть команды изучала технологии на фронте и постепенно дополняли анкету, другие уточняли сведения по бэку.
В прошлом году я проводил небольшое исследование по этой анкете. В опросе приняли участие 40 человек разного уровня владения веб-технологиями, от школьников до архитекторов. В моём исследовании был такие вопросы:
Узнал ли ты что-нибудь новое для себя просто просмотрев список терминов во время опроса?
Из 40 опрошенных 75% дали ответ «Да, я нашёл то, что было мне не известно».
Планируешь ли поискать что-нибудь из того, где поставил отметку 1?
32 из 40 ответили «Да».
Планируешь ли попробовать что-нибудь из того, где поставил отметку 1 или 2?
19 из 40 ответили «Да».
Ещё одно исследование я делал среди айтишников, в чьих резюме или на их веб-страницах встречались оценки своих навыков, такие графики с процентами. Скиллбары или скиллбублики. «Я знаю JavaScript на 90%». С ними я созванивался через Skype и выяснял, как они вычисляют свой процент владения технологиями, задавал вопросы по своему же опроснику. В общем нет у них тех процентов, как и у меня когда-то не было. Потому что они не знают эталона, по которому нужно проводить измерение. Их ход мыслей при выставлении оценок примерно такой: «100 не поставлю, чтобы не придирались; но я же не идиот, уже 3 года вожусь с этим — поставлю себе 83%». Пальцем в небо, с потолка. Не верьте скиллбарам.
Сегодня я хочу отдать сообществу эту анкету в формате SaaS для обсуждения, дополнения и использования в практике.