2023-02-06 19:52:11
Тестовое задание
Расскажу для чего нужно тестовое задание на примере Кортекса.
Когда мы размещаем вакансию, то будем получать десятки, а то и сотни откликов. Сайты с вакансиями щедро рассылают эти вакансии куда могут и откликается очень много людей. Большая часть откликов, увы, механические. По ним видно, что соискатель даже не читал вакансию. Я не очень понимаю, зачем эти люди хотят потратить своё время на вакансии, смысл которых им непонятен, но мне своего времени жалко.
Для нас тестовое задание — ключевой элемент вакансии. Оно решает две задачи:
1. Показывает насколько серьёзно настроен соискатель. Если хотя бы как-то его сделал, то действительно хочет получить эту работу. Приятно.
2. Знакомит соискателя с нашей технологической кухней: что мы используем, как мы это используем и как устроен наш процесс работы. С нашей стороны мы смотрим насколько хорошо соискатель разбирается в технологиях, которые будут нужны ему для решения задач.
Рассмотрим вакансию разработчика Laravel
Сначала пишем, чем нужно будет заниматься по смыслу:
Для развития внутренней системы для создания бренд-медиа мы ищем разработчика на Laravel 9. Хотим организовать работу над бэклогом.
Далее, какие навыки и технологии понадобятся, чтобы решать задачи:
Применяем TDD: Dusk и Pest.
PHP 8
Laravel 9
Pest и Dusk
Понимание принципов REST и как это реализуется в Laravel
Docker
Git, GitHub и GitHub Actions
Далее, что из этого обязательно, а чему можем научить в процессе:
Обязательно знание PHP, Laravel и GitHub, остальному при необходимости научим.
Далее, создав у соискателя в голове контекст, перечисляем типы задач, что будет делать:
Работать над развитием АПИ системы для создания бренд-медиа.
Реализовывать функции для административного интерфейса и шаблонов бренд-медиа для необходимостей фронтендеров.
Далее идёт блок про бонусы, мы его опустим. А в конце то самое тестовое задание, которое как раз и даст соискателю понять, чего мы от него ждём на уровне кода, а нам как он справится с нашими требованиями:
В данной вакансии задание состоит в том, чтобы максимально простыми средствами собрать рабочий продукт:
Соберите с помощью Laravel каталог исполнителей и их альбомов с песнями такой структуры:
Исполнитель
—-Название
—-Альбом
Исполнитель
—-Год выпуска
Песня
—-Название
—-Порядковый номер в альбоме
Одна и та же песня может быть включена в несколько альбомов, но под разными порядковыми номерами.
Тут всё можно скопипастить прямо из доков Ларавеля. Проверяем, умеет ли соискатель создавать модели и связи между ними: один-ко-многим и многие-ко-многим.
В качестве площадки для демонстрации АПИ подключите к нему Swagger, чтобы можно было проверить работу АПИ через Postman
Тут проверяем, умеет ли соискатель заворачивать модели в REST-API и прикручивать к АПИ автоматическую документацию. Тоже делается по стандартной документации Ларавеля.
Результат присылайте в виде репозитория в GitHub с инструкцией по запуску. Бонусом будет, если проект будет запускаться через docker compose.
Проверяем, умеет ли соискатель Пользоваться Гитхабом и умеет ли сделать так, чтобы его код можно было запустить не только на его компьютере. То есть нужно самому проверить, что оно запускается и написать инструкцию как это запустить. А Если завернёт всё это в образ для Докера и напишет docker-compose.yml, то вообще чума.
Задание примитивное и проверяет то, как человек работает с задачами, а не какой он крутой разработчик.
Как-нибудь напишу, чего на мой вкус не стоит присылать вместо тестового задания.
343 viewsNick Mitin, 16:52