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

Я ищу новую работу в Германии в качестве старшего разработчика (7 лет опыта) и проходил собеседования на различные должности в крупных компаниях (минимум 1000 сотрудников, ИТ-команды 200 разработчиков).

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

Должен ли я рассматривать это как знак того, что они несерьезно относятся к ИТ? Или это норма?

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Я тоже немец, но начинающий/средний разработчик. Я думаю, что у меня было только одно собеседование (примерно из 10), на котором я выполнял настоящую задачу по кодированию, и одно, на котором я выполнял какое-то простое выражение LINQ на доске. Кажется, здесь это не так уж часто.
Ха, я знаю эту компанию. С... или Д..Н.., верно? :) На мой взгляд, это плохой знак.. Ах, когда я вспоминаю, как много я готовился к некоторым интервью, и это было так легко в конце... И эта легкость НИКОГДА не является хорошим знаком.

Ответы (7)

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

Пример

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

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

Это не плохой знак . Быть лучшим разработчиком в нетехнической среде может быть лучше, чем попасть в Google. Внутреннее продвижение в Google очень конкурентоспособно , но у вас не будет конкуренции на нетехническом рабочем месте!

Нетехническое рабочее место может быть не столь конкурентоспособным, но и не будет иметь много возможностей для продвижения в качестве программиста. Я не удивлюсь, если @chiplax узнает на своей новой работе, что выше него нет других должностей программиста. Так что отсутствие конкуренции за несуществующую позицию не является большим плюсом.
@Mindwin, может быть, мы не знаем. Как насчет возможности для технического директора или что-то вроде архитектуры программного обеспечения?
Хотя, если у них уже есть неплохая кодовая база (которая, возможно, даже была сделана для них подрядчиками), вы можете попасть в ситуацию, когда вам нужно очистить большую кучу дерьмового кода, о котором они, возможно, даже не знали, что это было так плохо (потому что у них не было опытного разработчика, чтобы рассказать им...)
@StudentT, мы можем надеяться, [что хотя бы] один парень сможет заставить нетехнологическую компанию ценить технических людей (и не относиться к нему как к «отличному парню»). Или, наконец, выйти из френдзоны с понравившейся девушкой. Если говорить по опыту, то [и этого] обычно не бывает. Но мы можем надеяться.
@JanNash и, пожалуйста, очистите эту дрянную кодовую базу к следующей неделе.
@Mindwin и не забудьте все протестировать... какие характеристики? Код является спецификацией.
Обратите внимание, что, поскольку ОП специально спрашивает о Германии, там не принято (и фактически: незаконно, см. zeit.de/karriere/beruf/2014-10/… в качестве источника) звонить предыдущим работодателям.
Работа в нетехнической компании в качестве младшего разработчика программного обеспечения была для меня прекрасной возможностью, но я сомневаюсь, что через семь лет мне будет куда двигаться дальше. Мне придется убедить руководство создать все роли, на которые я хочу продвигаться, и в конце концов в этом просто не будет необходимости. Так что я не так уверен в этом утверждении. Хотя у него, безусловно, есть и другие преимущества.
@dirkk Я не знаю, насколько это распространено в Германии, но вы ошибаетесь, просто говоря, что это незаконно; это законно, с разрешения соискателя. Из той же статьи, на которую вы ссылаетесь: «Sie dürfen den ehemaligen Arbeitgeber eines Bewerbers nur anrufen, wenn Sie von dem Bewerber die Erlaubnis dafür erhalten».
@SeldomNeedy Да, конечно (очевидно, я читаю статьи, которые цитирую...). Однако это не имеет значения здесь, учитывая, что ОП, очевидно, знал бы об этом, когда его спросили.
@dirkk Я почти уверен, что всегда уместно быть откровенным в своих заявлениях, особенно в тех, которые касаются закона. И я не верю, что ОП в любом случае заявил, просили ли его разрешения связаться со своими рекомендателями или нет.
Еще один момент, который следует учитывать: если у вас есть опыт и хорошее резюме, которому они доверяют, нет реальной необходимости давать вам задания по программированию. Вы зарекомендовали себя за последние семь лет.

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

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

Почему это? Ну, большая часть нашего интервью записана. У нас нет системы «справок», когда HR звонит бывшему коллеге или начальнику и получает устную информацию. У нас есть система письменных отзывов, как для сертификатов, так и для предыдущего опыта работы. Теперь вы могли бы сказать: «Ну, но это еще проще сымитировать, чем заставить парня ждать случайного звонка. Это просто бумажка, которую мне нужно составить!» и это правда. Но это в файле . Навсегда.

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

