Те, про що я дізнався з парних інтерв’ю з програмуванням

Деякі компанії воліють поєднувати програми з кандидатами, щоб відчути роботу з ними, оцінюючи їх вміння. Я був у декількох цих компаніях, і найчастіше одним із моїх завдань було бути парою в цих інтерв'ю.

На моїй попередній роботі в консалтинговій компанії у нас були команди для кожного проекту. Деякі проекти мали NDA, і тому кожен, хто приєднується до цієї команди, повинен був увійти в систему. Це призвело до труднощів у використанні цих кодових баз при сполученні з потенційними працівниками. Як результат, ми в основному поєднувались як з внутрішніми проектами, так і з проектами, де клієнт мав змогу показувати код кандидатам.

Зазвичай я був у командах, у яких не було NDA, тому, коли б у нас були кандидати, я був основною парою. Перебуваючи в цій компанії п’ять років, ви можете лише уявити, скільки було кандидатів. Бували випадки, коли під час мого робочого тижня я щодня поєднувався з іншою людиною!

Ми також займаємося парним програмуванням у моїй нинішній компанії. Оскільки я займаюся парним програмуванням з 2010 року, це стало для мене природним.

Але одне, що слід пам’ятати про ці співбесіди, це те, що воно відбувається в обидві сторони : інтерв’юер дізнається про його навички та особистість, тоді як інтерв’юйований дізнається про те, з ким вони працюватимуть і як виглядає типовий робочий день.

Отже, ось уроки, які я отримав із парних інтерв’ю програмування, як співбесідник, так і інтерв’юер. Сподіваємось, це допоможе вам скласти кращу ідею для наступного співбесіди.

Будь готовий

Якщо у вас є щось, що ви можете забрати з цього, нехай воно буде цим. Може здатися очевидним, що, як і в будь-якому інтерв’ю, ви ПОВИННІ бути готовими - але я просто відчув, що мені потрібно наголосити на цьому.

Як інтерв’юер перегляньте резюме, резюме чи вихідний код кандидата, чи подавали вони його. Це допоможе вам встановити власні очікування щодо рівня їх кваліфікації та особистості, що допоможе при спілкуванні з ними. Знання того, що у вас однакові захоплення, може стати хорошим льодоколом!

Як співбесідник перейдіть на веб-сайт компанії та прочитайте / натисніть. Я потрапив у ситуацію, коли подав заявку в якості веб-розробника, і перше запитання, яке мені поставили, було: „Отже, ви бачили наш веб-сайт? Як ви гадаєте, що ви можете зробити, щоб це покращити? " Досить сказати, я зіпсував це інтерв'ю. Тож, принаймні, загляньте на їх веб-сайт. Перегляньте свій код, якщо ви його подали, і перевірте все.

Розслабтеся і будьте собою.

Це може звучати як загальна порада, але набагато важливіше для парного сеансу програмування порівняно із загальним або технічним співбесідою. Чому? Просто тому, що в деяких загальних інтерв’ю співробітник відділу кадрів розмовляє з вами та оцінює вашу особистість на час. Хоча ви знаходитесь у тій же компанії, що і вони, ви не будете безпосередньо працювати з ними щодня.

Під час сеансу парного програмування, якщо компанія так чи інакше займається парним програмуванням більшу частину часу, ви, швидше за все, тісно співпрацюєте зі своїм інтерв’юером як частиною своєї роботи. Це головна відмінність.

Це працює як для інтерв’юера, так і для інтерв’юйованого. Як і в будь-яких стосунках, важко мати довготривалі стосунки, якщо ви будуєте їх на основі лише частини картини. Ваш фундамент стане хиткою землею невизначеності, і рано чи пізно він вийде і може спричинити певні проблеми.

Задавати питання!

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

Я навчився перераховувати набір питань, які я маю задавати протягом дня створення пари. Список не повинен бути в порядку, і вам не потрібно запитувати їх усіх за один раз. Більшість питань виникатимуть під час створення пари, але краще, щоб вони були записані про всяк випадок.

Будучи співрозмовником , пам’ятайте, що деякі співрозмовники ОЧІКУЮТЬ вас задавати питання. Не запитувати означає, що вам не цікаво (чому ви все одно подаєте заявку?) Або ви все знаєте (чого ні).

Кожного разу, коли я поєднуюсь з кимось, я беру до уваги, коли вони задають питання і як часто. Питання можуть варіюватися від простих запитань щодо синтаксису, таких як „Що знову було першим аргументом each_with_index?“ на запитання, пов’язані з роботою, як-от "Чи зазвичай ви сполучаєтеся щодня?"

Тут немає правильних чи неправильних рішень

Для мене це лише питання отримання роботи. Хоча я очікую, що кандидати будуть у найкращому вигляді, я розумію, що вони будуть нервувати, що може трохи вплинути на їхнє мислення.

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

Приклад: коли мене брали співбесіди на мою нинішню роботу (на той момент я вже мав понад шість років досвіду роботи в Ruby), я хитався разом із простим вправою і зовсім забув, як створити Hash. Мовляв, я просто сказав: "Гм. Зачекайте, як мені це зробити ще раз? Гм, я можу щось погуглити? " Досить ніяково, але коли я запитав, моя пара також просто згасла, так що ми обидва погуглили це разом. Веселі часи.

