25 април, 2024

 

Съвети и практики за техническите интервюта ни предлага Деян Добринов, Engineering Manager в Receipt Bank. Той работи по автоматизиран продукт в сферата на счетоводните услуги. Занимава се професионално с програмиране над 13 години. Основната технология, с която работи е Ruby on Rails.

 

Как минава техническото интервю за една ИТ компания?

Има много практики, които може да видиш. Много са популярни тези, които се случват в по-големите компании. Те правят по 6-7 интервюта от различен тип. Обикновено първото е някаква форма на скрининг, където си в разговор с рекрютър и просто проверява дали профилът ти отговаря. След това минаваш поредица от технически интервюта. Някои са просто cultural fit интервюта. Накрая трябва да има достатъчно информация за кандидата, така че да се отговори на въпроса “става ли този човек за нашата фирма или не.

Малките фирми също се опитват да наподобяват този формат. Това, което се получава е, че създават много тромав интервю процес. И накрая работата, за която са те взели, е нещо много по-просто.

Какъв е интервю процесът, който ти следваш?

Състои се от 3 интервюта, като две от тях са технически и последното интервю е със CTO на фирмата, което би могло да бъде и техническо. Последното интервю може да представлява генерален разговор за cultural fit. Там се взима решението как действаме по-нататък. Въпреки че са 3 интервюта, гледаме да е по-лек интервю процесът, защото искаме различни хора от фирмата да поговорят с даден кандидат и да добият представа за него, задавайки му различни въпроси. Най-често се интервюират Full-Stack програмисти. Интересното е, че в нашата фирма използваме Ruby on Rails, но специалистите са доста малко в България и просто го разкарахме като изискване. Затова смятам, че един програмист не се ограничава с технологията, с която работи. Не трябва да е проблем за един програмист да научи нова технология. Затова е важно интервютата да не са свързани с конкретна технология.

Въпросите, които задаваме на кандидатите са предимно генерални. Започваме с проверка на знанията на кандидата с бази данни – какви бази данни е използвал, до колко е задълбочавал и дали познава различни бази данни. Важно е да се разбере дали е наясно с базите данни и дали човекът се е сблъсквал с проблеми на производителността. Какво се случва с базите данни при проблеми и дали може да ги решава.

След това минаваме друга тема за развитието на едно уеб приложение. Задаваме въпроси за сървъри и проверяваме разбирането на един кандидат за тези концепции. Минава към Front-End частта, където си говорим за технологиите и оценяваме кой с какво се е занимавал. Целта на един интервюиращ е да добие представа за кандидата и да разбере какви са знанията му в тези всички области. Имаме си вътрешна система, за която си пишем оценки на кандидатите и се опитаме да пишем обратна връзка. Много хора взимат решение на база интуиция. Например, говориш си с човек и трябва да отговориш накрая дали го харесваш или не. Когато някой те пита защо, много трудно можеш да се аргументираш, дори да разпишеш на лист, че просто не ти е отговорил на еди-кой си въпрос. Разписват се добрите и лошите страни на кандидата, за да може да се изготви по-добра обратна връзка.

 

Този алгоритъм общовалиден ли е за всяко ниво на програмистите?

Не бих казал. Имаме няколко човека в нашата компания, които интервюират и всеки има индивидуален подход. Нямаме стриктно описан процес, а имаме основни препоръки. Опитваме се да ги спазваме, когато взимаме интервю.

Какви предимствата и недостатъците при интервютата на живо и онлайн интервютата?

Минус при онлайн интервютата е, че когато искаш да дадеш задача на кандидата, особено когато говорим за whiteboard задачи. Не виждам минуси при живото интервю. Аз работя дистанционно от доста време и това да чуя кандидат във видео конферентна връзка, трябва да се виждаме на камерата. Защото има различни интеракции, които са важни, когато си приказваш с даден човек, за да прецениш реакциите му спрямо нещо, което казваш и т.н. Това прави разговорът по-естествен. Видео интервютата не отстъпват по никакъв начин на интервютата, които са на място.

Какви са съветите към хората, които сега им се налага да ходят на интервю?

Не мисля, че човек трябва да се подготви или би могъл да се подготви за интервю. В някои фирми дават алгоритмични задачи, които са спорен въпрос дали могат да разберат чрез тях този кандидат става ли. Трябва предварително да знаеш, че тези фирми дават такива задачи. Бих посъветвал да решава алгоритмични задачи, ако се е насочил към такава компания. По принцип не би трябвало програмистите да не могат да решават алгоритмични задачи, но наблюдемията ми са, че хората се запъват на всякакви задачи, дори лесни. Кандидатите, които са минали през университет, имат някаква базова подготовка. Но всичко е до рутина.

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

Има и смели мнения по въпроса дали да се дават задачи по време на интервюта или не. Аз съм експериментирал доста по темата и в крайна сметка съм от хората, които дават задачи. Да го правя целта е друга, защото когато интервюто е дистанционно, човекът трябва да си сподели екрана. Аз не гледам само как ще си реши задачата, а гледам генерално този човек как работи с компютър. Това издава много неща от експертизата на човек. Как борави този човек с компютър, използва ли шорткъти, как си е нагласил средата. По-опитните правят така, че процесът им на работа да е по-оптимален и ефикасен. Това се наблюдава много добре, когато имаш 20 кандидата и гледаш начина, по който оперират с компютър. Виждат се детайлите. Това ми прави впечатление, а не само задачата.

Друг важен аспект е комуникацията. За мен е важно да има добра писмена и устна комуникация. Защото представи си в една компания със 100 човека, какъв хаос ще е това, ако не се комуникира добре. Да пишеш и да се изразяваш добре е нещо, на което държа. Трудно е, но човек, като поработи и може да се научи.

Как работиш с човешки ресурси? Пряка ли е връзката?

При нас екипът за човешки ресурси има административна роля. Те нямат участие в интервю процеса. Това по-скоро влиза като задължение на хората от Engineering екипа. Не го делигираме към HR хора, които да се занимават с тези неща. Те ни съдействат, но ние имаме технически грамотни мениджъри и обикновено те се грижат за хората и тяхното развитие. От HR отдела ни помагат с тренинги, защото повечето хора добиват мениджърски умения в движение и в работа. Това е наблюдението ми и при мен е такъв случаят.

Какви ще са интервютата на бъдещето? Ще бъде ли включен изкуственият интелект?

Много интересен въпрос, при който може да си фантазираме малко. AI ще се използва само, за да спести време от интервю процеса. Защото ако погледнеш интервюирането на една голяма фирма, която наема голямо количество хора, за всеки ненает кандидат, те са отделили време да го проверят. Виждам, че може да се използва изкуствен интелект като първоначална фаза. За самото интервю не съм сигурен колко добре изкуственият интелект може да оцени един кандидат. Това, което виждам, че по-големите фирми си автоматизират процесите. Защото един интервю процес включва да стигне кандидатура до компанията, след това да успееш да уговориш интервюта с различните хора по веригата, които ще го тестват, да събереш цялото досие от интервюто и накрая да вземеш решение.

 

Интервюто проведе Атанас Нейчев

Тагове: , , , , , , , , , , , , , ,