Так что лгать — это самая глупая вещь, которую вы можете сделать при приеме на работу, в Германии даже больше, чем где-либо еще. Немцы полагаются на то, что соискатели знают об этом и действуют соответственно. Если у вас есть документ, в котором говорится, что вы хорошо поработали в своей предыдущей компании (Arbeitszeugnis), они склонны этому верить. Если у вас есть документ, в котором говорится, что вы успешно закончили свое образование, они склонны этому верить.

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

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

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

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

По крайней мере, стоит поставить галочку за то, что у вас есть хорошее представление о том, как другая страна справляется с набором сотрудников.
Дело не в мошенничестве, просто люди плохо судят о собственном уровне мастерства . Это верно для каждой страны. Я брал интервью у разработчиков, которые оценили свои навыки на 7/10 и не могли решить простейшие мыслимые задачи программирования. Никогда не приписывайте злому умыслу то, что можно приписать некомпетентности.
@BlueRaja-DannyPflughoeft Это правда, и Германия в этом отношении не исключение. Но абитуриенты приходят с большим количеством документов, которым можно доверять, поэтому, что бы они ни говорили о себе, у меня будут и заявления других. Если кто-то говорит, что он на 9/10, и его образовательные записи оценивают его как C, а все его бывшие работодатели оценивают его как «средний», тогда я знаю, чему верить, независимо от того, что этот человек думает о себе.
Кроме того, немецкие суды заявляют, что подача заявления аннулирует ваш трудовой договор, и они без колебаний возбуждают уголовное дело за совершение преступлений.
Небольшое замечание: ссылки в Соединенных Штатах и ​​других странах пишутся довольно часто (особенно в академических кругах), но в немецкой системе они всегда .
Что, черт возьми, сделали немцы из саги Скотта Томпсона/Yahoo ?
Я не уверен, насколько возможность аннулирования контракта играет роль в пользу Германии. По крайней мере, в Калифорнии, штате по воле, вы можете просто отпустить человека на второй день по любой причине или вообще без причины (если только он не принадлежит к защищенному классу).

Я архитектор решений, работаю в Германии, и у меня смешанный опыт.

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

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

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

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

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

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

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

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

Да, это плохой знак.

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

Почему ?

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

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

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

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

Эр. Я не согласен. Тест не гарантирует, что у вас есть умный кандидат или сотрудник. Они могут сделать что-то с нуля, но не в системе, которая существует и имеет растяжки. У меня были оба типа интервью, и я думаю, что они получают больше от устного интервью, где мне могут задать вопрос о более конкретной ситуации или что, если, а не писать еще один привет, мир. Вербальные тесты остаются тестами.
Я никогда не говорил, что с ним не должно быть устного интервью. Убедиться, что кто-то действительно может писать код и мыслить логически, — уже отличное начало. И я могу вас уверить, что в компании, где я работал, многие разработчики не смогли, потому что они не были протестированы. Техническое собеседование — это просто хороший способ отфильтровать большинство плохих кандидатов (но это также может отфильтровать некоторых хороших).
Поскольку это относится к старшему разработчику, может случиться так, что человек, дающий интервью, будет знать, каковы будут требования к кодированию (конечно, как указано в вашем ответе). Или, как в одном случае, человек был не согласен с тем, как разработчик ответил на вопрос. Откуда человеку было знать, каким будет стандарт кодирования и что он пошел против него. В целом, я думаю, что вопрос OP, является ли это «плохим знаком», является довольно произвольным и подвергается большому анализу «что, если».
ИМО это не случайно, для должности старшего разработчика в компании с другими разработчиками.
Не было упоминания о том, сколько других разработчиков было там, если таковые имеются, насколько технически подкован интервьюер, из чего состоит процесс собеседования в компании или как он проводится (многоэтапные собеседования? Базовые знания eval->psych eval->HR интервью->собеседование с командой->?), так что это произвольная ситуация, чтобы сказать «Это плохо».
Спросите себя честно: какой правильный и интересный технический тест вы могли бы предложить потенциальному старшему/ведущему разработчику , который не предполагает, что соискатель принесет с собой на собеседование спальный мешок и зубную щетку? может я немного преувеличиваю, но суть вы поняли
@crizzis: На самом деле простой глупый тест, любой практичный (т.е. не нарисованный на доске, а закодированный и запущенный) вариант FizzBuzz, по моему опыту все еще отфильтровывает старший персонал, и как относительно старший разработчик в настоящее время я не вижу такой вещи, как оскорбление моего интеллекта. Является ли это правильным фильтром с точки зрения бизнеса, спорный вопрос. Однако лично я был намного счастливее, работая в командах, где базовые навыки решения проблем, подобные этому, проверяются, а не предполагаются из-за многолетнего стажа.
@SliderBlackrose в вопросе: «(минимум 1000 сотрудников, ИТ-команды 200 разработчиков)». -> Я не уверен, что еще вам нужно знать, сколько других разработчиков в компании.
@crizzis Я согласен с Нилом Слейтером, вы будете удивлены, узнав, сколько старших разработчиков на самом деле не могут писать код, но действительно хороши в ерунде, поэтому легко проходят технические обсуждения.

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

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

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

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

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

