Собеседование с кандидатами на «плохие» проекты

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

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

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

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

Некоторые распространенные проблемы, которые я видел:

  • Некоторые преимущества, такие как работа из дома и свободный день в месяц (да, у нас есть один свободный день в месяц, который можно запросить в любое время), обычно теряются при работе из офиса клиента. HR обычно опускает это.
  • Некоторые клиенты, с которыми мы работаем, поддерживают некоторые API, которые мы используем, но они плохо документированы, несмотря на то, что команды много раз жаловались. Каждый раз, когда клиент изменяет API-контракты, это наносит ущерб команде.
  • В некоторых проектах не используется никакая система контроля версий, потому что это не разрешено клиентом.
  • Другие клиенты предоставляют разработчикам виртуальные машины, которые невероятно медленны — разработчики могут испытывать задержки при каждом нажатии клавиши.
  • Поскольку в таких проектах большая текучка, в проекте нет «эксперта», а документация очень плохая, что приводит к проектам с большим количеством «сюрпризов».

...и более.

Как мне поступить с этим? До какого момента я должен быть полностью искренним? Должен ли я «придумывать» некоторые вещи?

Изменить после некоторых комментариев

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

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

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

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

[Примечание] Конечно, программный процесс проекта нуждается в срочном улучшении, но это не входит в мои обязанности.

[Примечание 2] Я живу не в США (вы могли заметить из-за моего базового уровня английского), но я живу в стране третьего мира - здесь многое до сих пор делается на бумаге и вообще без использования компьютеров. Таким образом, несмотря на то, что наличие ИТ-области кажется огромным улучшением, еще многое предстоит сделать. Обучение клиента может быть слишком сложным, в большинстве случаев они смотрят на них коротко и не хотят слишком много вкладывать в технологии. Черт возьми, я провел собеседование со многими кандидатами из компаний, которые вообще не использовали CVS (и это было одной из причин, по которой они искали другую работу).

Я настоятельно не рекомендую вам лгать или выдумывать, иначе вы заставите их приходить сюда и задавать подобные вопросы :
Вы говорите, что они, скорее всего, начнут работу над этими плохими проектами, но вы также говорите, что в этих проектах высокая текучесть кадров. Ожидаете ли вы, что новый сотрудник начнет работу над этим проектом и вскоре после этого переключится на другой проект?
вероятно, нет. В проектах не слишком много ротации. Обычно людей из других проектов переводят в эти уродливые, потому что компания может не найти кого-то, кого можно нанять.
Вы (компания) должны, если это возможно, отделить устаревшие технологии от работы с текущими технологиями. Ни один компетентный разработчик никогда не будет работать исключительно с устаревшей технологией. Это карьерный убийца.
Я считаю, что некоторым людям действительно может понравиться вызов «плохого» проекта, в котором они могут оказать значительное влияние. Вместо того, чтобы сосредотачиваться на всех аспектах, которые вы ненавидите в этом проекте, возможно, сосредоточьтесь на всех интересных проблемах и возможностях, чтобы превратить этот «плохой» проект в «не-ужасный» проект. Если они попадут в этот проект, у них может появиться реальная возможность сразу же продемонстрировать свои таланты, что может быть хорошо для талантливых людей.
@ColleenV, хотя это может быть правдой, до сих пор я никогда не брал интервью у кого-то с таким профилем.
@MisterPositive Я обновил свой вопрос из-за вашего комментария
@Gonzalo.- «старые технологии, сложные клиенты, бюрократия, работа из офиса клиента, а не компании, много обслуживания, а не чистой разработки». Вы описали мою текущую работу. Я ненавижу свою жизнь теперь :)
Просто примечание для вас и других людей, для которых английский язык не является родным: пожалуйста, не извиняйтесь за свой английский — вы можете стесняться этого, но с моей точки зрения (и, возможно, других) ваше беспокойство не имеет значения. представляются оправданными. Если бы вы не упомянули, что вы не являетесь носителем английского языка, я бы никогда не догадался. Ты даже сленг употребил правильно! («Черт возьми») Расслабьтесь — у вас все отлично. :-)
Например, проекты без контроля версий говорят вашему кандидату, что компания не слишком разборчива в том, какую работу брать на себя. Ни одна из причин этого (финансы недостаточно сильны, чтобы отказаться от плохой работы, чрезмерная зависимость от одного очень крупного клиента, менеджмент не знает о последствиях этого) не является хорошим аргументом в пользу продажи!
Правильно ли я понял, что в зависимости от своего назначения сотрудники, по сути, лишаются 6 дней отгулов каждый год из-за того, что не получают свободные дни?
Some projects don't use any version control system because the client doesn't allow it. Ой! Извините, пока я поднимаю челюсть с пола. Интересно, насколько прибыльным должен быть проект, чтобы мириться с таким идиотизмом.
Есть ли компенсация за такие вещи, как отсутствие выходных после обеда? Можете ли вы уговорить свою компанию доплачивать разработчикам за плохие проекты? Предоставление дополнительного оплачиваемого обучения или подобных льгот? Если вы ожидаете, что я смирюсь с подобными условиями, вам лучше сделать так, чтобы это стоило моего времени, или я ухожу оттуда. Ваша самая большая проблема заключается в удержании, а не в привлечении новых сотрудников. Вербовка — это обливание борта лодки водой из ведра. Удержание устраняет утечку.
Так много ответов и комментариев здесь, кажется, показывают полное отсутствие того, как ведется бизнес. Когда вы оказываете услугу другой компании, ваши возможности «перевоспитать» клиента ограничены. У них свой способ ведения бизнеса, и вы тратите впустую ценный политический капитал и рискуете потерять их как клиентов, если попытаетесь диктовать им, как им вести бизнес. Никто не любит, когда ему поучают и говорят, что он что-то делает неправильно, и обычно люди предпочитают избегать деловых отношений с компаниями, которые даже попытаются сделать что-то подобное.
кажется, что единственный способ решить проблему — это сообщить людям о проблемах и предложить достаточно денег, чтобы это стоило мучений. вы говорите, что проекты прибыльны, если это так, то они должны быть в состоянии позволить себе платить достаточно, чтобы удерживать / нанимать людей, при этом честно говоря о болевых точках. если проекты прибыльные, но не настолько прибыльные... это прибыльно только если вы смотрите на наличные и ни на что другое; денежный поток только временно положителен, пока у вас не закончатся люди, желающие работать над проектом.

