Спасите себя от возможных лет боли, разочарования и неудач.
Подав заявку на более чем 150 вакансий в ходе моего последнего поиска работы, я увидел много шаблонов, которые являются как хорошими, так и плохими сигналами работодателя. Поиск новой работы уже достаточно напряженный, но что, если эта новая работа не соответствует вашим ожиданиям? Что, если после первых нескольких недель вы обнаружите, что не согласны с командой, видением компании или самим способом разработки программного обеспечения? Вот почему так важно следить за этими красными флажками при поиске работы инженера-программиста.
Потому что, если вы видите хотя бы один из этих признаков, лучше сэкономить время и просто перейти к следующему работодателю, который ценит усилия.
# 1 — Они дают вам чудовищное домашнее задание.
Домашние задания уже являются спорной формой оценки чьей-либо способности выполнять работу. Некоторые утверждают, что это лучше, чем стандартные прокси-вопросы на собеседовании по кодированию, но я в целом не согласен. Я брал интервью у одного робототехнического стартапа из Сан-Франциско, который хотел, чтобы я выполнил домашнее задание. Я уже прошел два раунда информационных/поведенческих интервью, и компания действительно выглядела интересно. Так почему бы не?
Когда я получил задание, то сразу был удивлен его масштабом. Я должен был создать полноценное чат-приложение, включающее как индивидуальные, так и групповые сообщения. Мне пришлось разработать интерфейс, серверную часть для хранения пользовательских данных и сообщений, протокол связи, И мне настоятельно рекомендовали развернуть программу.
Эм… так вы хотите, чтобы я создал MVP (минимально жизнеспособный продукт) Slack?
Дело в том, что компания должна давать домашнее задание только в том случае, если они действительно уважают ваше время. Я видел задания, в которых есть весь начальный код, и вы можете запустить его через контейнер Docker. Как правило, ваша цель состоит в том, чтобы настроить и расширить код в нескольких местах — и если это не займет более нескольких часов, тогда я в игре.
Практически никто не претендует на одну вакансию. Они обращаются к бесчисленному количеству компаний, надеясь, что смогут выйти в финальные раунды для нескольких компаний, чтобы сравнить и обсудить окончательное предложение. Нечестно со стороны компании требовать так много от кандидата на работу, не платя ему за законную разработку программного обеспечения. Кроме того, существует реальная вероятность того, что они украдут то, что вы создали, независимо от того, получите вы работу или нет.
И, в конце концов, как минимум компании, у которых есть чудовищное домашнее задание, дадут вам чудовищный объем работы, как только вы начнете. Если задание кажется чрезмерным, просто пропустите его и переходите к следующему заданию. Защитите свое время.
# 2 — Их вопросы по кодированию не соответствуют вашим навыкам.
Задаваемые вопросы по кодированию уже могут сильно различаться, но они могут различаться еще больше в зависимости от уровня стажа инженеров-программистов. Как правило, собеседования начального уровня (0–2 года) должны состоять из простых/средних вопросов о программировании и, возможно, самых простых вопросов о проектировании системы. Для среднего уровня (2–5 лет) ожидайте вопросов по кодированию от среднего до сложного и обязательно подготовьтесь к проектированию системы. Старшие инженеры должны ответить на множество вопросов на собеседовании, касающихся очень сложных проблем кодирования, концепций проектирования систем, а также их знаний о новейших технологиях.
Поэтому, если вы претендуете на должность начального уровня и вам задают сложные вопросы по теории графов, не ваша вина, что вы провалили собеседование. Это вина интервьюера, так что не теряйте самоуверенности и избавьтесь от нее.
Некоторые компании добавили еще один уровень в процесс технического собеседования — домашнее задание, состоящее из вопросов по программированию. Amazon хорошо разбирается в этом, но я считаю, что эти вопросы справедливы с их стороны, чтобы убедиться, что вы справитесь с ними на месте. Тем не менее, некоторые компании находятся в дурацкой стране. Я подал заявку на должность начального уровня и получил задание по кодированию, где у меня был один час, чтобы ответить на вопрос. Вот краткое изложение того, что они спросили.
Монстр печенья хочет заполучить тебя, потому что у тебя есть его любимое печенье. Вы и куки-монстр разделены на большом складе, где куки-монстр находится в верхнем левом углу склада, а вы - в правом нижнем. Печенье-монстр должен пройти через комнаты, чтобы добраться до вас, и каждая комната может содержать или не содержать печенье. Если в комнате есть печенье, монстру-куки требуется дополнительное время, чтобы пройти через эту комнату. Если cookie-файл является «слабым местом» для cookie-монстра, это занимает еще больше времени. Найдите самый быстрый путь от куки-монстра к вам на складе.
Если вы достаточно подготовились и просто не можете разобраться в вопросах компании, не теряйте время. Уважайте себя и идите дальше.
№3 — Интервьюер отказывается сотрудничать с вами.
Я понимаю, что мы должны «решать вопросы, используя только наши навыки решения проблем», но если ваш интервьюер чувствует себя проктором на экзамене — есть проблема. Многие вопросы по кодированию среднего и сложного уровня — это абсурд, чтобы просто придумать решение. Вам нужно понимать основы информатики как свои пять пальцев, и, честно говоря, вам также нужно видеть проблемы, похожие на ту, которую вам задают.
Если вопрос поставил вас в тупик, а ваш интервьюер не предлагает никаких советов или указаний, ну и черт с этим парнем. Во время одного виртуального выезда (какой странный срок) я успешно прошел первые три собеседования и прошел четвертый из пяти раундов. В то время моим основным языком программирования был Go, и позвольте мне сказать вам, что Go не предназначен для взаимодействия с объектами нескольких типов.
Большая часть моего времени уходила только на то, чтобы понять, как обрабатывать неизвестные типы данных, которые мне давали, и всякий раз, когда я спрашивал у интервьюера, как мне следует обрабатывать данные, мне говорили: «Ну, это вам решать». вне." Боже, теперь это парень, с которым я хотел бы работать изо дня в день.
Даже если вы отчаянно нуждаетесь в этой новой работе, не жертвуйте собой, работая с паршивыми коллегами. Работайте с людьми, которые с радостью ответят на ваши вопросы и дадут вам обратную связь, а не с теми, кто ожидает, что вы будете делать коммиты, даже не попросив проверить код.
# 4 — Преимущества не ясны и не справедливы.
Как разработчики программного обеспечения, мы являемся одними из самых привилегированных людей в мире, когда речь заходит о вознаграждении. Хотя важно быть благодарным, оплата соответствует рынку. Кроме того, очень важно знать себе цену. Средняя заработная плата инженера-программиста составляет около всего 90 тысяч долларов в год. Но если у вас есть более узкоспециализированные и востребованные навыки или вы показали, сколько вы можете предложить, никогда не соглашайтесь на меньшее.
Вы можете узнать больше о том, чего вы стоите, если будете откровенны со своими коллегами и своей сетью контактов. Не бойтесь спрашивать, что делают люди, но делайте это уважительно. Потратьте время и на создание своей сети, потому что это лучший способ узнать, где находится текущий рынок труда.
Если вы спросите компанию во время первоначального телефонного разговора, какова компенсация, и они ответят: «Ну, это будет раскрыто в конце процесса собеседования», тогда бегите. Компенсация должна быть размещена непосредственно в списке вакансий, но, увы, обычно вам приходится запрашивать эту информацию.
Наконец, сделайте все возможное, чтобы к концу поиска работы получить как минимум два предложения. У вас будет гораздо больше возможностей договориться о более высокой зарплате, если вы сделаете встречное предложение от другой компании. Раньше мне казалось, что я не заслуживаю просьбы о бонусе при регистрации или помощи в переезде, и я здесь, чтобы сказать вам, чтобы вы выбросили это мнение из окна.
Технологические компании получают одну из самых высоких норм прибыли в мире, и это благодаря инженерам-программистам. Так что не жертвуйте своей ценностью, будьте настойчивы, но уважительны и спросите у своей сети, на что вы должны настаивать в качестве полной компенсации.
На этом мой список заканчивается! Есть еще много красных флажков, но это одни из самых важных, которые я видел. Какие красные флажки вы видели в своих интервью?
Если вы хотите поддержать меня напрямую, вы можете зарегистрироваться на Medium, используя мою реферальную ссылку ниже. Большое спасибо, что нашли время, чтобы прочитать мою статью.