Повний цикл технічного інтерв’ю, або Чому я проводжу співбесіду дві години
Всім привіт! Мене звати Микола, я FE (Angular) Team Lead у Customertimes Ukraine. Загалом працюю в IT більше шести років. До того працював майже шість років як інженер-менеджер (комбінована посада технічного спеціаліста та менеджера з продажів).
Сьогодні я б хотів поділитися зі спільнотою власним досвідом проведення технічних інтерв’ю. Хочу наголосити, що це мій персональний досвід, націлений на допомогу технічним спеціалістам (розробникам, QA, DevOps, Team/Tech Lead, архітекторам) та всім, хто проводить технічні співбесіди.
Мені буде приємно, якщо кожен, хто прочитає цю статтю, винесе для себе хоч щось корисне.
Що ж, почнімо!
Нумо подумаємо, які існують етапи проведення співбесіди і який із цих етапів є найважливішим для обох сторін? Я пропоную розглядати не частину роботи рекрутера чи сьорчера, а ту частину, яка має стосунок до технічного спеціаліста — тобто до нас з вами.
Етапи:
- Підготовка технічних вимог до кандидата.
- Розгляд кандидата та озвучення умов співбесіди. Побажання до співбесіди.
- Із чого почати? Перші питання. Зміст співбесіди.
- Співбесіда.
- Відповіді на запитання.
- Поділіться враженнями (за вашим бажанням чи бажанням кандидата).
- Фідбек про кандидата
Підготовка технічних вимог до кандидата

Якщо у компанії замислились про пошуки нового спеціаліста на проєкт або в пул, рекрутери скоріше за все звернуться до нас з вами як до технічних спеціалістів, аби ми допомогли в створенні вимог до кандидата. І це дуже важливий етап: бо що відповідальніше ми поставимось до цього етапу, то менше витратимо власного часу та часу кандидата.
Раджу обов’язково зазначити всі технічні вимоги та технології, знання яких знадобляться на проєкті. Також не забудьте про секцію Will be a plus. Оскільки я FE Developer, то опишу з боку фронтенду приклад того, як може виглядати вакансія Angular Developer.
Requirements (вимоги):
- 2+ years of commercial experience with Angular (2+) — Тут ми зазначаємо, який саме досвід роботи з Angular ми б хотіли бачити у кандидата.
- 3+ years of commercial experience with Javascript/Typescript — Який саме досвід роботи з JS ми б хотіли бачити.
- Knowledge of SASS/CSS — Необхідні знання препроцесорів/технології.
- Comfortable usage of npm — Гарний досвід роботи з npm.
- Experience working in SCRUM teams — Досвід роботи у SCRUM-командах.
- Experience with git based code versioning platforms (Gitlab, Github, Bitbucket тощо) — Досвід роботи з Git (так, окрім Git є й інші технології, наприклад, SVN).
- Ability to communicate in English (B1/B2 тощо) — Певний рівень володіння англійською за необхідності.
Technologies (технології, які необхідні для роботи на проєкті):
- Angular 2+;
- TypeScript;
- RxJS;
- CSS3, SASS (SCSS), HTML5.
Will be a plus (які знання стануть плюсом для компанії під час вибору кандидата; ці технології зазначені опціонально).
- Experience with PWA;
- Experience with IndexedDB;
- Angular Material;
- Experience with Ionic.
Нумо розбиратися, що і навіщо ми тут описали.
- Requirements — вимоги до кандидата. Це, можна сказати, лінія відсіву. Утім це не означає, що вам потрібно відкидати кандидатів, у котрих, наприклад, є 2,5 роки досвіду з JS (коли нам потрібно 3 роки). Багато розробників самокритичні та за вимогами відчувають, наскільки можуть підійти до цієї вакансії. Бо спеціаліст може бути впевненим у своїх знаннях і хотіти спробувати себе на цю вакансію.
- Technologies — технології, які використовуються на проєкті
- Will be a plus — секція, у якій ви хочете зазначити, що було б плюсом для кандидата на цю вакансію для вашої компанії. Наприклад, у вас на проєкті використовується Angular Material, але ви вважаєте, що з ним можна досить швидко розібратися за необхідності.
Або ж, припустимо, у вас налаштований PWA-застосунок, і єдине, що потрібно зробити зі сторони PWA новому спеціалісту — тільки продовжувати вже закладений підхід.
Чи, наприклад, у вашій компанії, окрім цього проєкту, є декілька проєктів на Ionic. І потенційно ви хочете застрахуватися: якщо проєкт закриють або спеціаліст захоче змінити його, або ж спеціаліста дропнуть з проєкту (у мене був досвід, коли замовник дропав FE-розробника з проєкту через те, що той не міг пофіксити DevOps баг), то завжди можна знайти альтернативу.
Висновок: Приділяйте увагу вимогам і технологіям для опису вакансії. Це заощадить ваш час, час рекрутера і кандидата.
Важливо! Не ставте занадто вибагливі вимоги до вакансії, якщо немає такої потреби! Якщо ви шукаєте, наприклад, Middle FE розробника, не треба писати «Десять років досвіду, знання всіх можливих фреймворків та/або DevOps, BE тощо».
Вимоги повинні бути обґрунтовані та змістовні. Завищеними вимогами можна просто відсіяти велику частину потенційних кандидатів.
Розгляд кандидата та озвучення умов співбесіди. Побажання до співбесіди