Ответы (4)

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

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

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

  • Работайте над этими мягкими навыками! Вы знаете, как агенты по недвижимости часто называют небольшой дом «уютным», а сломанный — «ремонтником»? Что ж, безусловно, есть положительные способы продать опыт. Хорошо, так что, может быть, эта работа не то, что вычто вы хотите сделать, но в зависимости от обстоятельств... например, акцент на обслуживании, а не на разработке, может быть представлен как отличная возможность для человека, плохо знакомого с S-Dev, но имеющего, например, опыт работы в области обеспечения качества или технической поддержки, чтобы оттачивать свои навыки, работая в установленных рамках. Если вы находитесь в офисе клиента и работаете бок о бок с ним, это может быть отличной ситуацией, чтобы научиться разговаривать с конечными пользователями и заинтересованными сторонами и понимать их (что, кстати, очень, очень полезно для любого программиста). ). Даже справляться с бюрократией — это навык, который можно отточить и который может быть очень и очень ценным в некоторых профессиях.

  • Некоторые из этих вещей будут нарушать условия сделки, или, по крайней мере, должны быть. Извините, мне пришлось добавить это, потому что исходный пост был изменен. Я постараюсь сделать это как можно более неспецифическим для отрасли, но я должен сказать, что нетхорошее оправдание отсутствия контроля версий/исходников, и точка. Даже крошечный дом имеет доступ к Github. Если клиент не позволяет этого, клиент должен быть информирован о том, почему это необходимо. Поскольку это относится к вашей ситуации, это сложная ситуация. Если бы я обратился к вам, одна из вещей, о которых я определенно спросил бы, это ваш контроль версий. Если ты солгал мне об этом, я могу уйти в первый же день. Я бы почти наверняка ушел, если бы не нашел систему управления версиями и получил отказ, когда попытался реализовать какую-то его форму. Более младший разработчик может не «понимать» важность этого и поэтому может не спрашивать. Даже тогда, я не знаю, я сомневаюсь, должны ли вы чувствовать себя обязанными поднимать этот вопрос самостоятельно.

Честно говоря, все эти другие вещи являются рабочими вопросами. Мне приходилось иметь дело с медленными и тормозящими рабочими станциями, бюрократией, действовать как мой собственный БА, выяснять, что я должен делать по мере продвижения... на самом деле, все эти вещи, я чувствую, являются частью опыт разработки программного обеспечения. Работа без контроля версий невозможна или, по крайней мере, не должна быть (и я уверен, что в других отраслях есть подобные «неудачные» вещи).

