Rekruterze naucz się programować!

28 września 2023

Kacper_foto
Kacper Trzepieciński - Kierownik Działu Rekrutacji Stałych

„Programować każdy może, trochę lepiej, trochę gorzej” – nawiązując do piosenki Jerzego Stuhra, można przyjąć, że jak w śpiewaniu, tak i w programowaniu, każdy z nas ma możliwość wykazania się. Niezależnie od poziomu umiejętności, w przypadku programowania, zawsze możesz nauczyć się czegoś nowego i rozwijać swoje umiejętności, niezależnie czy jesteś początkującym, czy zaawansowanym programistą.

Kompetencje cyfrowe i technologiczne stają się coraz ważniejsze na rynku pracy. Według raportu Polskiego Instytutu Ekonomicznego „Kompetencje pracowników dziś i jutro”, umiejętności takie jak programowanie, analiza danych czy cyberbezpieczeństwo są coraz bardziej pożądane przez pracodawców. W dobie rozwoju technologii, posiadanie tych umiejętności będzie kluczowe dla przyszłego sukcesu zawodowego.

Wielu z nas myśli, że programowanie jest trudne i potrzeba wiele czasu, aby się go nauczyć – no i ma stu procentową rację, ale chciałbym coś dodać do tego. Nie jest tajemnicą, że programowanie wymaga poświęcenia czasu i wysiłku, szczególnie jeśli nie masz wcześniejszego doświadczenia w branży IT, nie masz wykształcenia informatycznego ani żadnej wiedzy związanej z tym obszarem. Jednak nie oznacza to, że jest to niemożliwe do zrealizowania. Pamiętajmy też, w jakim celu chcemy się nauczyć programować. Jeżeli chcemy zautomatyzować część swoich zadań w pracy, a  nie celujemy w przebranżowienie się na Java Developera, to diabeł nie jest taki straszny, jak go malują.

Wiem to, ponieważ jakiś czas temu postanowiłem sam przekonać się, o co chodzi w tym programowaniu. Moje doświadczenie w tym zakresie było zerowe, a najpoważniejszą operacją komputerową było zrobienia cracka w GTA San Andreas, stąd mogę przypuszczać, że większość z Was byłaby w podobnym położeniu jak ja. Uważam, że osoby pracujące w rekrutacji, a w szczególności zajmujące się sourcingiem mają pewne predyspozycje, które pomogą im w nauce programowania. W poniższym artykule chciałbym przedstawić Ci korzyści, jakie możesz odnieść dzięki nauce programowania, wyjaśnić, jakie konkretnie korzyści możesz odnieść w swojej pracy oraz uzasadnić, dlaczego rekruter powinien rozważyć naukę programowania.

Znasz to uczcie, kiedy prowadzisz rekrutacje, szukasz kolejnych kandydatów na LinkedIn, przeglądasz już n-ty profil, hiring manager odrzucił kolejnego zarekomendowanego kandydata, a Tobie powoli kończą się pomysły, co możesz zrobić więcej? Na pewno tak, jeżeli pracujesz w rekrutacji. Jedne z cech, które charakteryzują skutecznego rekrutera to cierpliwość, determinacja oraz dociekliwość.

Cierpliwość jest kluczowa, ponieważ programowanie jest procesem, który wymaga ciągłego uczenia się i doskonalenia. Osoba, ucząc się programowania musi być w stanie cierpliwie przezwyciężać trudności, takie jak błędy w kodzie czy trudności związane z rozwiązywaniem problemów. Cierpliwość pozwala na skupienie się na długoterminowym celu, jakim jest opanowanie programowania, zamiast poddawać się po pierwszych trudnościach. Jeżeli zamienisz słowo programowanie na projekt rekrutacyjny, to będziesz mógł zauważyć pewną analogię pomiędzy tymi obszarami.

