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

Или, если задание хорошее, как-то так:

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

Эта статья основана на рассказе Сергея Канюкова, тимлида студии Валерия Комягина. Вместе с Серёжей Поповым они разобрали хорошие и плохие тестовые задания на лайве — посмотрите полное видео, если хотите узнать больше.

Читайте задание внимательно

Конечно, если есть что читать — иногда тестовые дают просто на словах на собеседовании. Такое редко, но всё ещё случается.

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

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

Тестовое — не экзамен в университете. За него не будут ругать (ну, почти никогда). Не возьмут на работу — да, но ругать — вряд ли.

Если не получается или что-то непонятно — задайте уточняющий вопрос. Задания пишут живые люди, и там вполне может быть какая-нибудь непонятная формулировка или противоречащие друг другу пункты. Программисты в компании могли придумать задачку и между собой решить: «О, смотри, какое классное задание, все ж понятно?». А вы читаете и думаете: «А что мне с этим делать? Слова какие-то непонятные».

Будьте начеку

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

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

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

А вот здесь уже серьёзно. Воровать вообще плохо, а если речь о коде, то легко всё проверить и отказать.

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

Лучше сделать не идеально, зато своими руками. И когда вы можете объяснить, что делает каждый блок кода, к вам и вашим навыкам гораздо больше доверия.

Если вы всё-таки решили взять чужое тестовое, то оно должно быть сделано хорошо. Шутка.

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

Проверьте, что всё работает

Звучит очевидно, но иногда от воодушевления (или усталости) можно забыть про какие-то очевидные моменты в готовом задании. Даже если вы уже во всем уверены, пройдитесь по пунктам и посмотрите, что у вас всё открывается и кликается, стили грузятся, ничего не развалилось, а адаптив работает везде, где попросили.

Должно ли тестовое оплачиваться?

Здесь есть разные мнения. Но точно не стоит на своём первом собеседовании начинать разговор о тестовом задании с такой фразы:

Мы можем начать наше продуктивное сотрудничество с такой-то часовой ставки

Джун на первом собеседовании о тестовом задании

Это плохо, и вот почему.

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

Что делать с тестовым заданием?

  • Читайте внимательно — в условии обычно есть инструкции, что и как делать.
  • Переспрашивайте, если что-то непонятно сформулировано.
  • Оцените сложность — если задание выглядит как работа для штатного программиста или занимает много времени, подумайте, стоит ли его делать.
  • Не воруйте чужие решения — лучше свой кривенький код, чем хороший, но украденный.
  • Проверьте перед отправкой, всё ли работает — если у проверяющего расползётся ваша вёрстка, будет не очень хорошо.
  • Подумайте, прежде чем просить деньги за тестовое — скорее всего, если вы джун, это бесполезно, а если мидл, то проще показать свой репозиторий на Гитхабе.

Список литературы на лето


«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Читать дальше

Пришел «зелёным» junior и вырос до «жёлтого» middle. История выпускника

Пришел «зелёным» junior и вырос до «жёлтого» middle. История выпускника

_Поговорили с фронтенд-разработчиком Александром Масленниковым и узнали, насколько сложно ему было пройти путь от новичка после курсов HTML Academy до полноценного мидла в компании «5 углов».

Александр рассказал, как выбирал будущие курсы, насколько сложно быть программистом-джуном, и как вкатиться в профессию, если тебе уже за 30._

— Ты пришёл в «5 углов» сразу после курсов?

— Да. Работаю тут уже три года. По сути, первое серьёзное собеседование я прошёл в компании «5 углов». Остальные работодатели не отвечали, как это часто бывает на hh.

Кстати, «5 углов» я нашёл не через hh, а через HTML Academy. У них есть своя небольшая площадка, где компании, с которыми они сотрудничают, оставляют вакансии, а затем выбирают сотрудников среди выпускников.

— Получается, можно просто закончить курсы HTML Academy и идти искать работу?

— Можно, но если у тебя кроме учебных проектов будет ещё что-то, шансов намного больше. Курсы дают начальные знания для входа в мир IT, а дальше нужно расти самому. В разработке нужно всегда учиться новому.

— На кого ты учился в университете?

— По образованию я бухгалтер-аудитор, но по специальности я так ни разу в жизни не поработал. В основном работал в продажах, продажах и ещё раз в продажах :)

У родителей был семейный бизнес — магазинчик, я им помогал, был администратором в магазине. Занимался всем подряд — если надо было, то подменял продавцов, выезжал за товаром и на выставки, проводил ревизию и аудиты. Магазин работал по франшизе, поэтому были обязательства с определёнными компаниями.