Цей етап я розбив на два підетапи, де перший — це розгляд кандидата, а другий — побажання до співбесіди.
Розгляд резюме кандидата
Це дуже важливий і цікавий пункт. На що, перш за все, треба звернути увагу?
Локація — це дуже важливий момент, наприклад, якщо людина працює в іншому часовому поясі. Якщо у вас вся команда в часовому поясі ±одна чи дві години, а кандидат зараз у Канаді, зважайте на те, наскільки зручно вам буде працювати.
Технології, з якими раніше працював спеціаліст. Цей пункт я дуже люблю, якщо чесно, бо він може надати вам попереднє враження про кандидата. Якщо ви бачите, що у людини п’ять років досвіду роботи і за ці п’ять років людина попрацювала, наприклад, з Node.js, Angular, Vue.js, React, але основний стек роботи був і є Angular, ви розумієте, що людину трохи покидало життя і це, скоріше за все, досить цікавий співрозмовник.
Буває в людини два роки досвіду, а список технологій такий, що може позаздрити Senior з десятирічним досвідом, який побував на багатьох проєктах (тут мене можуть зацькувати трохи, але я не вважаю, що спеціаліст з Angular, що подивився двотижневі відеоуроки з React, має додавати React у резюме).
Цей пункт в резюме може нам надати хороше розуміння про те, наскільки людина скромна, як оцінює свої знання і, звісно, надасть непогане уявлення про технології, з котрими працювала чи, можливо, працює зараз.
Мої особисті спостереження: якщо у спеціаліста дуже довгий список технологій, не співрозмірний з робочим досвідом, зазвичай спеціаліст може поверхово відповісти на питання з конкретної технології, але не може надати відповідь на більш глибокі запитання.
Досвід — найцікавіший пункт для кожного інтерв’юера. Тут ви одразу можете переглянути, з чим, як і коли працював кандидат, з якими технологіями і на яких проєктах, як давно мав справу з конкретною технологією і так далі. Бувають випадки, коли останні два роки спеціаліст працював, наприклад, з React, але хоче повернутися в Angular, з яким вже мав справу.
Освіта — на кого і коли вчився/вчиться спеціаліст. Насправді, цей пункт завжди був і є дуже важливим. І зараз поясню чому:
- Чи вчиться спеціаліст? Як комбінує навчання і роботу? Останнім часом люди досить рано поєднують повноцінну роботу з денним/вечірнім навчанням (заочно не враховуємо) і вказують у резюме робочий досвід.
Наприклад, спеціаліст вчиться на третьому курсі денної форми навчання у виші, працює з першого курсу, комбінуючи навчання, роботу та розваги, водночас зазначає у резюме: «три роки досвіду роботи» та кидає резюме на вакансію Middle+ to Senior.
Я в жодному разі не хочу образити студентів, а також не чіпаю останні курси навчання, де в рази більше вільного часу. Але з мого досвіду скажу: у багатьох випадках студент денної/вечірньої форми навчання поступатиметься людині, яка ці три роки була зосереджена саме на роботі, через те, що в останньої просто більше вільного часу. Тож вона могла спокійно концентруватися на восьмигодинному робочому дні та навіть більше. - Де вчиться спеціаліст? Наприклад, я навчався у КПІ і зазвичай з майже всіма випускниками КПІ дуже легко знаходжу спільну мову. Це не означає, що треба шукати саме кпішника чи випускника будь-якого іншого ВНЗ. Але якщо людина закінчила факультет TikTok у певному виші або ж закінчила ІПСА у КПІ, повірте, ви відчуєте різницю.
- Профільна освіта. На кого вчиться чи вчився спеціаліст, чи є в нього профільна освіта чи немає (у мене самого, до речі, освіта не профільна для IT).
Співвідношення резюме кандидата з профілем у LinkedIn. Звісно, не у всіх є профіль на LinkedIn і не всі підтримують його свіжість, але більшість все-таки має. Навіщо це потрібно? У мене був випадок, коли компанія-партнер скидала резюме кандидата, вказуючи десь три — чотири роки досвіду.
Але фактично хлопець був на третьому курсі інституту, й з його ж резюме на LinkedIn у нього було два роки досвіду. Звісно, тут ви можете сказати, що це робота рекрутера — перевіряти кандидатів. І будете абсолютно праві. Але пара хвилин вашого часу може перетворитись на декілька зекономлених годин для багатьох колег в майбутньому.
Англійська. Цей етап залежить від того, як повелося у вас у компанії. Але у нас, в компанії, зазвичай мову перевіряють рекрутери.
Побажання до співбесіди
Після розгляду резюме, якщо вас все влаштувало в кандидаті, обов’язково проговоріть/напишіть рекрутеру умови проходження інтерв’ю, щоб він передав їх кандидату. Наприклад, що інтерв’ю триватиме дві години та повинно проходити з увімкненою камерою.
Мої стандартні запити:
- Кандидат та всі інтерв’юери повинні бути з увімкненими камерами (далі поясню чому).
- Тривалість інтерв’ю — дві години (далі зрозумієте чому).
- Певний проміжок часу, коли мені зручно, наприклад, на 9:00 або з 12:00 до 18:00. Це не означає, що якщо кандидат може лише після 18:00, то ви повинні відмовитись від проведення інтерв’ю. Індивідуальний підхід ніхто не скасовував.
Навіщо це потрібно? Усе просто: кандидат повинен знати, чого очікувати.
А тепер пройдімось кожним пунктом.
Кандидат та всі інтерв’юери повинні бути з увімкненими камерами.
Під час розмови з кандидатом важливо бачити, як людина відповідає та яка в неї реакція на те чи інше запитання. Важливі міміка, жести, пантоміміка та інші види передачі емоційного стану, наприклад, зміна дихання (глибоке чи більш інтенсивне), почервоніння і так далі.
Це — важливий аспект з багатьох причин:
- Невербальне спілкування. Усі ми більш-менш легко зчитуємо такі емоції, як-от злість, гнів, радість, здивування і так далі. Це потрібно, перш за все, аби зрозуміти, у якому емоційному стані перебуває людина під час інтерв’ю.
- Зоровий контакт. Він дає можливість тримати увагу людини, показати свою зацікавленість у відповіді та може підказати, коли людина каже неправду. Тут важливо самостійно підібрати тривалість і регулярність цього контакту.
- Можливість відносного контролю. Під час співбесіди бувають випадки, коли вам потрібно перебити людину та поставити уточнювальне запитання. Чи, наприклад, сказати, що цієї відповіді більш ніж достатньо. На жаль, трапляються і випадки, коли під час співбесіди люди починаються гуглити, читати відповіді з попередньо заготовлених матеріалів або ж використовують ChatGPT.
Певний проміжок часу, коли вам зручно провести співбесіду.
Під час розмови з кандидатом вам має бути комфортно.
- Не ставте собі інтервʼю у завантажений день або впритул до важливої події, адже це змусить вас поспішати чи/та хвилюватися. Те, що ви проведете співбесіду не сьогодні, а, наприклад, завтра, переважно ніяк не вплине на результат.
- Перенесення інтервʼю. Якщо з якоїсь важливої причини ви не зможете бути зосередженим на раніше запланованому інтервʼю чи у вас не буде вільного часу в цей день, попросіть рекрутера перенести співбесіду на інший зручний для вас і кандидата день. Краще перенести співбесіду, ніж отримати неповноцінний результат.
- Не ставте собі по п’ять співбесід на день. Ви не T-1000, і з кожною наступною співбесідою потроху втомлюватиметесь. Можливо, ви не так сильно виснажитесь фізично, але емоційно — точно. Звертати увагу на важливі деталі буде все складніше і складніше.
Знайдіть свою максимальну кількість співбесід на день без втрати якості й не погоджуйтесь на більше. Мій особистий максимум зі співбесід на день — дві зустрічі. А пауза між співбесідами надасть необхідний час емоційно відпочити та сформулювати своє враження про кандидата в письмовій формі.
Висновок: приділяйте достатню увагу резюме кандидата, зокрема — локації, технологіям, досвіду, освіті, рівню англійської (якщо потрібен). Не відкидайте кандидата, якщо ви шукаєте спеціаліста з трьома роками досвіду, а до вас прийшов кандидат з двома з половиною.
Намагайтесь підібрати час співбесіди максимально комфортний для вас і для кандидата. Якщо кандидат може зустрітись лише о 20:00 щодня, це не означає, що ви повинні відмовити. Підберіть собі день, коли ви зможете провести співбесіду о 20:00. Якщо ж такого часу немає, попросіть рекрутера, щоб інший спеціаліст з вашої компанії провів співбесіду.
Із чого почати? Перші питання. Зміст співбесіди