Wspomniałem powyżej o determinacji. Z naszego rekruterskiego podwórka przykładem trudnego projektu rekrutacyjnego jest sytuacja, w której musimy wykazać pełne zaangażowanie w sourcingu. Oznacza to ponowne przeglądanie list sourcingowych, aby sprawdzić, czy nie przeoczyliśmy kandydata, wysyłanie followupów do kandydatów, poszukiwanie nowych słów kluczowych lub kontakt z kolegami/koleżankami z branży, aby poznać ich punkt widzenia i wprowadzić nowe działania – jest to czasochłonny proces. Podobnie jest w programowaniu – początki przy pisaniu własnych projektów często kończą się problemami z kodem, których nie rozumiemy. Przeglądamy kod, poprawiamy i szukamy błędu, który utrudnia nam pracę. Jeśli to nie pomoże, szukamy rozwiązania w Google (umiejętności wyszukiwania treści są przydatne) i kończymy najczęściej na serwisie Stack Overflow, gdzie możemy znaleźć odpowiedzi na nasze problemy. Z własnego doświadczenia pamiętam sytuacje, kiedy kilka dni z rzędu siedziałem nad jednym błędem po kilka godzin dziennie. Z rozwiązaniem przyszedł znajomy, który pracuje od wielu lat w branży, spojrzał na kod i wskazał rozwiązanie problemu w 30 sekund.

Przejdźmy do praktycznych rozwiązań nauki programowania. W mojej pracy zacząłem w poprzednim roku automatyzować powtarzalne zadania z myślą o przyspieszeniu mojej pracy i pomocy mojemu zespołowi w codziennych obowiązkach.

Jednym ze standardów w naszym procesie rekrutacyjnym jest utrzymanie określonego czasu na poinformowanie kandydata, który do nas zaaplikował, czy będzie zaproszony do rekrutacji. Każdy kandydat bez wyjątku taką informację otrzymuje, a rekruter ma na to max. 5 dni. Czasami, przez wysoką ilość realizowanych projektów, może się zdarzyć, że ten okres zostanie przekroczony. W takiej sytuacji, kwestią do rozwiązania jest pilnowanie standardu w rekrutacji oraz stworzenie systemu powiadomień, który informuje rekrutera, kiedy kandydat powinien otrzymać feedback. Rozwiązaniem tego problemu było stworzenie aplikacji, która sprawdza długość przebywania kandydata w projekcie i następnie informuje rekrutera, z kim powinien niezwłocznie się skontaktować. Powiadomienie jest wysyłane w formie mailowej z listą zawierającą, w którym projekcie, kto czeka na feedback i jak długo (tylko skrajne przypadki, nie wszyscy kandydaci). Aplikacja jest zautomatyzowana i w każdy czwartek wykonuje powyższe zadanie. Jako opiekun procesu, zyskuję dodatkowy czas na inne zadania, a mój zespół niczego nie przeoczy.

Projekt, który przyniósł mi najwięcej satysfakcji i z którego jestem dumny, to aplikacja do obsługi Facebooka. Grupy na Facebooku cały czas się rozwijają, dlatego wykorzystujemy je również w rekrutacji do pozyskiwania kandydatów. Minusem pracy na tym kanale jest jednak duże obciążenie czasowe – dodawanie postów do grup zajmuje sporo czasu. Jeśli mamy trzy projekty, w których dodajemy posty dwa razy w tygodniu, to czas potrzebny na to może wynieść od 60 do 90 minut – w zależności od ilości grup, do których dodajemy posty. Miesięcznie to ok. 6 godzin, a rocznie ok. 70 godzin. Jeżeli mielibyśmy narzędzie, które wykonywałoby tę pracę za nas, moglibyśmy spożytkować ten czas na inne zadania, które wymagają większego wkładu od nas, niż rutynowe dodawanie postów na grupy. Dzięki stworzeniu aplikacji, która symuluje ludzkie zachowanie i dodaje posty do wskazanych grup, udało mi się odciążyć mój zespół z tego zadania. W tym momencie rekruter musi tylko przygotować materiał (tekst i grafikę), podać termin postowania oraz wskazać grupy. Na ten moment aplikacja jest dalej rozwijana i jestem ciekawy, jakie kolejne usprawnienia uda mi się wprowadzić, aby jeszcze bardziej usprawnić pracę zespołu.