Основные поставки шли из Турции, какая-то часть из Европы, то есть всё было привязано к курсу доллара. И когда он поднялся до 70, стало очевидно, что для нашего городка такой магазин становится нерентабельным, и мы закрылись. После этого я взял небольшой перерыв и подался в раздумья, чем бы хотел заниматься.

— Рассматривал что-то, кроме программирования?

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

Но время шло, и всё чаще приходили мысли о том, что нужна стабильная и надёжная работа. Так как кроме продаж я ничего не умел, пошёл продавать квартиры. Через полгода работы риелтором я понял, что продажи просто ненавижу. Хотелось чего-то более спокойного, где будут какие-то рамки, ТЗ, и ты можешь спокойно работать, никто не будет напрягать.

Знакомый с большим опытом в разработке посоветовал попробовать программирование, порекомендовал начать с вёрстки сайтов и даже посоветовал курсы. У них в команде был выпускник HTML Academy, и они остались довольны.

— Хватило ли тебе навыков, которые ты получил на онлайн-курсах в HTML Academy, чтобы начать работать?

— Вполне, у них очень большое покрытие навыков, начиная от обычных HTML, CSS и JavaScript, и заканчивая React, Vue, PHP. Они сейчас очень много всего дают. По сути, это выглядит так: тебя учат алфавиту и базовым словам, а потом ты должен научиться составлять из них предложения. Чем красивее ты составляешь предложения, чем они лучше и больше, тем ты профессиональнее становишься.

Всё зависит от компании, в которую пытаешься попасть. Если там пишут в вакансии что нужен junior — не факт, что это так и есть. Некоторые обозначают требования, которые уже явно соответствуют разработчику с опытом в пару лет. Тут не стоит расстраиваться и опускать руки. Пока не пригласили на собеседование, стоит дальше учиться самостоятельно и пополнять портфолио.

Интересно оформленное портфолио — огромный плюс, оно показывает отношение сотрудника к работе.

— Есть популярное мнение, что junior-разработчиков никто не любит, и их не хотят брать на работу. Было ли три года назад так? Можешь ли ты назвать везением, что тебя взяли на работу так быстро?

— Это ошибочное мнение. Полагаю, что оно появляется на фоне того, что многие онлайн-школы сулят высокие зарплаты, но когда после прохождения курсов не берут на подобные зарплаты, случается небольшой шок. Надо понимать, что после прохождения курсов у вас 0 опыта. Учебные проекты не в счёт — они сделаны под присмотром наставника, и компания, куда вы направляете своё резюме, скорее всего это понимает. Я думаю, что компания всегда хочет себе опытного сотрудника, и не важно, какая это сфера.

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

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

  1. Раз в неделю проходить по вакансиям и брать в работу тестовые задачи;
  2. Пытаться повторить какой-нибудь простенький сайт,
  3. Если пригласили на собеседование, то обязательно иду, ведь даже из неудачного собеседования можно получить много полезного опыта.

В общем, была цель набраться опыта и заполнить портфолио.

— Сейчас на Youtube очень много видео, в которых критикуют онлайн-курсы. Можешь сказать, действительно ли они работают?

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

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

Я рассматривал и очную систему обучения. Выбрал школу при МГТУ им. Н. Э. Баумана в Москве. Там огромный выбор курсов, в том числе по HTML и JS. Ездить мне было удобно — полтора часа, и я там. Но звёзды так сложились, что и цена в два раза дороже, и начался ковид. Было непонятно, что вообще происходит, поэтому решил отказаться от очного обучения.

В итоге, я взял в HTML Academy начальный курс «HTML и CSS. Профессиональная вёрстка сайтов», который просто объясняет, что такое HTML и CSS — можно сказать, азы. Были онлайн-лекции, в чате я мог задавать вопросы, и после каждой главы лектор отвечал на них. Также можно было выбрать себе одного наставника, который помогал в течение курса. Всё выглядело цивилизованно. По итогу первого курса мне всё понравилось, и я взял следующий курс. Позже добрался до курса по JS, потому что без него никуда.

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

— В целом, ты можешь порекомендовать HTML Academy?

— Да, я до сих пор у них периодически беру курсы. У нас на работе есть плюшки — оплата 50% стоимости курсов для роста квалификации. Как пример, я посчитал, что нашей команде нужен курс «Вёрстка email-рассылок». Люди, которые сейчас приходят, даже не знают про неё, ведь этим пользовались лет десять назад. Так как в компании кто-то должен уметь делать e-mail верстку быстро и качественно, я взял эту роль на себя. Обсудил это с руководителем отдела, и компания мне покрыла половину стоимости.