Нарешті ми дійшли до процесу інтервʼю. Початковий етап, який у мене зазвичай займає 20 хвилин, складається з таких кроків:
- Про пунктуальність.
- Етап привітання та самопрезентації.
- Питання про попередній досвід.
- Спілкування щодо відповідей кандидата або пунктів у резюме.
- Зміст співбесіди.
- Про табу. Що заборонено на співбесіді.
Про пунктуальність.
Перше, що ви повинні зробити — це не запізнюватись на інтервʼю.
Пунктуальність — дуже важливий атрибут як для кандидата, так і для інтерв’юера. Це показує ставлення та повагу до процесу. Це не означає, що ви повинні поставити хрест на кандидаті, якщо він запізнився, але надайте можливість кандидату самостійно пояснити, чому так сталося.
Якщо кандидат не попередив і запізнився на
Етап привітання та самопрезентації. Десь до п’яти хвилин.
Перед початком найвідповідальнішої частини інтервʼю, памʼятайте, що знайомство з новою людиною — це стрес для обох сторін. Тому спочатку ми налагоджуємо контакт між вами і виводимо спілкування на комфортний рівень.
Моє привітання завжди починається з того, що я кажу «Привіт» і далі прошу дозволу перейти на «ти». Перехід на один рівень з кандидатом — це дуже важливо. Після того, як всі перейшли на «ти», я завжди починаю з самопрезентації та проговорюю:
- Як мене звати та чим займаюсь у компанії та на проєкті.
- Скільки в мене років досвіду та з якими технологіями та фреймворками я працював.
- Із чим працював найбільше і з чим подобається працювати.
Умовно це виглядає так: «Привіт! Мене звати Микола, я FE Team Lead у компанії та на проєкті. Загалом працюю в IT вже майже сім років. За цей час працював на різних проєктах з різними технологіями та фреймворками: Angular, Vue.js, трохи React, Ionic, був досвід з PWA-застосунком. Саме з Angular працюю вже шість років. Трохи працював з BE, а саме — з Node.js на Express. Дуже люблю TypesScript та RxJS».
Далі слово передається іншим інтерв’юерам, якщо вони присутні на мітингу.
Навіщо це? По-перше, ми хочемо налагодити звʼязок і починаємо перші, щоб кандидат трохи адаптувався і зрозумів, що процес співбесіди пішов і що він не на допиті. По-друге, ми показуємо приклад, у якому форматі ми хочемо почути від кандидата його самопрезентацію.
Питання про попередній досвід. Орієнтовний час: десять хвилин.
Після того, як кандидат трохи розповів про себе, починаємо з питань про попередній досвід. Я не люблю допитувати з резюме, тому зазвичай прошу розказати, як довго людина працює з конкретною технологією, чому саме із цією технологією, що в ній подобається найбільше, що не подобається порівняно з іншими (якщо працював з іншими) і так далі.
Я завжди звертаю увагу на цікаві моменти в резюме. Наприклад, досвід роботи в певній компанії один — три місяці. Або буває таке, що кандидат останні два роки працює з однією технологією, хоча раніше працював з іншою, яка потрібна саме вам і прагне повернутися до неї. І багато інших прикладів.
Спілкування щодо відповідей кандидата або пунктів у резюме (п’ять — десять хвилин).
Нагадаю, що кандидат прийшов не на допит, а на технічну бесіду. Тому тут можна зачепити трохи віддалені теми. Припустимо, у резюме вказаний спорт як хобі, яким ви також займаєтесь чи займалися. Або ж людина проговорила, що тільки повернулася з відпустки і так далі.
Зачепіть тему, віддалену від співбесіди, щоб остаточно перевести інтервʼю у формат бесіди.
Зміст співбесіди. Орієнтовний час: одна — дві хвилини.
Перед початком саме технічної частини я завжди розповідаю її майбутній зміст кандидату. Це надає розуміння, коли і що ми запитуватимемо. Чому це важливо? Тому що кандидат не повинен сидіти і хвилюватися: а чи на те інтервʼю він прийшов і коли будуть запитувати саме про його стек і так далі. Попереджений — значить озброєний.
Також я завжди зазначаю, що будуть як легкі, так і складні питання. І що якщо відповіді більш ніж достатньо, то я можу перебивати та переходити до іншого запитання. Особисто я завжди додаю, що моя задача — не доколупатися чи самоствердитись за його рахунок, а зрозуміти глибину знань кандидата.
Як це зазвичай виглядає? Наведу приклад озвучення змісту співбесіди на позицію Angular-розробника:
«Перед початком технічної частини я б хотів тобі розказати, про що ми поговоримо, а саме: HTML, CSS, основні поняття (SOLID, Patterns і так далі), Network, Git, JavaScript, Angular, RxJS. Будуть питання різного плану: як легкі, що викликають посмішку, так і складні, де доведеться подумати трохи довше.
Якщо відповіді більш ніж достатньо, то я можу перебити тебе і перейти до іншого запитання. Моя задача — зрозуміти глибину твоїх знань і те, де вони закінчуються. Таким чином я зрозумію, що можна порекомендувати пропрацювати для твого подальшого розвитку, якщо все зростеться й ти працюватимеш у нас в компанії. Якщо ти готовий, то можемо починати».
Я не кажу, що це формулювання ідеальне й що ви його повинні використовувати. Але ви проговорюєте тонкі аспекти, які вплинуть на хід співбесіди. Тобто:
- Ви розказали про зміст і тепер кандидат розуміє, що питання з основного фреймворку будуть в кінці.
- Ви попередили, що будуть запитання різної складності, щоб для кандидата це не було несподіванкою. Бо інколи буває, що кандидати різко реагують на легкі запитання, не розуміючи, в чому підступ, або ж — реагують агресивно на складні запитання, коли не знають відповіді.
- Ви попередили кандидата, що можете перебивати. Це важливо, бо є різні люди: ті, у кого складно витягувати відповіді, а також ті, які розповідають все, що знають на просте закрите запитання з відповіддю: «так чи ні».
Після всіх цих маніпуляцій, на що вам очікувати: кандидат більш-менш звик до вас і до вашої манери спілкування. Він трохи адаптувався і розслабився. Це те, що ми й хотіли отримати, бо свій найкращий результат він зможе показати, якщо йому буде комфортно.
Про табу. Що заборонено на співбесіді.
Заборонено:
- Політика. У жодному разі не чіпайте тему політики. Шанс, що ваші погляди співпадуть, невеликі. А емоції можуть вплинути на результат. Єдине, на чому ви можете погодитись — це те, що «**бана усня — справді **бана».
- Релігія. Те саме правило, що і з політикою.
- Сміятися з відповідей кандидата. Я думаю, тут не потрібно щось пояснювати.
- Принижувати чи дорікати кандидату через незнання чогось.
- Ставити себе вище іншої людини чи відповідати зверхньо.
Висновок: не запізнюйтесь. Запитайте, чи не проти кандидат спілкуватися на «ти», якщо вам так зручніше. Розкажіть про себе першим. Поставте декілька запитань про попередній досвід кандидата. Поспілкуйтесь на віддалену тему. Розкажіть кандидату про зміст співбесіди.
Середній час на вступну частину перед початком технічної співбесіди:
Вавжливо! Використайте цей час не тільки для вашого персонального розуміння кандидата, але і для того, щоб кандидату було максимально комфортно і він адаптувався та забув про стрес.
Співбесіда

