The Tech Interview Behind the Scenes: Антон Лелиос
![post cover](https://hrlabs.bg/storage/thumbnails/Wr4eupBK5kGrPR3XHaGj7pTJWi73KGHfY8JPugsC.png)
The Tech Interview Behind the Scenes е поредица на HRlabs.
Нека погледнем зад кулисите на техническия интервю процес от гледната точка на интервюиращите.
Целта ни е да предоставим на кандидатите ценни съвети и препоръки директно от професионалистите, които провеждат интервюта за различни технически роли.
„Важно е да дадеш шанс, защото понякога първите впечатления са грешни.“ e съвета на Антон Лелиос, основател и CEO на Viking Rabbit.
Разкажи повече за твоя кариерен път.
Ако трябва да го опиша с две думи, бих казал – стръмен и некомфортен. Резултат от комбинацията между работохолизма ми и огромния късмет да попадна още от началото в изключително динамична среда – с вакуум за запълване и хора с подобен манталитет и желание да се подобряват всеки ден.
Така се развиха обстоятелствата, че още по първия ми проект, от екип от 6–7 човека, само след няколко месеца останахме само аз и продуктов мениджър, който отговаряше паралелно и за много по-голям и приоритетен проект. Искам-не искам, се наложи да съм Fullstack Developer, QA и Customer Support. След няколко месеца показателите на проекта се подобриха драстично. Дали заради моята работа или заради промяна на някой алгоритъм на Google – никога няма да разберем, но така или иначе, собствениците на компанията решиха пак да инвестират в него. Добавиха нови хора към екипа и понеже вече бях станал човекът с най много познания за него, ме направиха Lead.
По подобен начин се развиваха нещата и занапред. Имах късмета да се откриват нови възможности, бях най-подходящият човек за работата и бях готов да се хвърля в дълбокото. Определено бях извън зоната си на комфорт почти постоянно, но вкарвах много работа и усилия и имах подкрепата на невероятни професионалисти, които повярваха в мен и ме менторираха.
Така минах през Tech Lead, Team Lead, Head of Backend Solutions, Technology Manager, Engineering Manager и сега работя по изграждането на собствен стартъп. Менторирал съм десетки хора (включително и мениджъри), отговарял съм за технологичните стандарти в три различни компании и съм изграждал и разраствал няколко успешни екипа, и може би най релевантното за този блог – присъствал съм и съм водил повече интервюта, отколкото мога да си спомня.
В ролята си на кандидат, имал ли си странни интервюта? А такива, които са те впечатлили?
Може би най-необичайното интервю, на което съм бил, беше след IT Boot Camp-а, който завърших. Интервюто беше с няколко компании едновременно, пред може би 10-тина човека. Изключително стресиращо беше и задаваха доста неудобни за отговаряне въпроси като – „Тук сме няколко компании, за коя би искал да работиш“.
Съвет от страна кандидат в подобна ситуация - отпиваш глътка вода, казваш на вътрешния си критик да млъкне и действаш.
Ако някой от другата страна чете това – двама интервюиращи по едно и също време са абсолютният максимум.
Какви умения и качества търсиш най-вече в един кандидат? Как кандидатът може да изпъкне в рамките на интервюто?
Трудно ми е да дам общовалиден отговор на този въпрос. Има огромна вариация в нуждите според позицията, която трябва да се запълни. През по-голямата част от кариерата си съм се фокусирал повече върху soft skills, защото обикновено съм имал лукса на добре изградена култура и процеси за менториране. Съответно е било достатъчно да повярвам, че кандидатът има мотивацията и възможностите да натрупа техническите умения, които са му необходими.
Сега започвам собствен стартъп с много ограничено време и ресурси, съответно нещата стоят по много по-различен начин. Поне в началото ще ми се наложи да търся хора с много конкретни hard умения и опит.
Изключително важно е, когато искаме да наемем човек, да сме болезнено откровени със себе си относно това какви са нашите нужди и какво можем да предложим, и да ги комуникираме ясно в обявите и по време на интервютата. Съответно, от страна на кандидатите, е важно да съберат възможно най-много информация за това какво се очаква и предлага за дадена позиция.
Кандидатите, които са изпъквали най-много, са били тези, с които „интервюто“ е било по-скоро разговор, отколкото интервю. Ако истински се вълнуваш и разбираш от работата, която вършиш, обикновено това си личи и натурално става увличащ разговор.
Какви въпроси обикновено задаваш в техническите интервюта? Има ли конкретни задачи или проблеми, които често използваш за оценка на кандидатите?
След обичайните общи приказки за разчупване на атмосферата, първият въпрос е - „Разкажи ми за някой проблем, който си решил/а скоро в работата си“. Ще реферирам към предишния ми отговор - ако обичаш това, което работиш, и наистина си решил даден проблем, обикновено можеш да разкажеш в много голям детайл за него. Съответно, ако търся експертиза в конкретна технология, питам за проблем, който си решил с нея, и дълбая в специфики за конкретни поведения, похвати и причини да я избереш.
След това зависи от опита на кандидата:
За по-опитните давам комично обширен и абстрактен проблем, примерно: „Започваш нов проект – трябва да направиш копие на Twitter/X“. В движение измислям детайлите и изискванията според нивото на позицията, опита на кандидата, посоката, в която тръгне, и какви въпроси задава. Тук следя за това какви въпроси задава, как разсъждава и какви решения взима – няма вярно и грешно, важен е процесът.
За по-неопитните гледам да е малко по-конкретен проблем, който е решим с технологии, които са споменали, че познават. Тук се опитвам да разбера дали просто са назубрили теорията или наистина са я разбрали. Любим пример ми е да питам какво е Singleton (шаблон за проектиране). Ако знаеш какво е и ми издекламираш как се имплементира, ти давам задача, която всъщност е друг, по-непознат шаблон (Multiton). Ако си разбрал защо и как се имплементира първият, е много лесно да стигнеш до решението. Ако не знаеш какво е, ти обяснявам и ти помагам да стигнеш до имплементацията с неща, които вече знаеш.
И в двата варианта приканвам кандидата да разсъждава на глас и давам насочващи въпроси, за да съм сигурен, че му е ясна задачата и да го насоча в правилната посока.
Колко e важно кандидатът да има добри комуникационни умения? Как те оказват влияние върху цялостното интервю?
Ако не можем да се разберем по време на интервюто, от моя опит е малко вероятно това да се промени впоследствие.
Казвайки това, е много важно като интервюиращи да имаме предвид, че да те интервюират е стресиращо преживяване. Има позиции, които изискват да имаш уменията да се справяш с това, но освен ако умишлено не тествам за това, моя задача е да помогна на кандидата да се отпусне. Шансът да сбъркаш притеснение с незнание е голям. До ден днешен това е едно от нещата, за които внимавам най-много.
Сигурно може цяла книга да се изпише по темата, но накратко нещата, които правя аз, са:
- Започвам с общи приказки и така наречените разчупващи въпроси (ice breakers).
- Минавайки към техническите теми, се старая да започна с неща, които съм сигурен, че кандидатът знае, така че да натрупа увереност.
- Ако направи грешка, задавам уточняващи въпроси, за да се подсигуря, че сме се разбрали правилно, и да дам шанс да се поправи.
- Ако му стане ясно, че е сбъркал, се опитвам да разведря обстановката, бонус точки ако е шега с чувство за самоирония – „Да ти кажа, това и аз не го знам“.
- Опитвам се въпросите ми да имат логическа последователност, а не да скачам от тема на тема.
- И може би най-важното, както казах по-горе – старая се да питам за неща, с които кандидатът има опит, и да дълбая за това колко добре ги е разбрал.
Каква роля играе културната съвместимост при вземането на решение за наемане? Как оценяваш дали кандидатът ще се впише добре в екипа?
С една дума – огромна. Фирмената и екипната култура е нещо, което води собствен живот, независимо от това какво пише в сайта ти за „Ценности, мисия и визия“ и това, което ние си мислим, че е. Културата е може би едно от най-трудните неща за изграждане и поддържане, и същевременно най-лесният и сигурен начин да се провалиш е да изградиш лоша или токсична такава. Ако наемеш хора, без да имаш това предвид, рано или късно ще се изгради култура и шансовете са да не е такава, каквато искаш.
Оценявам дали кандидатът ще се впише, като питам за конкретни примери как е реагирал в определени ситуации и гледам да избягвам хипотетични въпроси.
Много е важно да не се забравя, че това е двустранен процес. Прекарваме близо 1/3 от живота си в работата си. Трудно ми е да се сетя за по-лесен начин да си направиш живота нещастен от това да работиш на място, където културата не ти пасва. За съжаление, понякога животът ни притиска да правим компромиси в това отношение, но ако четеш този блог, бих заложил, че има как да избегнеш това.
Какви са най-честите грешки, които кандидатите допускат по време на интервю? На какво би посъветвал кандидатите да наблегнат при подготовката за интервю?
Може би най-важното е да разбереш колкото се може повече за компанията и позицията. Ако не знаеш с какво се занимава компанията, изискванията за позицията и защо искаш да работиш там, шансовете ти да минеш успешно интервюто (и това да е място, на което ще си щастлив да работиш) клонят към нула.
Най-вероятно из интернет можеш да намериш информация за технологичния стек на фирмата, културата в нея, как протичат интервютата, опитът на интервюиращите и така нататък. Ако проучиш тези неща, трудно е да те хванат неподготвен.
Подготовката за начина, по който аз водя интервюта, е доста проста:
- Прочиташ обявата и ако има някоя технология, която не ти е позната, правиш малко проучване за нея. Това не означава после на интервюто да ми кажеш, че знаеш всичко за нея, но ще те подготви да можеш да проведеш смислен разговор – „Не съм работил с Х, но прочетох за нея. Аз съм ползвал Y, която ми изглежда подобна. Защо сте решили да ползвате нея?“.
- Отделяш малко време да помислиш за някой по-заплетен проблем, който си борил. Бонус точки ако е с релевантните технологии.
- Останалото е искрен интерес към работата, която вършиш/искаш да вършиш, и консистентни усилия да станеш по-добър в нея.
За съжаление, много компании все още използват по-традиционни методи за интервюиране със софтуерна тривия и програмиране на живо на алгоритмични задачи. За позиции, където има стотици кандидати, това е разбираем подход за първично отсяване. Аз лично бих ги пропуснал, освен ако не става въпрос за компания от калибъра на FAANG (Facebook, Amazon, Apple, Netflix, Google). Ако трябва да минеш през такъв процес, решението е едно – зубрене на теория и решаване на задачи в сайтове като LeetCode.
Какви съвети би дал на кандидати, които искат да подобрят техническите си умения? Има ли ресурси, които би препоръчвал?
Ресурси има в изобилие – блогове, елитни университети като MIT и Stanford качват онлайн безплатно курсовете си, YouTube е пълен с качествени уроци. ChatGPT може да бъде много полезен, особено ако знаеш как да го ползваш, но за основните неща дори без особени умения по Prompt Engineering можеш да имаш много добри резултати. Който е искал, е намерил, просто трябва проактивност и консистентност.
Не случайно разказах историята за първия ми проект. Не ме оставиха сам по него, защото съм бил някакъв гений, а защото не беше приоритетен и това беше най-евтиният начин да го закрепят. Съвсем спокойно можех да си клатя краката по цял ден и стига да не го бях затрил съвсем, никой нямаше да му пука особено. Това, че вложих всичките тези усилия, без никой да го очаква от мен, ме постави на тази успешна траектория. Да, имах огромен късмет, че бях попаднал на място, където това се забеляза и оцени, но ако не бях действал така, гарантирано нямаше да имам този успех.
Трябва да си проактивен и сам да се предизвикваш и да търсиш възможностите. Ако мениджърът ти ти помага за това – супер, значи си попаднал на правилното място. Но това е твоя отговорност, защото това развива твоите умения, които си остават за теб, независимо къде работиш и какво правиш.
Сподели повече за най-добрите (или най-лошите) интервюта, които си провеждал.
От моя страна, лоши интервюта сигурно съм провеждал много, особено докато понатрупам опит. И това е умение и като всички други изисква подготовка и практика. За мое щастие съм имал много ментори, които са ми помагали. Не можеш просто да хвърлиш някой програмист да води техническо интервю и да очакваш да има добри резултати.
Иначе, най-добрите винаги са били, когато видиш, че кандидатът говори със страст за нещата, които е правил, и му е истински интересно да реши проблема, който си му дал. Никога няма да забравя едно конкретно интервю, в което след първите 10–15 минути се спогледахме с колегата (с когото водехме интервюто), и на двамата ни беше ясно, че ще направим оферта. Останалите 40–50 минути бяха за удоволствие, да видим колко ще надскочи летвата.
Най-лошите са когато видиш как някой години наред е вършил някаква работа и очевидно нито му е харесвала, нито е разбрал особено какво и защо е вършил.
Как оценяваш кандидата по време на интервюто – базирано само на теоретичните му познания или за теб е определящ подходът му към решаване на казуса/задачата? Какви други фактори вземаш предвид при вземане на решение?
Ако можеш да напишеш въпроса в Google и го има на първия ред на първия резултат, не ме интересува особено дали можеш да ми отговориш правилно. Важна е теорията, но е много по-важно дали я разбираш и дали можеш да я приложиш на практика. А още по-важно е какво ти е отношението и подходът.
Другият ключов фактор е как кандидатът ще се впише в екипа и фирмата. За да бъде един екип успешен, е важно да има хора с разнообразни качества и опит, които се допълват взаимно. Не можеш да имаш екип само от синиъри, нито само от джуниъри. Никой не харесва криваците, но е полезно да има и такива, от които не трябва да вадиш критиката с ченгел. Не може всеки да е душата на компанията, но ако всички са интроверти като мен, е трудно екипа да се сработи. Хубаво е да имаш много пробивни и амбициозни хора, но ако това е основната черта на всички, в по-бавните моменти е трудно да ги държиш мотивирани. Трябва баланс и колкото да е неприятно, понякога – „Съжаляваме, но няма да паснете в екипа“ е истинската причина за отказа.
Сподели забавна история от опита ти на интервюиращ :)
В предишна фирма, веднъж се наложи да водим интервюта на сутринта след коледното ни парти. Моите бяха онлайн и по-кратки, така че можех в почивките да посъбера сили, но колегите имаха на живо – мисля, че ги видях два пъти да излизат от залата да пълнят каната с вода.
Другите не са точно забавни и не са за разказване, но каквото и да си помислиш, с достатъчно време ще го видиш – незнаещи защо са дошли, с фантазирани CV-та, сърдити, надменни. Когато работиш с хора, можеш да очакваш буквално всичко. Важно е да дадеш шанс, защото понякога първите впечатления са грешни и стресът избива по различен начин при различните хора. Понякога обаче, ситуацията е “България не ме обича, а аз съм ебати пича” и тогава си е истинска трагикомедия.
Имам и история от първото ми интервю като кандидат. Беше масово, може би 5–6 човека чакахме по едно и също време и ни викаха един по един. Имаше едно момиче от фирмата, което седеше да ни прави компания и да разведрява обстановката. Шегичките ѝ бяха саркастични тип – „Вътре е много страшно, да знаете. Големи цербери са, колят и бесят“. Накрая останахме само двама и докато тя беше излязла да свърши нещо, другият кандидат отиде до тоалетната. Тя се върна да го извика и като ме попита къде е, се пошегувах, че като я е чул как говори колко е страшно интервюто, си е тръгнал. Изписа се истинска паника на лицето ѝ преди да избухна в смях и да я успокоя. Сигурен съм, че ако не беше това, нямаше да мине толкова добре интервюто ми после.