Читать книгу Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию - Гейл Макдауэлл - Страница 19

Часть III. Нестандартные случаи

Оглавление

Кандидат-профессионал

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

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

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

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

Исключением из этого правила являются вопросы по системному дизайну и архитек

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

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

Тестеры и SDET

О вакансии SDET (Software Design Engineer in Test, программист-тестер) следует поговорить отдельно. Специалисты в этой области должны быть не только прекрасными программистами, но и прекрасными тестерами.

Если вы претендуете на должность тест-программиста:

• Подготовьтесь к базовым задачам тестирования. Как вы будете тестировать лампочку? Ручку? Кэш-регистр? Microsoft Word? Глава 12 «Тестирование» поможет ответить на эти вопросы.

• Подготовьтесь к заданиям, связанным с программированием, – тестер обязан уметь программировать. Хотя требования к SDET ниже, чем для SDE (Software Design Engineer, разработчик программного обеспечения), вам необходимо разбираться в алгоритмах. Убедитесь, что вы можете справиться с заданиями по алгоритмизации и программированию, которые даются обычным разработчикам программного обеспечения.

• Совершенствуйте навыки тестера и программиста. В качестве примера возьмем очень популярное задание: «Какой код нужно написать, чтобы получить X?» Далее обычно следует: «Ок, а теперь протестируйте его». Даже если вас об этом не спросили, уточните: «Как именно нужно протестировать код?» Помните: любое задание может превратиться в тест-задачу.

Для тестеров программного обеспечения очень важны коммуникативные навыки, поскольку им приходится работать с людьми. Не игнорируйте часть V «Подготовка к поведенческим вопросам».

Совет

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

Не позволяйте атрофироваться навыкам программирования.

Менеджеры программ и менеджеры продукта

PM[5] – общая аббревиатура, которой обозначают как менеджеров программ, так и менеджеров продукта. Но роли и задачи этих двух PM сильно различаются даже в пределах одной компании. В Microsoft, например, некоторые PM, по сути, выполняют функции маркетологов, то есть больше общаются с клиентами, нежели программируют. А вот в других компаниях PM могут провести большую часть своего рабочего дня, занимаясь программированием.

Когда интервьюеры ищут кандидата на должность PM, они ищут человека, способного продемонстрировать следующие навыки:

• Обработка неоднозначностей. Это не самая главная часть собеседования, но вы должны знать, что интервьюеры приветствуют подобные навыки. Им важно понять, что вы будете делать, когда столкнетесь с неоднозначной ситуацией. Поэтому постарайтесь продемонстрировать, что вы не остановитесь, займетесь поиском новой информации, расстановкой приоритетов и решите задачу. Обычно кандидатов не просят решать конкретную задачу (хотя и такое может быть), достаточно рассказать, что вы будете делать в такой необычной ситуации.

• Потребительский фокус. Интервьюеры хотят видеть, что вам хорошо знакома целевая аудитория. Вы твердо уверены, что все потенциальный потребители будут использовать программный продукт точно так же, как и вы? Или вы способны взглянуть на продукт с точки зрения клиента и попытаетесь понять, как он будет пользоваться программой? Ожидайте заданий типа «Разработайте будильник для слепого». Вы должны понимать, кто является вашей целевой аудиторией и как он будет использовать продукт. Необходимые навыки описаны в главе 12 «Тестирование».

• Потребительский фокус (технические навыки). Некоторые команды, работающие со сложными продуктами, хотят убедиться, что их PM понимают сам продукт. Трудно быть эффективным менеджером продукта или программы, если не знаешь, как это работает. Близкое знакомство со всеми существующими клиентами мгновенного обмена сообщениями, вероятно, окажется бесполезным для работы в команде MSN Messenger, но понимание задач безопасности является необходимым условием для работы в Windows Security.

