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

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

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

Хуже всего то, что собеседования могут быть в высшей степени субъективными, поскольку у вас может быть необходимая квалификация, соответствующий опыт, достаточные знания и практики Leetcode, но вы все еще чего-то упускаете (или имеете что-то нежелательное ), что в конечном итоге привело к их провалу.

Итак, без лишних слов, вот несколько причин, по которым некоторых разработчиков не принимают на работу:

Они слишком нарциссичны

Честно говоря, во время интервью вы должны говорить о хорошем… себе.

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

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

Бонусные баллы, если они думают, что они слишком хороши для работы и «компания их не заслужила».

Наличие нарцисса в вашей команде - это большой запрет, потому что они будут выполнять только те задачи, которые им удобны, и никогда не будут изо всех сил стараться обеспечить успех команды (если это не принесет им признания), в результате эти Контрольные признаки дадут интервьюерам повод сказать «нет» в процессе отбора.

Они слишком высокомерны

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

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

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

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

Они не слушают

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

Фактический сценарий, с которым я столкнулся:

Интервьюер: «Итак, вот вопрос, который у меня к вам сейчас…»

Опрашиваемый: * прерывает интервью *

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

«Честно говоря, я сам решил довольно много проблем с Leetcode, выполнив почти 50 сред и 20 жестов, что довольно безумно. На каком языке вы бы предпочли, чтобы я его запрограммировал? Я неплохо владею Python, но могу также написать Java или C ++, если вам нужно ».

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

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

Им не хватает коммуникативных навыков

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

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

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

Последние мысли

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

Лучший совет - оставаться скромным, усердно работать и надевать шляпу удачи перед собеседованием.

Как обычно, береги себя и до следующего раза.

~ Тим

Пожалуйста, подумайте купите мне кофе.
Присоединяйтесь к моей рассылке на Medium или email 📫

Больше контента на plainenglish.io