Заметки о собеседованиях для веб-разработчиков

Довольно беспорядочные советы от настоящего меня прошлогоднему, когда я начинал искать работу в Европе.

Подготовка

— Обновите резюме и приведите в порядок профиль на Линкедине. — Запишите, чем занимались в нескольких последних компаниях. Если собеседование на неродном языке, прочитайте несколько раз вслух (я этого не делал, но после примерно восьмого собеседования понял, что стоило). — Походите по сайту компании, посмотрите, какие технологии они используют (насколько это возможно); погуглите техноблог, блог и твитеры сотрудников. — Узнайте уровень зарплат в стране. Лучше всего поговорить с кем-то, кто там живёт. Определите подходящую для себя цифру и будьте в ней уверены.

Подумайте об ответах на вопросы вроде:

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

Сопроводительное письмо

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

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

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

Тестовое задание

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

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

Например, я изучал Реакт на тестовых заданиях: первое, второе.

Собеседование

— Если собеседование по скайпу: оденьтесь, могут позвонить с видео. — Не бойтесь говорить «я не знаю» — нельзя знать всё. Можно отвечать: «точно не знаю, но, вероятно, вот так».

Будьте готовы писать код всеми возможными способами:

— на бумажке; — на маркерной доске; — в окошке скайпа (высокотехнологичный вариант бумажки); — расшарив свой экран через скайп (или наоборот вам дадут доступ к компьютеру); — в каком-нибудь онлайновом редакторе с синхронизацией.

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

Что почитать

Frontend Job Interview Questions. — Questions to ask your future web dev employer. — How to get a job in the tech industry. — Cracking The Coding Interview: 12 Things You Need To Know. — What happens when…. — JavaScript Garden. — How to Gracefully Turn Down a Job OfferSoft Skills: The Software Developer’s Life Manual. — Серия книг You don’t know JavaScript. — JavaScript & DOM Tips, Tricks, and Techniques. — Что-нибудь о паттернах проектирования (я так ничего и не прочитал, поэтому не могу посоветовать что-то конкретное).

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

Полезные ссылки

Grammarly, проверка английского языка. — Главред, чистка текста от словесного мусора. — Canned Emails, шаблоны писем на все случаи жизни. — Codewars, маленькие задачки для программистов.

Сходите на собеседование

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

P. S. Буду рад, если поделитесь своими советами.