• Коммуникативные способности. PM должен уметь общаться с сотрудниками компании всех уровней подготовки и любого статуса. Ваш интервьюер захочет убедиться, что вы обладаете подобной способностью. Это легко проверяется, например, с помощью простого задания «Объясните, что такое TCP/IP, своей бабушке». Ваши коммуникативные способности легко оцениваются по рассказу о вашей предыдущей работе.

• Страсть к новым технологиям. Счастливые сотрудники – это продуктивные сотрудники, поэтому компания должна убедиться, что вы будете получать удовольствие от работы. В ваших ответах должно прозвучать, что вы увлекаетесь новыми технологиями и можете работать в команде. Вас могут спросить: «Чем вам привлекает Microsoft?» Интервьюеры ожидают увидеть энтузиазм в вашем рассказе о предшествующем опыте и задачах команды. Они хотят видеть, что вы стремитесь решать сложные задачи.

• Работа в команде/лидерство. Это может стать решающим моментом собеседования – ведь это и есть ваша работа. Все интервьюеры пытаются оценить то, как хорошо вы работаете с другими людьми. Интервьюер будет рад видеть, что вы способны справиться с конфликтами, берете на себя инициативу, вы понимаете коллектив, и людям нравится работать с вами. Вам следует уделить должное внимание поведенческим вопросам.

Все перечисленные навыки важны для PM и являются ключевыми для собеседования. Значимость каждой области примерно одинакова.

Ведущие разработчики и менеджеры

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

Дополнительно вас будут оценивать по следующим критериям:

• Работа в команде/лидерство. Претендент на любую руководящую должность обязан быть лидером и уметь работать с людьми. На интервью вас будут оценивать явно и неявно. При открытой оценке вам задают вопрос: «Что вы будете делать, если не согласны с менеджером?» Неявная оценка проводится по результатам вашего общения с интервьюерами. Интервьюер сразу увидит, что вы высокомерны или, наоборот, слишком мягки, чтобы стать лидером (руководителем).

• Расстановка приоритетов. Менеджеры часто сталкиваются со щекотливыми вопросами, например как убедиться, что команда укладывается в сроки. Ваши интервьюеры хотят видеть, что вы способны правильно разложить все «по полочкам» и расставить приоритеты.

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

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

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

Стартап

В стартапах[6] процессы подачи заявления и собеседования имеют существенные различия в зависимости от конкретной фирмы. Мы не можем рассмотреть каждый стартап, но можем обсудить некоторые общие черты. Но не забывайте, что у каждого стартапа есть особенности.

Процесс подачи заявления

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

Виза и разрешение на работу

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

Резюме

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

Процесс собеседования

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

• Подгонка личности. Установите дружеские отношения с интервьюерами – это залог получения вакансии.

• Набор навыков. Поскольку стартапам нужны люди, которые сразу могут приступить к работе, они будут оценивать ваши навыки программирования на конкретном языке. Если вы знакомы с языком, на котором работает стартап, повторите его основы.

• Предыдущий опыт. Стартапперы задают много вопросов о предыдущем опыте.

Уделите особое внимание части V «Подготовка к поведенческим вопросам».

В дополнение к перечисленным критериям на собеседовании часто задаются вопросы по программированию и алгоритмизации, которые вы найдете в этой книге.

5

В крупных компаниях над одним и тем же продуктом, помимо рядовых программистов и тестировщиков, работают менеджеры. Менеджер управления программой (Program Manager) отвечает за архитектуру решения. А вот менеджер управления продуктом (Product Manager) занимается маркетингом и представляет интересы заказчика. Получается, что первый – программист, а второй – маркетолог. – Примеч. перев.

6

Что же такое стартап (start-up)? Английский язык довольно изворотлив, и у понятия startup есть множество вариантов перевода: запуск, начинание, начало, старт и т. д. Все зависит от контекста. Здесь речь идет о компании начального уровня. Итак, стартап – недавно созданная компания – обладает ограниченным набором ресурсов и возможностей. – Примеч. перев.

Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию

Подняться наверх