— Какие навыки пришлось приобретать, когда ты уже пришёл на работу?

В начале очень нужны были soft skills для постоянного общения с коллегами. Так как сфера была для меня полностью новая, я вообще не знал, что делать в некоторых моментах. У меня постоянно были вопросы: «Как подключаться? Где что брать? Что произошло?».

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

В хорошей компании понимают, что junior-разработчика не нужно грузить какой-то тяжелой работой, от которой он сломается. Так ведь и психологическая травма может случиться: потратил кучу денег, времени на обучение, а тут пришёл и на первой же задаче споткнулся.

— Как ты себя чувствовал в первые дни работы? Может, были мысли все бросить?

— Мысли бросить бывали, наши проекты уникальные, поэтому довольно часто встречаются такие задачи, над которыми надо изрядно поломать голову.

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

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

— Доволен ли ты свои выбором профессии?

— Если смотреть из тех вариантов, которые у меня были, я считаю, что пошел по самому лучшему. Я доволен.

Решающих вещей много: коллектив, начальство, зарплата, возможность работать удалённо. Нет проблем взять отпуск на пару дней, если случилось что-то срочное. Совокупность всех этих вещей сейчас меня устраивает.

— Можешь охарактеризовать или описать парой слов, каким ты был в начале пути, и то, какой ты сейчас?

— Вот это самое тяжелое, на самом деле, потому что мне кажется, что я не так далеко ушел от начала пути. Сфера очень большая, прошло всего три года, как-то хочется намного больше уметь.

Я считаю, что хороший опыт для программирования лет 8: всё можно попробовать, поменять направление, на котором ты вырос, войти во что-то новое. Можно зайти в новое направление одним из первых и рассказать, какой ты классный.

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

— Профессионалом ты назвать себя пока не можешь?

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

Senior уже имеет весомый опыт за спиной, заранее понимает, какие проблемы могут быть на проекте и как их избежать, какие решения могут пригодиться. Также он имеет хорошо развитые soft skills. Написание кода и многие решения уже отточены и понятны, их удобно поддерживать.

— Какие навыки у тебя были в начале и какие сейчас? Что ты приобрел нового?

— У меня просто вырос багаж знаний. Когда я пришел в начале, часто все делал сам, не использовал библиотеки. Сам колхозил. Было жестко, больно, неприятно, но это необходимый опыт.

Сейчас использую различные библиотеки. Я знаю, как что-то подключить, как настроить. Это же нельзя назвать навыком, просто понимание. Со временем прокачал soft skills и гибкость, которая позволяет применять полученные знания, начал думать о том, как будут пользоваться и поддерживать мой код другие разработчики.

— Сколько тебе было лет, когда ты поменял профессию? Согласен ли с тем, что свою специальность можно менять в любом возрасте?

— Мне было 34, когда я закончил курсы. Вопрос довольно популярный на самих курсах, часто спрашивали: «Мне 40 лет, нормально ли идти на курсы?». В интересах создателей курсов, конечно, соглашаться. Но на самом деле всё зависит от человека, насколько твой мозг готов впитывать полностью новую информацию. Новая информация в голове — это в принципе очень тяжело. Даже у детей, когда они что-то не понимают в школе, бывает стресс. Когда человек взрослый, мозги у него немного «подсыхают» и их надо постоянно тренировать. Если готов впитывать все новое, то ты сможешь.

— Нет ли у тебя зависти к шестнадцатилетним специалистам, которые вкатились по возрасту раньше тебя во фронтенд?

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

Это как в школе — кому-то дается физика и математика, а кому-то русский с литературой. Всё зависит от человека. Можно, конечно, зазубрить предмет, но ты должен просто задать вопрос «Насколько тебе комфортно в этой сфере?». Если тебе не нравится, но ты готов оставаться ради того, чтобы зарабатывать деньги, окей, это твой выбор. Но скорее всего сгоришь потом.

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

Айти
  • 1 февраля 2024
Портфолио разработчика. Все секреты

Портфолио разработчика. Все секреты

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

Читать дальше
Айти
  • 3 июля 2023
Верстальщик. Гайд по профессии

Верстальщик. Гайд по профессии

В нулевых никаких фронтов не было, и человек, который делает сайты, был просто человеком, который делает сайты. Мог и на HTML что-то собрать, и стили прописать, и на JavaScript алерты наставить, где нужно. Веб-разработка была маленькой, смешной, но самодостаточной. А потом понеслось.