Як інтерв’юер , не затримуйтесь на ідеї власного вирішення проблеми. Існує 11287398173 способів написати FizzBuzz, і ваше рішення (мабуть) не найкраще з усіх можливих. Натомість, будьте більш відкритими для інших рішень і оцінюйте їх якнайкраще.

Коли я роблю співбесіди, я зазвичай маю на увазі відповідь, коли задаю питання, але я слухаю і бачу, що відповідає співбесідник, оскільки це майже ніколи не відповідає моїй. Ви будете здивовані, наскільки творчі люди можуть отримати!

Як співбесідник , пам’ятайте про цей факт і просто робіть свою справу. Не застрягуй, переживаючи, що ти не будеш ефективним (якщо це не було питанням співбесіди!), Але в той же час не будь недбалим. Якщо ви прийдете на сеанс сполучення для компанії, яка робить TDD / BDD, заради вас, спершу починайте з тестів! Вони будуть це шукати (я це роблю!), І ви могли б опинитися на дні купи, якщо просто розіб'єте речі.

Ставтеся до цього як до звичайного спарювального дня

Виходячи зі свого початкового досвіду, я розглядав це як технічне співбесіду. Я сидів біля кандидата і робив нотатки, поки вони друкували свої думки.

Але це НЕ те, як я зазвичай складаю пари, і коли я це зрозумів, я змінив свій шлях. Коли хтось застряг, я штовхав їх, не даючи точно відповіді. Я б поставив кілька запитальних запитань, таких як "Що таке повідомлення про помилку?" або "В чому, на вашу думку, проблема?" або "Що ви могли б зробити, щоб це виправити?"

Як інтерв’юер , дозвольте своєму кандидатові керувати автомобілем 90% часу, але ніколи не на 100%. Це створює враження, що це суворіше технічне інтерв’ю (ти просто поруч з ними дивишся на кожен їхній крок - що насправді ускладнює концентрацію). Поспілкуйтеся з клавіатурою і дозвольте їм розказати вам своє рішення. Це полегшить їх.

Як співбесідник , не просто починайте друкувати з того моменту, як вам дадуть клавіатуру. Почніть обговорювати своє рішення спочатку. Запитайте свого партнера, чи не хоче він мати клавіатуру, поки ви повідомляєте їм свої думки. Нагадуйте собі, що це скоріше спарювання "тест-драйв", а не технічне співбесіду. Що підводить мене до наступного моменту ...

Поговоріть зі своїм партнером

Це перше, що я перевіряю, коли роблю співбесіди. У своїй попередній компанії я зазвичай починав день із пояснення того, що робить додаток, над яким ми працюємо, яка функція, над якою я працюю, і що ми повинні робити. Потім я почав друкувати свої специфікації і дозволив кандидату приймати рішення.

Я звернув би увагу, щоб побачити, що вони робили: іноді вони просто продовжували і починали друкувати, інші спочатку думали мовчки, а треті просто ставили запитання про проблему або повідомляли мені їх рішення.

У моїй нинішній компанії сеанс пар зазвичай фокусується на певній проблемі. Даю кандидату прочитати проблему, а потім чекаю. Якщо вони починають друкувати, нічого не кажучи, для мене це вже червоний прапор. Я ставлю бали людям, які отримують ручку і папір, і починаю пояснювати мені своє рішення за допомогою діаграм.

Як інтерв’юєру важливо продовжувати розмову, щоб кандидат відчував, що це сеанс спарювання. На даний момент ви обоє є єдиною одиницею. Ви обоє повинні вміти добре спілкуватися між собою і відкидати ідеї туди-сюди.

Звичайно, бувають випадки, коли вашому кандидатові потрібно буде думати самостійно, тож хай це буде і у них. Знайдіть баланс між тим, як продовжувати розмову і дозволяти їм зосередитися і вирішити проблему.

Як співбесідник , завжди повідомте партнеру про те, що ви плануєте робити, і яке є ваше рішення. Це дає їм зрозуміти, що ви усвідомлюєте той факт, що це сеанс спарювання і що ви можете добре передавати свої ідеї. Це також створює у них відчуття, що ви ретельно плануєте речі, замість того, щоб йти YOLO.

Нічого страшного, щоб замислитися

На відміну від вищезазначеного, ви також повинні мати час, щоб подумати мовчки. Цілком нормально мати мертве повітря. Ви все-таки не в радіостанції.

Як інтерв’юеру вам рідко доведеться це робити. Але якщо ви потрапили в мою ситуацію, коли ви поєднуєтеся з кандидатом щодо функції, яку ви насправді реалізовуєте, то вам теж знадобиться час на роздуми. Просто повідомте про це партнеру, і це повинно бути добре.

Як співбесідник , ви можете повідомити партнеру, що вам знадобиться трохи часу, щоб подумати, і що ви дасте їм зрозуміти ваше рішення після цього. Це свідчить про те, що ви визнаєте їх присутність і що будете передавати свої думки після того, як обробите їх. Спілкування є ключовим!

Заключні думки

Це лише деякі речі, які я дізнався. Сподіваємось, вони можуть допомогти вам у наступному інтерв’ю. Незважаючи на те, що це не всеосяжний перелік того, як підготувати співбесіду у поєднанні, я думаю, що це може допомогти кандидатам (а також інтерв'юерам, які вперше взяли участь!) У їхніх співбесідах.

Удачі! А також пам’ятайте, що незалежно від того, що трапиться, ви вийдете з цього співбесіди, навчившись чомусь - і саме це має значення.