UNLEASH London 2019

Dodano 29 kwietnia 2019 Do Aktualności, Wyróżnione

Candidate Experience i RealLifeTesting™ w rekrutacji programistów

Podczas konferencji UNLEASH w marcu 2019 roku warszawski Devskiller znalazł się w trójce nagrodzonych startupów z obszaru HR Tech. Mieliśmy okazję porozmawiać z Tomem Winterem o tym, czym platforma Devskiller różni się od istniejących na rynku narzędzi do testowania umiejętności programistycznych i jak sprawdza się w procesie rekrutacyjnym.

EmployerBranding.pl: Rozwiązanie Devskiller odniosło spory sukces, zdobywając 3. miejsce w konkursie startupów. Skąd wzięła się idea stworzenia narzędzia do testowania umiejętności programistycznych?

Tom Winter: Pomysł wziął się z doświadczeń programistów, którzy stale angażowani byli w prowadzenie rekrutacji do działów technicznych. Szybko zorientowali się, że tradycyjne rozmowy techniczne z kandydatami zajmują im zbyt dużo czasu i za bardzo odciągają ich od codziennej pracy. Rozwiązania, które były dostępne na rynku, testowały wiedzę algorytmiczną. Zadawały pytania w stylu „jak zbudować kalkulator”, które miało niewiele wspólnego z zadaniami, które programista realizuje na co dzień. Dzisiejsze kodowanie to nie jest pisanie algorytmu od zera – odwracanie drzewa binarnego czy kodowanie ciągu Fibonacciego. Te algorytmy są dostępne online – mamy biblioteki i frameworki. A prawdziwe kodowanie polega na rozwiązywaniu realnych problemów biznesowych i osiąganiu konkretnych rezultatów.

Czy idea testowania w rzeczywistym środowisku programistycznym spotkała się z zainteresowaniem rynku?

Tak. Rynek rozwiązań tego typu jest wąski, a my faktycznie widzimy, że klienci szukają systemu, który pozwoli testować umiejętności kandydatów w realnym środowisku programistycznym. System działa od 2015 roku i obecnie ma klientów w ponad 40 krajach: głównie w USA, Kanadzie, Wielkiej Brytanii, Holandii, krajach nordyckich.

Co na to kandydaci? Czy testy programistyczne są dużą barierą w procesie rekrutacyjnym?

Kandydaci w procesie rekrutacyjnym często zadają sobie pytanie: „ale po co ktoś mnie o to pyta?”. Oczekują aby to, co dzieje się podczas rekrutacji, miało przełożenie na faktyczne wymagania dla danego stanowiska pracy. A zadania, które kandydat dostaje w naszej platformie, odzwierciedlają nie tylko środowisko programistyczne, ale też wyzwania zbliżone do problemów projektowych. Rozwiązywanie zadań, które mają sens, daje znacznie większą motywację. Co więcej, kandydaci mogą je wykonywać we własnym środowisku technologicznym, w domu, o dowolnej godzinie, a to znacznie mniejsza barierę i ogranicza stres.

Czy, a jeśli tak, to w jakim stopniu Devskiller wymaga zmiany istniejącego w firmie procesu rekrutacyjnego?

Nie chcemy wywracać do góry nogami procesu rekrutacji w firmie. Staramy się dopasować do istniejącego procesu i go wspomóc. Devskiller integruje się z najbardziej popularnymi systemami ATS i daje możliwość integracji z pozostałymi poprzez otwarte API. Możliwe jest stosowanie systemu w sposób automatyczny, w pełni zintegrowany z istniejącym procesem rekrutacyjnym.

Jak duża jest paleta technologii, frameworków i środowisk programistycznych, które można testować w Devskillerze?

