Этим летом я вернулся в Троицкие Альпы в Северной Калифорнии, чтобы насладиться сладкой и простой жизнью альпинизма. Мне нравится путешествовать по прохладным горным озерам, спать под звездами и чувствовать независимость, но это не всегда было тем занятием, которое мне так нравилось. Я начал в молодом возрасте, и, как большинство детей, я имел обыкновение жаловаться на свои ноги, корчился под неудобной тяжестью на плечах и неоднократно спрашивал «сколько еще». По правде говоря, дискомфорт никогда не проходит.

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

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

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

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

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

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

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

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

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

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

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

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

Я надеюсь, что вы получите работу, на которую претендуете, но даже если вы этого не сделаете, я надеюсь, что вы вырастете и научитесь чему-то для следующей. Удачи!