А тепер про найцікавішу частину, заради якої ви і відкрили цю статтю.
Починати треба з найлегшої теми. Навіщо це потрібно? Дайте можливість кандидату відповісти правильно на певну кількість запитань, розігрітися, набратися впевненості у своїх силах та зрозуміти, що він вже (!) відповідає правильно. Таким чином ми отримаємо адаптованого та більш впевненого кандидата.
Це не значить, що ви повинні починати питання з «Що таке HTML/CSS/JS?». Ви повинні починати із запитань, які нададуть розуміння про його знання.
Наприклад, я починаю з HTML-питань із семантики, далі перехожу до CSS, псевдоелементів та псевдокласів, флексбоксу тощо. Розуміючи, що з шести запитань він, припустимо, відповів на чотири — п’ять правильно, він не почне сильно хвилюватися, адже розумітиме, що процес співбесіди йде далі й коефіцієнт у відповідях непоганий.
Такий підхід нам треба утримувати впродовж переважної частини співбесіди. Звісно, питання та їхня складність відрізняються залежно від того, з ким саме ви проводите співбесіду: з трейні чи з майбутнім тімлідом. Це окрема тема, котру планую описати в іншій статті, якщо, звісно, вам сподобається ця :)
Оголошуйте назву кожного розділу, до обговорення якого переходите. Водночас кожен такий розділ ми починаємо з легких запитань і закінчуємо складними. Це необхідно, аби кандидат переключив свою увагу з однієї теми на іншу.
Тобто ми можемо говорити про CSS, а потім різко запитати: «А що таке SOLID?». У цей момент людина може замислитись і подумати, що це якийсь новий фреймворк у CSS. Або ж перепитати, що ви саме маєте на увазі під SOLID.
Та якщо ви поговорили про CSS, а потім сказали, що тепер переходимо до основних понять і ставите запитання з SOLID, кандидат набагато краще зрозуміє запитання.
Робота з відповідями. Не зациклюйтесь на формулюваннях. Якщо ви запитуєте про CSS-фреймворки, а вам починають відповідати про препроцесори, нехай людина вже відповість про препроцесори.
Поставте декілька запитань про них, а потім проговоріть, що ви поговорили за препроцесори, а тепер хочете повернутися до питання CSS-фреймворків. Якщо людина не до кінця розуміє запитання, перефразуйте його або наведіть приклади. Не треба повторювати одне і те саме запитання декілька разів. Не всі знають точні формулювання, але можуть дуже добре знати цю тему.
Наприклад, я якось проводив інтервʼю з кандидатом, у якого було 12 років досвіду і на кожне моє запитання він відповідав: «Я точно не знаю, але...» — а після слова «але» я чув абсолютно правильну відповідь.
Різка форма заперечень та категоричність. Намагайтесь не вживати такі категоричні слова та вирази, як-от «Ні», «Неправильно», «Ти неправильно відповів на попереднє запитання, тому не зможеш відповісти на це» тощо. Такі вирази можуть чи будуть сприйматись як критика.
Краще замінити вирази на помʼякшену форму (уточнення): «Не зовсім так», «Трохи не туди», «Так, але я б трохи конкретизував» тощо. Навіщо це робити? Щоб не збивати людину з думок, не заганяти в стрес, підтримувати дружній та екологічний діалог.
Припустимо, людина працювала три роки у сфері та була впевнена, що правильно саме так, як вона відповідає. І тут перед ним з’являється новий спеціаліст (ви) та каже, що все, що кандидат знав до цього, є неправильним.
Тож навіть якщо кандидат розуміє, що, скоріше за все, ви праві, мозок не захоче сприймати таку інформацію, і рано чи пізно він перейде в режим самозахисту і закриється від питань, де гіпотетично може бути неправий. І це найгірший для нас сценарій. Бо фактично, навіть якщо кандидат і не впевнений у відповіді, нам однаково треба почути цю відповідь.
Питання без відповіді. У процесі співбесіди в майже всіх випадках будуть питання, на які кандидат не зміг надати відповідь. У такому разі є декілька сценаріїв розвитку подій: ви переходите до іншого запитання; ви відповідаєте на своє ж запитання та пояснюєте його кандидату; або, як я люблю говорити, до «скарбнички» (тобто ви відкладаєте це запитання на кінець співбесіди і якщо буде час, ви надасте відповідь на нього, звісно, якщо кандидат захоче).
Що б я тут радив? Я рекомендую розповісти кандидату відповідь на перші кілька запитань, підкресливши свої знання цього матеріалу і нагадавши, що це не допит, а технічна співбесіда. Чому тільки на декілька питань? Якщо ви надаватимете відповідь на кожне поставлене запитання, то вам, скоріше за все, не вистачить часу на проведення співбесіди.
Крім того, людині треба обовʼязково залишити щось для самостійного пропрацювання, бо яка тоді користь від співбесіди?
Робота із запереченнями. Що робити, якщо кандидат не знає відповіді на питання і намагається апелювати, що це майже не використовується або це легко загуглити.
У мене багаторазово виникали ситуації, коли кандидати казали дратівливим тоном, що ніколи це не використовували у роботі і воно не потрібно. Зазвичай таким способом вони намагаються скинути з себе відповідальність та не відповідати. Я не маю на увазі ситуації, коли це справді так.
Приклад: RegExp. Низький уклін усім, хто може написати його самостійно (до речі, я ніколи таке і не питаю).
Я скоріше маю на увазі випадки, коли певні кейси чи технології час від часу використовуються, але людина не знає правильної відповіді і їй простіше перекинути цю відповідальність на вас. У таких ситуаціях не потрібно стресувати чи сперечатися, потрібно дуже спокійним голосом пояснити, у яких випадках конкретно вам чи вашим колегам/друзям доводилось використовувати дані речі.
Зазвичай, почувши зважений аргумент спокійним голосом, люди не схильні сперечатися далі, а спокійно погоджуються. Зверніть увагу, що не можна вступати в агресивну дискусію. У вас немає задачі щось довести людині. Ваша задача — зрозуміти, що саме людина знає.
Розбирайтесь у тих питання які ви ставите. Намагаючись обговорювати питання, на які ви не знаєте відповіді, ви ризикуєте потрапити в дуже неприємну ситуацію та підставити себе (втрачаєте експертність в очах кандидата) і компанію. Якщо кандидат не знає відповіді на питання, він може спитати вас те саме.
Такі запитання я особисто можу дозволити собі ставити кандидату лише у разі, якщо дуже добре йде комунікація і я розумію, що кандидат сильний, і він і так підходить на цю вакансію. Просто перед запитанням проговорю, що якраз сам думаю, як реалізувати ось таку то штуку (або розв’язувати якусь проблему) і цікавить його точка зору, як би він її вирішив.
Були навіть випадки, коли люди приймали офер, приходили на проєкт і я їх просив реалізувати їхні думки, про які запитував до цього на інтервʼю 🙂
Чи треба продовжувати, якщо кандидат відповідає добре. Якщо ви бачите, що кандидат дуже добре почав і вже
- Кандидат може чудово знати якісь ази, але може не знати основної мови програмування чи/та фреймворку, який вас цікавить. Наприклад, якщо до вас на співбесіду прийде верстальник на позицію Angular Developer, він чудово відповідатиме на питання HTML, CSS, Git, Network. А на рівні JS може відповідати гірше. Коли ж ви перейдете до фреймворків, то, скоріше за все, вже майже нічого не почуєте у відповідь.
- Співбесіда — момент, до якого люди зазвичай готуються і справді очікують його. І якщо ваша співбесіда пройде досить швидко, людина може не відчути того ефекту, на який розраховувала. Це може вплинути на вибір кандидата, коли в нього буде декілька офферів на руках.
Пройшовши через повноцінне інтервʼю, кандидат відчує, як усі його знаннях були задіяні та відчує приємну втому. Він розумітиме, де відповідав добре, а які знання треба підтягнути. І це той ефект, який переважно ми хочемо отримати. - Співбесіда може стати памʼятною для людини. За весь свій досвід проведення інтервʼю, я багато разів чув слова вдячності від людей, котрих ми потім наймали і навіть не наймали! Ні, я не збираюсь тут хизуватися, я лише хочу підкреслити, що гарну співбесіду людина запамʼятає (у хорошому сенсі).
Бували і випадки, коли люди переймали нашу практику проведення співбесід та імплементували її під час проведення інтерв’ю у своїх компаніях.
Що робити, якщо після
- Зазвичай ви є останньою брамою у компанію і від того, як ви проведете співбесіду, залежить фінальне рішення кандидата. Навіть якщо зараз кандидат не підходить через якісь критерії на конкретний проєкт чи у компанію, це не значить, що у компанії не з’явиться з часом проєкт для цієї людини. За рік кандидат може прокачати власні скіли та знову прийти до вас на співбесіду.
- Людський фактор та репутація компанії. Якщо ви домовились, що співбесіда може бути до двох годин, а через 30 хвилин плануєте її завершити, кандидат може образитись та почати всім розповідати, як безвідповідально ви та ваша компанія ставитеся до проведення співбесіди. І всюди, де зможе, залишить негативні відгуки. За правильного (людського) підходу таких ситуацій не має виникати.
У процесі співбесіди. Розбавляйте постійні запитання, згадуйте цікаві історії з ваших проєктів на релевантні теми, особливо, якщо бачите, що кандидат закривається від вас. Інколи можна вставити якісь жарти чи згадати прикольні меми, які ви нещодавно бачили. Це не значить, що вам потрібно поводитися як комік на стендапі, але і не значить, що ви повинні пройтись всіма запитаннями з покер-фейсом.
На кожній чи через співбесіду пробуйте щось новеньке, змінюйте формулювання запитання та їхній порядок. Це потрібно не стільки для кандидата, скільки для вас, адже рутинні та однотипні співбесіди можуть вас швидко перетворити на робота з повною втратою зацікавленості у проведенні.
Наприклад, під час інтервʼю, коли кандидат відповідає достатньо добре й ми перейшли до теми JS, після декількох питань я люблю спитати: «Вгадай, яке буде наступне запитання?». Зазвичай подальший діалог виглядає наступним чином: «Event loop? — Event loop!» (відсилка на серіал Family Guy та Butt Scratcher!).
Інколи, коли кандидат дуже добре відповідає на питання і ми переходимо до нової теми, я можу сказати: «Я навіть не знаю, що тебе тут краще запитати. Можливо, сам щось розкажеш за Angular?».
Зазвичай у таких випадках люди включаються і або щось починають розповідати, або перепитують, що саме я хочу почути, або пропонують власну тему. Як правило, це нетипова поведінка на співбесіді, і люди таке запамʼятовують 🙂
Що робити, якщо кандидат відповідає не за досвідом. У мене неодноразово були випадки, коли кандидати з
У таких ситуаціях не соромтесь спитати: «Підкажи, будь ласка, у тебе X років досвіду, а ти відповідаєш як Senior-розробник. У чому твій секрет?». Це нормальне запитання. Бо у майже всіх випадках, котрі у мене були, це були не вундеркінди, і я думаю, у вас буде те саме.