Mamy testy pod ponad 50 różnych technologii, między 16 a 20 różnych języków programowania, a pod każdym z nich kryją się konkretne frameworki. Przykładowo dla JavaScriptu szukamy zwykle osoby, która pracuje w konkretnym środowisku – najczęściej Angular, React lub Vue.js. Ktoś, kto potrafi programować używając Reacta, nie musi znać Vue. A to z kolei, że ktoś programował w JavaScript, nie oznacza, że sprawdzi się na danym stanowisku w pracy.

Jeśli chcemy testować umiejętności programistów, to powinniśmy im dać środowisko pracy i narzędzia, którymi posługują się na co dzień, żeby mogli pokazać pełen potencjał. Nasz system powinien odzwierciedlać coś w rodzaju pierwszego dnia w pracy. Stworzyliśmy metodologię RealLifeTesting™, na której oparty jest nasz system, odzwierciedlający środowisko i sposób, w jaki programista rozwiązuje realne problemy programistyczne na co dzień.

Na czym polega zadanie testowe i jak sprawdzane są rezultaty?

W trakcie testu dajemy do rozwiązania pełen projekt programistyczny, który można pobrać do swojego środowiska. Kandydat może używać wszystkich narzędzi, do których jest przyzwyczajony; nawet takich jak edytor, w którym programuje na co dzień i praktycznie całe zasoby internetu: StackOverflow czy Google. Celem zadania jest nie tylko osiągnięcie rezultatu końcowego, ale też przemyślenie warunków brzegowych, czyli tego, co w procesie może pójść nie tak. I to także jest wyróżnikiem naszego rozwiązania, bo sprawdzamy nie tylko wynik zadania, ale także sposób, w jaki zostało rozwiązane.

Wykonujemy też analizę statyczną kodu, aby zweryfikować jego jakość – czy kod jest czysty, czy generuje błędy, Sprawdzamy, czy programista koduje w sposób zrozumiały nie tylko dla komputera, ale także dla innych programistów. To jest bardzo ważny aspekt, ponieważ przy obecnej skali projektów biznesowych praca programisty to głównie praca zespołowa. I takich właśnie osób, które potrafią pracować w zespole, szukają rekruterzy.

Jaka jest skala poziomu trudności testu, czyli poziomu wymaganych umiejętności programistów?

Poziomy trudności odzwierciedlają rynkową skalę poziomów stanowisk programistycznych, czyli junior, middle, senior. Można skorzystać z łącznie ponad tysiąca gotowych zestawów predefiniowanych w systemie zadań dla każdego z tych poziomów.

Skąd czerpiecie pomysły na zadania programistyczne?

Słuchamy klientów i czerpiemy z rzeczywistych problemów biznesowo-programistycznych. Tu warto wspomnieć o innej ciekawej funkcji Devskillera, jaką jest możliwość dodania własnego zadania programistycznego, nawet wyjętego z repozytoriów klienta i dodania do niego unit testów. I to staje się coraz bardziej powszechną praktyką wśród naszych klientów.

W jakim kierunku chcecie rozwijać platformę?

Zauważyliśmy na rynku dużą potrzebę zdefiniowania oraz zmapowania wiedzy i umiejętności technicznych w zespołach po to, aby sprawniej zarządzać tymi kompetencjami: lepiej budować zespoły, planować rozwój kariery, a w skrajnych przypadkach nawet ograniczać niepotrzebne rekrutacje. To jest naturalny rozwój narzędzia skupionego na rekrutacji i z takim nowym produktem wkrótce pojawimy się na rynku.

Okazją do rozmowy był konkurs startupów, który odbył się podczas konferencji UNLEASH w Londynie w marcu 2019 r. EmployerBranding.pl jest patronem wydarzenia, a kolejne tegoroczne edycje UNLEASH odbędą się:

  • w Las Vegas: 14-15 maja 2019 r.
  • w Paryżu: 22-23 października 2019 r.

Agenda i szczegóły kolejnych edycji UNLEASH.

Zdjęcie: UNLEASH.

Tagi : , , , , , , ,