Postanowiłeś zmienić swoje życie, nauczyłeś się programowania i... masz problem ze znalezieniem pracy? Nie ty jeden: pomimo ogromnych braków, firmy wolą płacić kokosy ekspertom, niż dać szansę nowicjuszowi. W ramach cyklu INNowacyjni rozmawiamy z polskim startupem CodeAlly, który twierdzi, że znalazł sposób na rozwiązanie tego problemu: system oceniający realne zdolności kandydatów, bez patrzenia na ich doświadczenie.
Mało zarabiasz? Nie lubisz swojej pracy? Zostań programistą i życie stanie przed tobą otworem. Nawet jeśli posłuchamy się tej rady, szybko możemy zmierzyć się z brutalną rzeczywistością. Nie my jedni wpadliśmy na pomysł przygody z pisaniem kodu – każdy może zacząć to robić, nawet po krótkim kursie.
Początkujących programistów jest niezwykle dużo. Jednocześnie rynek informatyczny rok za rokiem alarmuje, że dramatycznie brakuje rąk do pracy. Brzmi jak paradoks, ale kryje się za tym jeden z największych problemów w branży IT.
Z jednej strony, osobom zaczynającym programować piekielnie trudno jest się wybić. Nie mogą też zdobyć doświadczenia, które jest już standardem wymaganym w CV. Jak nowicjusz ma znaleźć pierwszą pracę, skoro nawet początkujące stanowiska wymagają roku na podobnym stanowisku?
Z drugiej strony, firmy nie mają obecnie efektywnych narzędzi, by stwierdzić, kto faktycznie zna się na programowaniu, a kto tylko udaje. Kandydatów można wprawdzie testować na zadaniach praktycznych, ale nie ma komu ręcznie ich oceniać. Działy HR wymagają więc potwierdzonego doświadczenia w CV... i koło się zamyka.
Adam Żaczek i Mateusz Olek twierdzą, że udało im się przeciąć ten węzeł gordyjski. Założyciel i współzałożyciel polskiego startupu CodeAlly (a prywatnie starzy znajomi), mówią nam o swoim pomyśle na biznes i rewolucyjnym podejściu do rekrutacji w IT, które już zainteresowało rynkowych gigantów.
Jak zaczęła się historia CodeAlly? Dwóch kolegów i marzenie?
Adam Żaczek: Od początku wiedziałem, że założę jakąś firmę technologiczną – to mnie pociągało, a do tego miałem masę dobrych pomysłów. Przez cztery lata pracy w IT uzbierałem słuszną sumę oszczędności, wymyśliłem co chcę zrobić i... zacząłem dzwonić. Zadzwoniłem do jednego przyjaciela, potem do drugiego. Tym drugim był właśnie Mateusz – i tak to się zaczęło.
Z Mateuszem znaliśmy się od pierwszej klasy gimnazjum, w zespole założycielskim znalazł się też Paweł – kolejny znajomy jeszcze z gimnazjalnych lat. Ogólnie znalezienie teamu było łatwe – byli to znajomi i osoby, z którymi mamy wiele wspólnego. Miałem pewność, że dobrze się zgramy i każdy konflikt będzie do rozwiązania.
Zaczęliśmy z aplikacją do nauki programowania na telefonie. Edukacja postała nam bliska, bo z tym wiąże się też nasz najnowszy projekt – współpraca ze szkołą programowania FreeCodeCamp.
Mateusz Olek: Apka była niezłym osiągnięciem, bo średni czas jej używania to około 10 minut. Oznacza to oczywiście, że parę osób otworzyło ją i zamknęło po minucie. Była też jednak spora grupa osób, które spędzały w niej na przykład godzinę. A średni czas spędzony w aplikacji – nawet na Messengerze czy Instagramie – to około pół minuty.
Żaczek: Osiągnęliśmy sukces, ale liczby nie wskazywały na to, że będziemy mogli utrzymać czteroosobowy zespół przy takich wzrostach. Wtedy jeszcze opłacałem wszystko z własnych oszczędności: pensje, koszty firmy i tak dalej. Zaczęliśmy więc myśleć nad kolejnym krokiem.
Czyli?
Żaczek: Każdy programista potrzebuje sprzętu – często to on jest barierą wejścia do branży, bo do skompilowania kodu, sprawdzenia działania programu itp. często potrzeba znacznej mocy obliczeniowej. Nasze rozwiązanie – programowanie całkowicie w chmurze obliczeniowej – sprawia, że potrzeba tylko klawiatury, ekranu i przeglądarki.
Olek: Nasz system to całkowity kombajn, nie widziałem drugiego takiego rozwiązania na rynku. Coś podobnego, ale nie do końca, oferuje Microsoft – to jest poziom zaawansowania, o którym mówimy. Dzięki temu pisać programy można nawet na wiekowym albo najtańszym urządzeniu. Technicznie programowanie byłoby możliwe nawet na… lodówce z wifi.
Co ciekawe, w pewnym momencie doszło też nawet do programistycznej "incepcji". Mój własny komputer średnio nadawał się do pracy z kodem, więc sam zacząłem używać naszej platformy... by wprowadzać do systemu kolejne funkcje i poprawki. Obrazowo: to jakbym budował most, jednocześnie idąc po jego gotowych fragmentach.
Jak ta technologia przekształciła się w model biznesowy? Jak to sprzedać?
Olek: Strategia biznesowa CodeAlly na początku przypominała węszenie psa myśliwskiego. Szliśmy w konkretnym kierunku, ale jednocześnie zataczaliśmy też coraz szersze koła wokół pierwotnego pomysłu, tropu. Patrzyliśmy co się da poprawić i jak lepiej wykorzystać nasz system, co możemy zaoferować. No i w końcu złapaliśmy "królika".
Żaczek: Pomyśleliśmy, że nasze środowisko daje doskonałe pole zarówno do nauki programowania, jak i do rekrutacji w IT. Łatwo jest powiedzieć, że w IT brakuje rąk do pracy – to wie każdy. Ale proces rekrutacji jest też bardzo żmudny. Firma chce sprawdzić, co potrafią kandydaci, a praktycznie zadania potwierdzające umiejętności ktoś musi ręcznie sprawdzić i ocenić... ręcznie.
Obecnie wykorzystujemy więc nasze środowisko chmurowe od oceny możliwości programistów. Nasz system pozwala na pisanie kodu, ale też sprawdzenie czy i jak dobrze działa stworzone rozwiązanie. Przed kandydatami stawiamy określone zadania, a potem punktujemy wykonanie wytycznych.
Olek: Można to porównać do otwartego zadania na maturze z matematyki, takiego za powiedźmy pięć punktów. Wpisanie danych to jeden punkt, użycie odpowiedniego wzoru drugi, dobre obliczenia trzeci i tak dalej – tylko na większym poziome zaawansowania. Zadania stworzyliśmy tak, że nawet programiści z latami doświadczenia mogą się pomylić.
Rzadko kto perfekcyjnie wykonuje test, więc dobrze różnicują one poszczególne osoby. Kandydat z dwoma punktami na pięć coś już potrafi, taki z czterema na pięć jest już bardzo dobry. Cały test ma zwykle cztery zadania i dwadzieścia punktów.
Czym ten system różni się od klasycznej rekrutacji?
Żaczek: Rekrutacja w IT obecnie jest mocno skodyfikowana – co ma dobre i złe strony. Podstawowym kryterium jest doświadczenie komercyjne. Tysiące ofert dla tak zwanych junior developers zaczynają się od "minimum rok doświadczenia na podobnym stanowisku".
Ten "rok w branży" często jest barierą nie do przeskoczenia. Skoro każda oferta wymaga doświadczenia, to gdzie startująca w branży osoba ma je zdobyć?
Olek: Działy rekrutacji bywają zafiksowane na liczbach. 4 lata doświadczenia to już z reguły senior developer. To miano wiąże się z oczekiwaniem znacznie wyższej płacy, a pracodawca oczekuje już sporych umiejętności. Problem w tym, że seniorami często zostają osoby, które niewiele się rozwinęły od swojego pierwszego kursu programowania. Ale CV mają odpowiednie.
X lat doświadczenia to dobry skrót myślowy, pozwala firmom działać i w miarę sprawnie rekrutować. Często na jedną ofertę IT jest kilkaset zgłoszeń. Pierwszy krok to wyrzucenie do kosza wszystkich aplikacji bez doświadczenia.
Taka jest praktyka, ale przez to firma potrafi odrzucić mnóstwo osób, które świetnie sprawdziłyby się na danym stanowisku.
Czyli wiele juniorów jest na przegranej pozycji, a seniorzy mogą przebierać w ofertach za grube tysiące złotych?
Żaczek: Często dochodzi wręcz do absurdów. Parę lat temu dostałem dobrą pracę jako ekspert IT w jednym z czołowych banków. Zastąpiłem chłopaka, która jest już pewną legendą w branży. Pracował jako deweloper i nie napisał ani jednej użytecznej linijki kod przez cały okres zatrudnienia.
Mój poprzednik nie znał nawet technologii, języka kodowego, w którym miał pracować na co dzień. To tak, jakby ktoś był wykładowcą matematyki stosowanej na uniwersytecie i... może nawet umiał dodawać, ale już nie mnożyć.
A płaca na tym stanowisku wynosiła 450 euro za dzień. To po prostu legendarny poziom "fake it till you make it". Ale jak zakładam – w CV miał odpowiednio dużo lat doświadczenia. No więc został zatrudniony.
Porozmawiajmy więc o systemie CodeAlly. Gdzie kryje się ta rewolucja?
Olek: Obecnie każda firma chce zatrudnić ograniczoną grupę osób. Są tacy programiści, którzy codziennie dostają po kilkanaście ofert pracy. Firmy próbują ich sobie zaskarbić, licytując się coraz wyższymi pensjami.
Czemu firmy na noże biją się o wąską grupę osób, skoro wiemy, że na całym rynku po prostu dramatycznie brakuje pracowników? Do tego każdy junior awansujący na seniora zostawia po sobie wyrwę w zespole. Skąd wziąć osobę na zastępstwo, skoro ma mieć rok doświadczenia?
My wychodzimy z założenia, że na rynku jest mnóstwo młodych i zdolnych programistów. Może nawet lepszych od obecnych ekspertów. Tylko nowym osobom bardzo trudno jest zabłysnąć, a nawet pokazać, że istnieją.
Z drugiej strony, szukanie nowych programistów to ogromne wyzwanie operacyjne dla firm. Nie oszukujmy się – często na 100 CV osób początkujących zaledwie cztery są warte uwagi. Gdyby firmy miały sprawdzać sto z zadań rekrutacyjnych, przeprowadzać sto rozmów – nie zajmowałyby się niczym innym. Dlatego wymagają doświadczenia – oznacza ono, że ktoś już te osoby podszkolił.
Żaczek: Naszym celem jest wpuścić jak najwięcej osób na rynek pracy IT. Wiele razy zdarzyło mi się rozmawiać z osobami na początku drogi, którzy przez długie miesiące nie mogą znaleźć stanowiska. Każda ich aplikacja była odrzucana, często nawet bez informacji zwrotnej, dlaczego.
A jednocześnie firmy biją na alarm, że nie ma rąk do obsadzenia klawiatur. Ten problemy można rozwiązać i pomóc obu stronom.
Jak CodeAlly działa w praktyce? Powiedzmy, że jestem początkującym programistą. Co muszę zrobić?
Żaczek: Najogólniej CodeAlly to system łączenia kandydatów z pracodawcami. Jako programista zakładasz swój profil. Tam wpisujesz podstawowe dane, doświadczenie – tworzysz mikro CV. Co ważne, dodajesz też oczekiwane widełki płacowe. Nasz system skanuje także profil danej osoby na GitHubie – znanym serwisie, gdzie można pokazać swoje projekty programistyczne.
Wskazujesz także, jakie języki programowania i technologie znasz. I tu jest duża różnica. Skoro powiedźmy zaznaczyłeś programowanie w Java i znajomość SQL, to możesz też podejść do naszych testów dotyczących tych technologii. Nie jest to punkt przymusowy, ale realnie pokazujesz, na co cię stać.
Zauważyliśmy, że doświadczeni programiści nie są zbytnio zainteresowani wypełnianiem zadań dla początkujących. Ale jeśli damy im wyzwanie, to chętnie się sprawdzają. Dlatego testy są fakultatywne, ale oczywiście zachęcamy do ich podejmowania.
Olek: Sam proces jest prosty. Programiści dostają zadanie w naszym środowisku chmurowym. Jest to m.in. napisanie fragmentu danej aplikacji. Przykładowo może to być stworzenie prostego elementu interfejsu użytkownika, który prezentuje dane z bazy i dodatkowo reaguje na kliknięcie w baner "pokaż więcej" albo "pokaż mniej".
W teście jest parę zadań, więc jeśli jedno pójdzie nam gorzej, możemy nadrobić to w innym. Sprawdzamy podstawy języka ale też bardziej zaawansowane techniki takie jak tworzenie frameworku. System jest zaś potem w stanie uruchomić napisaną aplikację. Sprawdzić, czy kod został napisany poprawnie i czy spełnia założenia.
Żaczek: Testy możesz wypełnić nawet, jeśli w tym momencie nie szukasz pracy. Twoje wyniki oraz profil po prostu będą w systemie i jest szansa że ktoś zgłosi się do ciebie z ofertą, bo spełniasz jej wymagania.
A co jeśli test mi nie pójdzie? W końcu jestem początkujący, a wasze zadania bywają trudne.
Żaczek: Test jest złożony z paru zadań właśnie po to, by dać szansę każdemu. Dodatkowo, co dwa miesiące dajemy programistom możliwość poprawy wyniku. Dzięki temu mogą pokazać, jakie postępy poczynili. Uważam, że to uczciwe rozwiązanie zarówno dla kandydatów, jak i dla rekruterów.
Skoro o rekruterach mowa – co system CodeAlly daje pracodawcom?
Olek: Znacząco skraca okres poszukiwania pracownika i daje pewność, że dane osoby rzeczywiście potrafią to, czym się chwalą. Gdyby firma we własnym zakresie miała sprawdzać wszystkich kandydatów na platformie – wrócilibyśmy do punktu wyjścia. Właśnie przy zadaniach praktycznych trzeba poświęcić najwięcej czasu i środków na odsianie kandydatów.
Dodatkowo firmy mają dostęp do puli kandydatów, która zwykle w ogóle nie byłaby brana pod uwagę w rekrutacji IT, właśnie przez duże koszty operacyjne. Teraz rekrutacja bywa jak wylewanie dziecka z kąpielą. Firmy wolą odrzucić więcej osób, by mieć pewność że kandydaci w dalszych etapach na pewno coś potrafią.
My zapewniamy zaś dostęp do osób, które jeszcze nie mają doświadczenia, ale już teraz dobrze rokują. A w pewnych przypadkach doszkolenie młodej i zdolnej osoby, danie jej szansy, może być dużo lepszą inwestycją niż zatrudnienie seniora.
Żaczek: Technicznie – pracodawcy dodając nową ofertę do naszego systemu określają szereg parametrów, które już na wstępie pozwalają im szybko i efektywnie dobrać kandydatów. Oferty korzystają z systemu tagów. Możemy na przykład ustalić, że szukamy tylko programistów javascript lub innego języka.
Jeśli firma potrzebuje osoby z SQL, to CodeAlly wyświetli tylko osoby które zajmują się tą technologią. A zaraz poniżej ich wyniki w zadaniach, które określają ich poziom znajomości. Na pierwszy rzut oka rekruter ma więc dostęp do najlepiej rokujących kandydatów. Znacznie skraca to czas dosiewu kandydatów i pozwala znaleźć właściwą osobę na odpowiednie dla niej stanowisko.
Czy taki system nie jest trochę jak wyrocznia IT? Z jednej strony wskazuje ludzi ze świetlaną przyszłością, oferuje im pracę. A z drugiej może odrzucić innych, wskazać że może nie nadają się na programistów?
Żaczek: System jest daleki od bycia alfą i omegą. Jest narzędziem rekrutacyjnym, nie zatrudni nikogo sam i nie odrzuci innych ze względu na ich wyniki. To nie jest algorytm AI, który autonomicznie zadecyduje, która ze stu osób dostanie pracę.
CodeAlly po prostu ułatwia prace rekruterom. To do nich należy decyzja, ilu kandydatów zaproszą na dalsze rozmowy czy do współpracy. Nasze testy służą gradacji, pokazaniu poziomu umiejętności różnych osób w tych samych warunkach testowych. Nie powstał po to, by całkowicie zautomatyzować rekrutację. A tym bardziej, by komuś zamykać drogę do zostania programistą.
Olek: Z drugiej strony... Uważam, że mamy pewne predyktory, które są w stanie przewidzieć osoby z niezłym potencjałem. Jeśli ktoś ma bogaty profil, podjął się wypełnienia testów, a jednocześnie z jego profilu GitHub wynika, że cały czas się rozwija, uczy nowych rzeczy i próbuje je wykorzystać w praktyce? Ja sądzę, że taka osoba ma bardzo dobre zadatki i może wiele osiągnąć.
Porozmawiajmy o praktyce. Czy mieliście już jakieś informacje zwrotne? O tym, jak system działa, jakie firmy są nim zainteresowane?
Żaczek: System jest tuż przed oficjalnym startem, który planujemy na 17 lutego. Jak na razie zainteresowanie zgłosiło nam około trzydziestu firm. Co ciekawe, nie są to spółki, a raczej duże korporacje. Jedna z nich zatrudnia na przykład trzysta tysięcy osób. Inna jest absolutnym tytanem branży IT.
W ramach testów systemu CodeAlly promowaliśmy profile programistów z puli osób, które zdecydowały się założyć u nas konto. Niedługo potem okazało się, że cztery osoby dostały oferty pracy. Co prawda tu spóźniły się firmy, bo kandydaci znaleźli już inne stanowiska. Ale wtedy poczuliśmy, że nasze rozwiązanie rzeczywiście działa w praktyce.
Olek: Nie dostaliśmy jeszcze żadnej informacji, że firma nie jest zainteresowana naszym systemem. Na razie promujemy główną ideę: ciężko jest znaleźć programistów z małym doświadczeniem w CV, ale sporo potrafiących i wartych zatrudnienia. A my mamy na to systemowe, skalowalne rozwiązanie oraz sposób oceny ich umiejętności. Zwykle tyle wystarcza, żeby wzbudzić niemałe zainteresowanie potencjalnego partnera.
Skoro macie dostęp do najlepszych programistów – nie kusi was, by samemu ich zatrudnić?
Żaczek: Zdarzało się i tak. (śmiech) Czasem przy przeglądaniu profili pojawia się mocny dylemat. Czy warto takiego tuza oddać jakiejś innej firmie?
Lubię mówić, że zespół CodeAlly jest najlepszym przykładem na to, że nasz system działa. Team liczy obecnie 12 osób. Oprócz zespołu założycielskiego – jedna zatrudniona osoba była z polecenia, a wszystkie pozostałe nie miały doświadczenia programistycznego w CV.
Jeden z programistów CodeAlly hobbistycznie napisał całkiem wiernego klona Steama. Wiesz, tej platformy do kupowania i zarządzania biblioteką gier wideo, nad którą pracują setki programistów Valve – firmy wartej miliardy dolarów.
Nigdy nie widziałem czystszego kodu. Zrobił lepsza pracę od większości senior devów na rynku.
Olek: Nasi pracownicy to absolutne maszyny do pisania programów. Roboty w najlepszym tego słowa znaczeniu. Adam, który w firmie zajmuje się stroną programistyczną, często komentuje nam, że ktoś potrafi na przykład dodawać ostatnie szlify o pierwszej w nocy.
Nastawienie do pracy takiego człowieka jest zupełnie inne. Dla niego znalezienie swojego miejsca – i to dodatkowo przy czymś ciekawym, rozwojowym – jest wielkim przełomem. Po miesiącach odrzucania przez firmy to jak łyk wody na pustyni.
A to są osoby, które miały dokładnie ten problem, który staramy się rozwiązać. Długo nie mogli znaleźć pierwszej pracy i zdobyć tego bezcennego w CV doświadczenia. A gdy daliśmy im szansę – pokazali najwyższą klasę.