Зазвичай відповіді досить прості:
- Я зараз шукаю роботу, і це вже
5-10 інтервʼю для мене. - Я провожу співбесіди в себе в компанії.
- Я дуже люблю теорію і багато читаю статей/книжок.
- Ніякого секрету, це просто те, що я знаю.
Якщо першим трьом відповідям я звик довіряти, то остання у мене викликає підозру. Я завжди перепитую, за яких обставин чи на яких проєктах отримані ці знання. Зазвичай, якщо людина знає щось і досить добре, це означає, що вона приділяла багато уваги певним матеріалам у певний проміжок часу.
Наприклад, у людини було за ці два роки п’ять стартапів, котрі реально змусили у всьому розібратися. Або кандидат дуже багато читає і приділяє цьому увагу. Зазвичай у таких випадках йому нескладно пояснити це або хоча б спробувати описати, чому так.
Якщо ж людина не може пояснити, у чому її секрет знань, я бракую кандидата після співбесіди. Можливо, ви спитаєте: чому? Що тут поганого, якщо людина не може пояснити, чому знає такі деталі, які знають далеко не всі люди з досвідом 5+ років?
На мою думку, якщо людина не може пояснити свої знання, то, скоріше за все, вона або читає відповіді, або гуглить, або просто сидить в навушниках, в які їй надиктовують відповіді.
За мій досвід проведення інтервʼю мені трапилось буквально два таких кандидати. І щодо одного ми до останнього думали, що він гуглить, бо впродовж всієї співбесіди він не піднімав руки з-під стола.
Ну звісно, ми подумали, що в нього клавіатура під столом. Але десь всередині, коли у нас з’явилося суперечливе запитання, він дістав з-під стола руки і почав гуглити на ноуті. Причому з досить цікавими емоціями на обличчі: «Ну блін, я точно знаю, що я правий у цьому питанні». І ось тоді ми зрозуміли, що хлопець реально знає, просто він дуже закритий.
Чи потрібне технічне завдання на інтервʼю. Я не хочу особливо поглиблюватись у цю тему, адже це дискусійне запитання і тут правильної відповіді, як на мене, немає. Тому напишу так: я не даю технічні завдання на співбесіді, мені достатньо відповіді на питання, які набуваються з досвідом роботи з фреймворком чи певною технологією.
Якщо у мене є певні сумніви, я можу проговорити усну задачу на практику із запитаннями про те, як це краще зробити і які методи використовуватиме кандидат. Або можу пошарити екран та буквально в консолі показати певні приклади і запитати що буде. Але це більше виняток, аніж правило.
Чому я так роблю? Тому що співбесіда для кандидата — це стрес, а якщо ви даєте завдання з кодом і до того обмежений час, то це подвійний стрес, який я на співбесідах намагаюсь звести до нуля. Під час стресу різні люди реагують по-різному, хтось починає говорити зайве, хтось закривається, хтось дуже хвилюється тощо.
Але я не маю нічого проти технічних завдань, якщо ви вважаєте, що технічне завдання необхідне і ви знаєте, як це краще робити, то використовуйте й цей етап.
Стрес. Я вже трохи описав про стрес і про те, що ми хочемо мінімізувати його вплив на кандидата і на нас. Але хочу додати одну важливу думку: можливо, на цьому етапі у когось виникне запитання: «Слухай, стрес — це зрозуміло, але як кандидат працюватиме, якщо постійно так реагує на стрес?».
І тут дуже цікава відповідь: а ви і не дізнаєтесь, як він працюватиме, це покаже тільки робочий процес. У мене є круті розробники в команді, котрі дуже погано справляються зі стресовими ситуаціями, але після цього беруть себе в руки та чудово виконують свою роботу.
Водночас у кожного свій час на адаптацію, комусь достатньо 15 хвилин, а комусь треба переспати із цими думками.
Кінець. Коли ви наближаєтесь до останнього розділу, краще проговоріть це кандидату. Це додасть йому додаткових сил дійти до кінця, щоб отримати максимальний результат.
На цьому етапі ви мене запитаєте: а де тут дві години? А вони заховані у всьому, що описано вище. Вступ у середньому займає 20 хвилин, десь до півтори години піде на основну частину, останні десять хвилин — відповіді на запитання.
Стосовно моїх запитань: зазвичай так виглядає інтервʼю, яке я провожу для Angular-розробників (звісно, є різниця між підходом до Junior та Senior, але основна концепція зберігається):
- HTML — не більше п’яти хвилин.
- CSS — десь
10-15 хвилин. - Основні поняття (функціональне та об’єктно-орієнтоване програмування, SOLID, Patterns і так далі) — до десяти хвилин.
- Network — п’ять хвилин.
- Git — п’ять — десять хвилин.
- JavaScript — 15 хвилин.
- Angular —
25-30 хвилин (ще, за бажання, десь тут може бути захований TypeScript). - RxJS — 10 хвилин.
Скоріше за все, на цьому етапі у вас виникнуть запитання і ви скажете, що ваш список набагато коротший і вам особливо немає про що питати. Як на мене, одного чи пари питань недостатньо для того, щоб зрозуміти, чи орієнтується людина у цій чи іншій темі (окрім тем, де справді нема потреби питати більше).
Забігаючи наперед, відповім: а чи потрібно питати у Senior-розробника про HTML або типи даних у JS? Потрібно! З роками досвіду певна інформація забувається, а особливо та, яка нечасто використовується. Тож навіть досвідчені люди починають ускладнювати відповіді (а потім і свій код).
У мене був кейс, коли людина забула/не знала про наявність певного функціонала і написала 100 рядків коду для вирішення задачі. На етапі код-рев’ю я звернув на це увагу, й ми замінили 100 рядків на один RxJS-оператор (один рядок).
Це не значить, що перед вами поганий спеціаліст. Більш того, у моєму випадку це був хороший спеціаліст. Наша з вами задача: за можливості звернути на це увагу на етапі співбесіди та віддати на допрацювання кандидату.
Рекомендації тим, хто проводить технічні співбесіди
- Не нервуйте. Навіть якщо маєте два роки досвіду, а вас просять провести співбесіду людині, у якої більше десяти. Це був мій кейс, і я дуже сильно хвилювався. Якщо чесно, я думав, мене розірвуть за перші декілька хвилин, але так склалося, що людина не могла відповісти на багато моїх запитань.
І я дуже сильно хвилювався через те, що це з моїми запитаннями щось не так. Але наступного дня в мене був інший кандидат, у якого було трохи більше двох років досвіду, і він спокійно відповів на всі мої запитання. Через рік я зустрівся з першим кандидатом.
За цей рік я провів десятки співбесід, уже був більш досвідчени, і мої питання були перевірені часом. І ви не повірите, але результат був той самий. Тому не нервуйте, у вас все чудово вийде, просто поводьте себе впевнено. - Контролюйте свої емоції. Не дозволяйте емоціям брати верх, якщо кандидат веде себе зверхньо стосовно вас. Можливо, це просто така людина, а можливо, це його самозахист, щоб не дати себе зачепити. Якщо кандидат чогось не знає, це абсолютно нормально, і також не повинно викликати у вас негативні емоції, навіть якщо всі інші відповідають.
- Будьте відкритими до чогось нового. Не треба сперечатися з кандидатом, якщо він розповів вам те, чого ви не знали. Або якщо у відповіді виправив вас. Це абсолютно нормально, жодна людина не знає все на світі.
- Кандидат може бути сильніший за вас. Це нормальна практика. Дуже вас прошу не думати, що цей кандидат може вас замінити, тому що він скіловіший за вас, і через це ви вирішите його реджекнути. У мене неодноразово були випадки, коли такі люди були в мене в підпорядкуванні на проєкті. Навіть коли у мене було три — чотири роки досвіду, а у хлопців — по шість — сім.
- Доводьте співбесіду до логічного кінця. Навіть якщо кандидат не дотягує до вакансії, проведіть повноцінну співбесіду. Хай у кандидата залишаться позитивні враження про вас і компанію. І коли він прокачає свої навички, він може знову прийти до вас на співбесіду.
- Вчіть колег, які можуть замінити вас на наступних інтерв’ю. Якщо ви єдиний спеціаліст, який вміє проводити співбесіди, беріть із собою когось з колег (це цікава тема, і я мабуть опишу її в окремій статті). Бажано — не більше одного (мається на увазі на співбесіду). Навіщо? Ви захочете піти у відпустку, захворієте чи не зможете провести співбесіду, а у вас буде заміна.
- Будьте людиною! Це, мабуть, найважливіший пункт серед всього, що написано:
- не поводьте себе як робот;
- не відповідайте заїждженими фразами типу «політика компанії»;
- не влаштовуйте допит кандидату питання за питаннями.
Ви — технічний спеціаліст, якого попросили провести співбесіду потенційному кандидату. Ця людина шукає роботу, вона хоче і може працювати і, скоріше за все, готувалась до співбесіди. Вона, ймовірно, шукає потенційно хорошу компанію, де може знайти стабільність та влаштуватися на довгий проміжок часу (а може просто прийшла за офером, хто знає).
І завтра на його місці можете опинитися саме ви! А ви, напевно, хотіли б прийти на круту співбесіду: щоб її проводив крутий спеціаліст, котрий з розумінням і повагою ставився б до вас.
Відповіді на запитання