проблема с работой в офисе клиента заключается в том, что некоторые преимущества (например, работа из дома и другие) теряются, и об этом обычно не говорят в отделе кадров. Другая проблема заключается в том, что у этих клиентов обычно есть своя ИТ-область, поэтому они просто платят за человеческие ресурсы компании.
Тогда я бы сразу рассказал о первой части, особенно если они спросят, есть ли возможность работать на дому. Ко второму... Я немного не уверен в том, что вы говорите; можешь уточнить?
извините, если я не ясно. Английский не является моим основным языком, поэтому, хотя я уверен, что есть «термин» для того, что я хотел объяснить, я его не знаю. Дело в том, что у клиента есть ИТ-сфера и заинтересованные стороны. Они платят моей компании за разработчиков — моя компания нанимает разработчиков, но они посылают их к этим типам клиентов, чтобы они работали над тем, что они хотят. Из-за этого обычно отправляются джуниоры (младшие), которые дешевле ... и обычно больше беспокоятся об изучении новых технических навыков, чем о бюрократии или общении с заинтересованными сторонами.
А, да ладно, сами новые сотрудники меньше беспокоятся о мягких навыках. Я имею в виду, я понимаю это, но, как я уже сказал, я думаю, что это шанс для вас продать им навык, который им на самом деле нужен так же сильно, как и так называемые «сложные» навыки. Я знаю, что мой опыт — прежде чем заняться разработкой программного обеспечения, я занимался обслуживанием клиентов — много раз помогал мне в общении с людьми, даже когда моя работа на 99% состоит в том, чтобы сидеть и писать код.
Я не думаю, что вы можете продать проект, который не допускает контроль версий, как нечто иное, как "плохой проект"...
@Erik Моя мама всегда говорила, если ты не можешь сказать ничего хорошего, вообще ничего не говори.
Ой! Это было добавлено после моего комментария. Я собираюсь редактировать.
@JonathonCowley-Thom "Какие здесь проекты?" «Я не хочу об этом говорить. Не могли бы вы спросить что-нибудь еще?»
@ Эрик Мар Нет, это все еще о чем-то говорит. На вопрос нужно отвечать каменным молчанием.
«Разработайте свои социальные навыки», «приложение, которое вы будете разрабатывать, существует уже 10 лет, и оно все еще предлагает проблемы» -> КРАСНЫЙ ФЛАГ, КРАСНЫЙ ФЛАГ. Вы можете представить это так, как хотите, если только вы не проводите собеседование с новичком или кем-то, кто просто хочет получить работу по техническому обслуживанию без особого интереса к ней, которая не сработает. Тип работы для поиска кого-то, у кого есть навыки, но не слишком много энтузиазма.
У меня появилась привычка спрашивать о контроле версий на собеседованиях. Приемлемыми ответами будут CVS, Subversion, Git или что-то подобное. Неприемлемые ответы включают RCS и SCCS. Пустой взгляд может нарушить сделку.

Я бы ответил на этот вопрос, сказав что-то вроде этого:

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

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

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

"...если нет, то через некоторое время вам все равно будет предоставлена ​​возможность сменить проект." - Не говори так, если не можешь обещать. Я бы удержал тебя от этого, лично.
компания не переводит сотрудников в унаследованную систему, чтобы «с чего-то начать», она делает это, потому что в этих проектах высокая ротация. и, как сказал Уэсли, я не могу этого обещать, потому что я не назначаю людей на проекты
"Мне уже приходилось говорить что-то очень похожее кандидатам раньше" И когда вы сказали это, это было правдой? Гонсало уже говорил нам, что разработчики редко меняют проекты на его рабочем месте, поэтому он точно не может сказать это соискателю.
Давать обещание, которое вы не уверены, что сдержите в будущем, хуже, чем солгать прямо сейчас.

О лжи по бездействию

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

Если у меня есть несколько вариантов трудоустройства: я уйду очень быстро и, вероятно, расскажу другим, кто спросит. Представитель вашей компании обязательно уволится, если HR будет делать сомнительные вещи (см.: HR usually omits that)

Отсутствие инструментов для работы (отсутствие контроля версий, медленные компьютеры)

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

На проектах, у которых есть «багаж»

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


Как вы доносите реальность до интервьюируемых?

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

Как человек, привлекаемый для подобных проектов, я это вижу так:

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

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

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

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

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

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