Вы ставите их перед активной и готовой IDE и даете им небольшое задание.

Выведите «tshoausuntagpcurhntaougcruats» без t, o, h и окончания строки после второго g.

Просто наблюдая, вы сразу узнаете, есть ли у кандидата опыт работы с языком (сразу будет кодировать) или у кандидата нет опыта работы с конкретным языком, но он знает код (им нужно «перевести» конструкции кода, использовать неправильные шаблоны (C++ => Java ==/equals, C# => count/size()), но выполнят задачи). Затем есть плохие программисты и полные некомпетентные.

Также сразу можно увидеть вредные привычки:

  • Несколько команд подряд; эти люди часто не отлаживают.
  • Несколько не говорящих имен переменных или констант i,k,j,ab,abcj и т. д.
  • Чрезмерное повторное использование переменных, нарушение области видимости, отсутствие управления памятью.
  • Нет форматирования (на самом деле не важно, какой стиль форматирования, главное, чтобы он был последовательным и читабельным).
  • Вуду-программирование: возврат в конце метода void, продолжение в качестве последнего оператора в циклах, инициализация одних и тех же переменных дважды.... делайте странные вещи, чтобы избежать гнева непостижимого компилятора.
Я видел многих из тех, кого мы называли Wizard's Apprentices в честь генератора кода IDE «волшебник» и диснеевского мультфильма. Я спрашиваю их у белой доски, а не у IDE . Некоторые понятия не имеют, как на самом деле написать класс (на C++).
I и j очень распространены, поскольку индекс массива в техническом программировании является пережитком 50-х/60-х годов и Фортрана.
Мало того, что iобычно используется индекс цикла, использование другого имени вводит в заблуждение, поскольку предполагает, что переменная представляет собой нечто большее, чем индекс цикла. И в моей книге «отсутствие управления памятью» было бы лучше, чем «хорошее управление памятью». Я несколько подозреваю, что мне понравился бы стиль интервью Торстена, потому что это помешало бы мне работать на него .
@MSalters А откуда вы знаете, что я не более чем индекс цикла или наоборот? Разве вы не хотели бы сразу знать, что это строка , столбец , индекс (только прямой доступ), смещение (используется только с базой), счетчик (ничего не делает)? Это просто предотвращает ошибки. В первые дни память была настолько ограничена, что короткие имена окупались для переводчиков, так что это было вполне разумно. Языки GC'd все еще могут иметь ненужные ссылки на открытые объекты/системные дескрипторы, если вы не будете осторожны. (И ты мне тоже нравишься.) В любом случае, я предлагаю перенести комментарии в чат, если нам нужно обсудить это дальше?
@ThorstenS.: Вы упускаете суть: автор знает и выбирает iЕСЛИ И ТОЛЬКО ЕСЛИ это не более чем простой индекс цикла. Это сильная условность. В нем говорится: «Здесь ничего нет в моем рукаве, не утруждайте себя поиском скрытого смысла». Попытка навязать осмысленное имя при отсутствии такового активно вводит в заблуждение будущих читателей.
@MSalters В основном я вижу только исходный код, поэтому существует соглашение о кодировании, зависящее от компании или языка. Проблема возникает, если соглашение (i=неважно) выполняется по неправильной причине: потому что это легко . Тогда ваш аргумент является ошибкой, потому что автор использовал i, потому что он / она не знает и ему все равно . Поскольку я не могу читать мысли, мне нужно увидеть больше кода, чтобы понять настоящую причину. Вы обижены, потому что думаете, что я утверждаю: «Использование i => плохого программиста»? Не так. Каждая «плохая» привычка может быть совершенно верной, но в совокупности и в неправильных местах они являются предупредительным знаком.

Должен ли я рассматривать это как знак того, что они несерьезно относятся к ИТ?

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

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

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

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