Після проведення технічної співбесіди подякуйте кандидату за виділений час та за відповіді. Проговоріть, що з радістю готові відповісти на його запитання. Якщо кандидат питає вас про проєкт, а вас просто попросили провести співбесіду, то не вигадуйте і скажіть, як є.
Не потрібно фантазувати там, де ви цього не знаєте, попросіть рекрутера допомогти із цим питанням.
Зазвичай найтиповіші запитання такі:
- Яка команда на проєкті?
- Що знаєте про проєкт?
- Чи є пряме спілкування з замовником?
- Як давно працюєте у компанії і чи подобається?
- На що потрібно звернути увагу?
Висновок: звертайте увагу на запитання, які ставить кандидат. Це може надати вам додаткову інформацію про його зацікавленість у вакансії. Але якщо кандидат не ставить жодних запитань, можливо, йому вже все розповів рекрутер.
Тож треба правильно проаналізувати ситуацію. Не завжди той, хто ставить вам з десяток запитань, є більш зацікавленим, аніж той, хто нічого не запитав (але найчастіше так і є).
Поділіться враженнями
Якщо у вас одразу склалася картинка про кандидата, ви можете поділитися зворотним зв’язком з ним/нею. Я, наприклад, люблю ділитися позитивним фідбеком. Якщо кандидат мені дуже сподобався, я можу одразу поділитися своїми враженнями.
Якщо ж навпаки кандидат зовсім не проходить і я бачу, що людина відреагує нормально, то я можу проговорити, що їй/йому потрібно підтягнути певні скіли та знання.
Єдиний момент: будьте дуже обережні, адже зазвичай ви не є фінальною інстанцією (раніше писалося, що ви є фінальною брамою, але з точки зору кандидата), яка ухвалює рішення з найму людей. Тому не обіцяйте нічого кандидату, а навпаки — проговоріть, що ви не ухвалюєте фінальне рішення, а лише надаєте технічний фідбек.
Адже попереду ще фінанси та ситуація на проєкті. Це потрібно, аби кандидат не жив надією на ваше позитивне рішення і не тримав на вас образи. Тож якщо ви реджектнули кандидата, він може тримати образу персонально на вас. А якщо ж була відмова на рівні компанії, кандидат вже аналізуватиме, чому так трапилось.
Фідбек про кандидата

