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

От выполнения каких тестовых лучше отказаться

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

  1. Тестовое задание и является проектом. Причем за его выполнение вам ничего не выплатят. Это говорит о том, что, скорее всего, потенциальный заказчик хочет, чтобы кто-то выполнил бесплатно его проект. Вам могут обещать сотрудничество в дальнейшем, но, вероятно, что на бесплатном выполнении проекта все и закончится. Исключение можно сделать в том случае, если проект действительно очень легкий для вас, а потенциальный заказчик показал задания для будущих проектов.
  2. Тестовое задание является частью проекта. Ситуация очень похожа на предыдущую, но только в этот раз вам предлагается выполнить часть проекта в качестве теста. Задание должно быть оплачиваемым в случае успешного выполнения: отдельно или в рамках всего проекта. Также оно не должно составлять более ⅓ от объема основной задачи. Если эти условия нарушаются, то лучше отказаться от выполнения подобного тестового.
  3. Тестовое задание слишком объемное. Оно не должно занимать у потенциального разработчика больше одного рабочего дня. Если оно более объемное, то приступать к его выполнению нецелесообразно, даже если оно оплачивается. Дело в том, что вы потратите то время, которое могли бы потратить на поиск более подходящей позиции, без гарантий устройства или получения интересующих заданий.
  4. Тестовое задание совершенно не соответствует проекту, над которым вы должны работать. Разработчик с помощью тестового должен понять, над чем будет работать в случае успешного выполнения. К заданиям, не соответствующим проекту лучше относится с осторожностью, так как по итогу вы можете столкнуться с тем, к чему не готовы и испортить свою репутацию.

Если тестовое соответствует одному или нескольким из описанных пунктов, то от них рекомендуется отказаться. Однако всегда смотрите на ситуацию и собственное желание. Возможно, что вы готовы рискнуть и потратить время на его выполнение и при этом уверены в порядочности потенциального заказчика. Тогда тестовое целесообразнее выполнить.

Признаки хорошего тестового

Тестовое задание - это универсальная проверка кандидата на пригодность к работе над тем или иным проектом. Собеседование не всегда способно корректно определить навыки, а в портфолио могут оказаться проекты, над которыми кандидат на самом деле не работал.

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

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

Зачем нужны тестовые задания

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

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

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

Совет 1: Не соглашайтесь сразу

Не нужно сразу на предложение тестового задания со стороны потенциального заказчика говорить “Да”. Внимательно изучите условия, а также поищите информацию о работодателе, если не сделали этого ранее. Адекватный заказчик должен понимать, почему вы не беретесь сразу за тестовое. Если вас торопят с решением, то это может говорить о проблемах в работе с этим человеком в будущем. Помните, что не только заказчик вас выбирает, но и вы тоже выбираете заказчика.

Естественно, не нужно брать слишком много времени “на подумать”. В большинстве случаев задание не требует долгого выполнения, поэтому анализировать там тоже особо нечего. На детальный анализ такого тестового должно уйти не более 15 минут. Однако, пока не выясните все детали, которые считаете важными, не соглашайтесь на выполнение. Давать согласие можно только в том случае, когда вы точно знаете, что от вас хотят и что будет в случае успешного выполнения.

Совет 2: Задавайте вопросы

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

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

Совет 3: Не воруйте тестовые задания

Сделать это достаточно сложно, особенно, если вы пытаетесь получить какой-то проект на фрилансе, но вполне реально. Иногда заказчик решает не самостоятельно составлять техническое задание для разработчика, а искать готовые варианты в интернете. Для некоторых задач такие действительно есть и их много. На такие шаблонные задания легко найти варианты решения в свободном доступен. Однако делать это категорически не рекомендуется.

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

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

Совет 4: Обращайте внимание на детали

К выполнению тестового задания требуется подойти со всей ответственностью, особенно, если на потенциальный проект претендует несколько кандидатов. В таком случае, разумно будет подумать не только о том, чтобы это просто работало с технической точки зрения, но и о качестве написанного кода. В первую очередь избегайте всевозможных костылей, если задание возможно корректно реализовать без них. Использование костылей в коде, когда есть возможность сделать все в соответствии с ТЗ без их использования, покажет ваш непрофессионализм. Лучше потратить больше времени на поиск более элегантного решения, чем отдавать “кривой” код.

Важно задуматься над оформлением кода:

  • Делите его на смысловые блоки и старайтесь не перемешивать все в кучу. Выполненное задание, которое удобно читать, проверяется быстрее и при этом дает конкурентное преимущество перед другими соискателями.
  • Не используйте слишком много сокращений. Да, это возможность показать свой профессионализм, но лучше соблюдать баланс, так как проверяющий может не понять их.
  • Не делайте слишком большой и примитивный код. Это уже другая крайность. Некоторые конструкции, если это возможно, лучше сократить или использовать более изящный вариант решения задачи. Слишком громоздкий код хуже, чем использование большого количества сокращений, так как он утяжеляет проект и делает сложной его дальнейшую оптимизацию.
  • Комментируйте код. Опять же, это нужно для читаемости и лучшего понимания, за что отвечает тот или иной его кусок. Часто сначала проверять тестовое может человек, далекий от программирования, поэтому комментирование поможет ему быстрее справится с работой и передать на проверку уже более профессиональным коллегам.

Пример читаемого кода стилей

Совет 5: Проверяйте работоспособность кода перед отправкой

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

Что нужно учитывать кроме тестового

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

  1. Ваше резюме. Первое, на что смотрит потенциальный клиент или работодатель. Грамотно составленное резюме поможет получить тестовое задание, если такое предусмотрено. Дело в том, что и тестовое выдают не всем, а только тем, кто заинтересовал заказчика своим резюме, портфолио. У нас в блоге уже есть подробная статья про составление резюме для веб-разработчика и программиста.
  2. Портфолио. Чем оно более релевантно проекту, на который вы претендуете, тем выше шанс того, что вашу кандидатуру одобрят. Возможно, даже сделают это без тестового задания. Однако портфолио тоже нужно грамотно оформить и презентовать. Подробно про это читайте в нашей отдельной статье.
  3. Профиль на фриланс-биржах и в социальных сетях. Больше актуально для тех, кто ищет проекты на фрилансе, особенно, если поиск идет через биржи или социальные сети. Напишите информацию о себе, покажите в профиле примеры работ, отзывы клиентов. Правильно оформленный профиль на тематических ресурсах можно одновременно использовать и как резюме, и как портфолио.
  4. Умение вести переговоры. Пригодится на всех этапах найма и, тем более, уже во время работы. Вы должны уметь задавать вопросы по делу, договариваться об оплате, корректно оценивать сроки, презентовать себя как адекватного человека.

Заключение

Тестовое задание - это одна из обязательных процедур для устройства на позицию разработчика или получения крупного проекта. Однако, перед тем, как выполнять его, нужно убедиться в порядочности заказчика, собственных силах и соответствию ТЗ проекту. Если у вас действительно есть необходимые компетенции для интересующего проекта, то сложностей с тестовым возникнуть не должно. Но даже если они возникли, то не стоит стесняться обратиться за разъяснениями к потенциальному заказчику или работодателю. Тестовое не всегда может составлено корректно, а иногда это и вовсе может быть элементом проверки на внимательность к деталям.