Верстальщики стали больше писать на JavaScript и начали поглядывать в сторону именования «фронтендер», но всё ещё очень любили делать файлы style.css на десять тысяч строк.

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

В этом и заключается суть работы верстальщиков. Они берут у дизайнеров макет (это картинка, на которой нарисован сайт — К.О.) и собирают из него страницу. Пишут HTML, CSS, используют магию гридов, флексов, какой-нибудь БЭМ. Стараются, в общем, делают. Молодцы.

С другой стороны, HTML сейчас даже в некоторых школах изучают — но отчего-то сразу после школы никто не спешит платить первокурсникам по 500$ за вёрстку. И тут мы приходим к тому, что в 2023 году требуют от верстальщика работодатели.

Мы в HTML Academy работаем над тем, чтобы верстальщики после двух наших интенсивов по вёрстке находили работу, а после интенсива по JavaScript делали это вообще без проблем. И для того, чтобы чему-то обучать, мы должны понять, что требуется рынку сейчас и какие требования выставляет работодатель к верстальщику, чтобы мы могли покрывать такие требования на курсах.

Читать дальше
Айти
  • 8 июня 2023
Веб-разработка. С чего начать

Веб-разработка. С чего начать

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

Читать дальше
Айти
  • 2 июня 2023
Как устроиться туда, где закрыты все вакансии

Как устроиться туда, где закрыты все вакансии

Если вы мечтаете работать в определённой компании, но не нашли вакансий на сайтах по поиску работы — ещё не всё потеряно. Проверьте объявления на других площадках. Если и там ничего нет, воспользуйтесь «обходными путями»: начните со стажировки или познакомьтесь с рекрутёром.

Читать дальше
Айти
  • 14 февраля 2023
Хочу работать в IT, но…

Хочу работать в IT, но…

Изучать что-то новое всегда — волнительное и завораживающее событие. Но некоторые останавливаются, даже не начав. Почему так происходит? По разным причинам, но бывают случаи, что из-за мыслей «ещё рано», «уже поздно», «нет технического образования», «не знаю английский». Мы покажем на примерах, что возраст, наличие образования и знание английского — не проблема для смены профессии.

Читать дальше
Айти
  • 19 января 2023
Как стать фулстек-разработчиком

Как стать фулстек-разработчиком

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

Фулстек-разработчик сочетает несколько направлений и может заменить собой пару более узких специалистов. Главная его особенность — это универсальность. Именно поэтому спрос на таких специалистов всегда есть и постоянно растёт. Многим компаниям выгоднее нанять одного универсального разработчика, чем содержать штат программистов.

Топовых фулстек-разработчиков очень мало, они востребованы и имеют возможность выбирать из ряда предложений то, что им интересно. Джуны с небольшим опытом в сфере фулстек-разработки могут рассчитывать на зарплату от 30 до 100 000 ₽ в месяц. Опытный разработчик получает в среднем вдвое больше — 120—200 000 ₽.

💡 Что должен уметь топовый фулстек-разработчик:

  • Понимать полный цикл процесса разработки.

  • Уверенно знать современный JavaScript (ECMAScript), применять TypeScript.

  • Строить архитектуру клиентских и серверных приложений.

  • Применять ООП и паттерны проектирования на практике.

  • Проектировать и разрабатывать REST API.

  • Проводить автоматизированное тестирование фронтенда и бэкенда.

  • Работать с базами данных.

Зарплаты фулстек-направления

Исследования компании Хабр Карьеры за 2022 год говорят, что средняя зарплата разработчиков в России составляет 140 000 ₽. Сумма немного различается по регионам. В Москве зарплата подросла за год и составляет 180 000 ₽, в Санкт-Петербурге осталась на уровне начала года — 150 000.

Зарплата фулстек-разработчика в среднем составляет 200 000 ₽ в Москве, 160 000 ₽ в Санкт-Петербурге и 130 000 ₽ в регионах.

Этот анализ зарплат составлен по вакансиям сайта hh.ru.

Также специальность фулстек ценится за границей, зарплаты в Европе и в Америке очень достойные. В Нью-Йорке опытный фулстек зарабатывает 3000—3500 $. В Германии работодатели указывают в вакансиях зарплату 2500—4000 $.

Изучив вакансии и уровень дохода, скорее хочется прокачать навыки и стать фулстек-разработчиком. Что же для этого нужно?

Читать дальше
Айти
  • 20 декабря 2022