Powyżej podałem dwa przykłady, które wprowadziłem w swojej pracy. Potencjał jest ogromny, możesz budować rozwiązania, które mogą wesprzeć Cię w każdym aspekcie Twojej pracy:

  • Scraping danych – możesz pobierać i zapisywać dane ze stron internetowych. Przykładowo pobrać dane z jobboardów, aby sprawdzić oferty z widełkami,
  • Analiza danych – powyżej opisałem przykład związany ze scrapingiem danych. Pobrane dane możesz analizować. Przykładowo ogłoszenia pobrane z jobboardów, możesz przeanalizować pod względem treści – wyciągnięcie najczęściej powtarzających się słów, aby użyć ich jako keywordsy w sourcingu
  • Automatyzacja raportów – jeżeli pracujesz z wieloma raportami, część tej pracy polega na przepisywaniu danych z kilku źródeł do jednego raportu, to jest to idealna okazja, aby zautomatyzować te działania i zaoszczędzić czas,
  • OSINT – groźnie brzmiąca nazwa – biały wywiad. Polega on na zbieraniu danych z ogólnodostępnych źródeł. Przykładowo, posiadasz link do GitHuba kandydata, gdzie widzisz, jaki mi nick. Za pomocą tego nicku możesz sprawdzić jego obecność na innych portalach – możliwość kontaktu przez inne kanały oraz możesz dzięki temu dowiedzieć się o nim czegoś więcej.

Po zapoznaniu się z powyższym tekstem, możesz zauważyć korzyści, jakie może przynieść Ci nauka programowania. Oprócz tego, co wymieniłem, możesz zyskać większy wgląd w to, jak wygląda praca programisty. Dzięki temu, poczujesz się bardziej pewnie podczas rozmów rekrutacyjnych i kandydat będzie Cię postrzegał jako partnera do rozmów, również w aspektach technicznych projektu, które nie będą dla Ciebie czarną magią. Ponadto daje Ci możliwość rozwijania takich umiejętności logicznego myślenia, rozwiązywania problemów i kreatywności. Może również przyczynić się do lepszego zrozumienia i wykorzystywania nowoczesnych technologii.

Jaki język wybrać?

Zanim usiądziesz do nauki, musisz wybrać język, który chcesz poznać. Jeżeli sprawdzisz ile jest języków, to może Cię od nadmiaru rozboleć głowa. Ze swojej strony proponuje Ci Python. Python jest łatwym do nauki językiem, który charakteryzuje się przejrzystą i czytelną składnią. Nie trzeba mieć wcześniejszej wiedzy programistycznej, aby zacząć uczyć się Pythona i korzystać z niego do prostych zadań. Python jest również językiem wielokrotnego użytku. Można go używać do wielu różnych zadań, takich jak tworzenie aplikacji webowych, analiza danych, automatyzacja powtarzalnych zadań i wiele innych. Znane korporacje dostrzegły ogromny potencjał Pythona i dlatego korzystają z niego m.in. NASA, ale też YouTube i Reddit

Ile to może zająć czasu?

Zasoby internetowe są bogate w materiały związane z nauką programowania. Oczywiście oprócz wielu płatnych źródeł, mamy dostęp do bezpłatnych materiałów. Często bezpłatne materiały niosły za sobą niską jakość, lecz w przypadku programowania ta sytuacją jest inna. Jeżeli zależy Ci na poznaniu podstaw, to jesteś w stanie nauczyć się większości rzeczy za pomocą darmowych materiałów. Natomiast nieoceniona jest pomoc doświadczonego mentora, który może spędzać z Tobą czas na wspólnym kodowaniu. W takich sytuacjach najwięcej się uczymy od doświadczonych osób.

W moim przypadku cała przygoda trwa już ponad 1,5 roku. Zaczęło się z czystej ciekawości, aby dowiedzieć się, jak to wygląda. Potem zacząłem sobie stawiać coraz to nowe wyzwania w tym obszarze, które starałem się realizować. Programowanie nie jest łatwe, a czasami potrafi zepsuć nerwy, lecz w tym całym wyzwaniu uczucie stworzenia czegoś od podstaw jest bardzo satysfakcjonujące. Dodatkowo możliwość usprawnienia swojej pracy jest niesamowicie pomocna.

Czy artykuł był pomocny? TAK NIE

Podziel się artykułem:

Przejdź do sekcji blog, znajdziesz tam ciekawe artykuły, które dla Ciebie przygotowaliśmy