Що у цьому розділі мається на увазі під висловлюванням «фідбек про кандидата»? Це фідбек, котрий ви надаєте компанії про ваші враження та вашу оцінку знань кандидата.
З одного боку, фідбек треба надавати швидко й обґрунтовано, щоб кандидат не чекав на фінальне рішення. З іншого, я вважаю, не завжди потрібно надавати його одразу після співбесіди. У процесі інтерв’ю ви можете перебувати під впливом дискусії, яка виникла, або під впливом харизми кандидата.
Дайте своєму розуму трошки охолонути, від 30 хвилин до декількох годин може бути достатньо для цього (хоча, можливо, вам особисто знадобиться більше часу). Але звісно, бувають випадки, коли спеціаліст беззаперечно крутий на вашу думку і вам не потрібно порівнювати його з іншими. Тоді ви одразу можете сказати компанії, що саме ця людина вам і потрібна на проєкті.
Фідбек сильно відрізняється від компанії і залежить від багатьох змінних, як-от: наявність певних інструментів у компанії, опитувальники, форми зворотного звʼязку і так далі.
Конкретно в нашій компанії є так звана внутрішня feedback-форма кандидата, в якій проставляються оцінки з кожної наданої відповіді кандидата і в якій підсумовується загальний бал. У цій формі також присутній фідбек від рекрутера. Ми в неї завжди додаємо кілька речень про власні враження.
Так відповідальна особа, може побачити, на які питання та як саме відповідав кандидат та ознайомитись з коротким підсумком.
Кілька прикладів:
Приклад 1. «Загальне враження доволі хороше. Відповідав швидко та чітко, без зайвого затягування часу. Є деякі прогалини в знаннях, але не критичні. Також перевіряли знання, пов’язані з Angular та RxJS, загалом — все добре. Рекомендую до розгляду».
Приклад 2. «Загалом хлопець сподобався, спочатку відповідав не дуже, але це може бути пов’язано з тим, що в нього це було сьоме інтерв’ю за день, потім трохи розігрівся і діло пішло 🙂 З фронту витягує на рівень Senior. Стосовно беку: з Node.js майже не працював, але працював с Perl та PHP. Знання БД на хорошому рівні. Рекомендуємо до розгляду.
P. S.: Хлопець дуже приємний у спілкуванні».

