Для проверки джуна достаточно просто пройти опросник, для начинающих мидлов — немножко поработать с кодом, но в целом тоже не так сложно. Если говорить о middle+ и senior, нужно проверять практические знания, потому что чем выше grade, тем больше соотношение практики к теории.
Но как проверить практические знания у сеньора с 7-10 годами опыта? Просто спрашивать теорию — это как тестировать шеф-повара на умение варить воду. База знаний нужна, причём исключительно практическая. Но где её взять?
Покопались в интернете и книгах — пусто. Ну что ж, если чего-то нет, это надо создать самим. Мы собрали экспертную сеть из наших разработчикови внешних консультантов. За основу взяли информацию с сайтов производителей различных стеков. Например, для Python — темы, подтемы, списки. Из этого выросли ментальные карты (у нас их уже больше 200), которые мы начали наполнять практической информацией.
Мы придумали термин «практический кейс». Это такая штука, которая всегда связана с конкретной темой. Например, есть тема — наследование. Практический кейс — ошибка, которую часто совершают, работая с этой темой. Он проверяет:
Мы буквально бомбардировали наших экспертов вопросами: «Какие фейлы у вас были? Какие проблемы решали? Какой урок вынесли из этого проекта?» Так родилась наша база знаний. Сейчас в ней более 9200 кейсов. Это три с половиной года упорной работы.
Мы создали списки тем и подтем для каждого стека, разделив их на четыре уровня: middle–, middle+, senior–, senior+. На каждом уровне собраны сотни практических кейсов, которые специалист должен знать и уметь применять.
Берём кейс и по формуле присваиваем ему грейд. Чтобы убедиться в объективности, мы дали 100 кейсов техлидам и попросили их разложить по уровням. Все сделали это одинаково, ведь оценивали не людей, а саму практическую информацию. Это доказывает, что формула работает.
Эта система стала основой для проверки знаний кандидатов.
Но на этом мы не остановились. В какой-то момент пришло озарение: Java-разработчик для конкретного проекта должен знать не только Java, но и массу других специфических вещей, которые являются индивидуальными требованиями. Так появился конфигуратор вакансий. В нем можно:
Можно даже настроить, чтобы дополнительные навыки влияли в необходимой степени на итоговый грейд. Если вашей компании важно учитывать что-то специфическое, конфигуратор всё это может.