Замість висновків
Якщо ви дійшли до цього моменту, я дуже вам дякую за приділений час і сподіваюсь, що ви для себе підкреслили щось новеньке. Цей текст — не посібник з проведення ідеального інтервʼю. І я не намагаюсь вчити, як це правильно робити.
Інтервʼю — це мистецтво, і тут у кожного свій стиль. До того ж накладається специфіка: проєкт, досвід, країна, з якої кандидат і багато чого іншого. Памʼятайте, що ви часто є дверима у компанію для спеціаліста, тому перше враження про вас — це враження про всю компанію.
Ідеальне інтервʼю для мене — те, після якого кандидат хоче до вас у компанію та/або хоче працювати з такими спеціалістами, як ви. Я лише ділюся з вами досвідом проведення сотень інтервʼю.
Я, на жаль, був присутній на співбесідах, коли мене як кандидата вганяли в стрес. І бачив, як інших вганяли. І я точно знаю, що такі співбесіди не потрібні ані компаніям, ані людям.
Якщо вам сподобалась стаття і ви б хотіли продовження цієї теми, поділіться своїми враженнями у коментарях. Я буду вдячний за будь-який фідбек та буду радий почитати про ваш досвід.
У моїй скарбничці ще багато цікавих тем, які б я хотів розкрити у наступних текстах. Наприклад: як проводити співбесіду із кількома інтерв’юерами водночас? Як вчити колег проводити інтервʼю? Які є рекомендації для кандидатів? Яка користь від проведення інтервʼю? Чим відрізняється співбесіда з кандидатом на позицію трейні від співбесіди на позицію ліда (і вище)? Які особливості співбесіди англійською мовою? І багато чого іншого!
Найкращі коментарі пропустити