Mówi programista do programisty:
– Hej, słyszałem, że ostatnio byłeś bezrobotny… jak to jest?
– Stary, najgorsze 20 minut mojego życia.
Znasz ten, żart? Prawdopodobnie tak. Mimo długiej brody nie przestaje być aktualny. Owiany legendą deficyt programistów stale rośnie, tworząc coraz to większą przepaść między popytem a podażą. A już podobno szczególnie trudno jest zwerbować programistów Java.
I właśnie dlatego powstał ten artykuł! Chciałem podzielić się z Tobą kilkoma wskazówkami, które nie tylko pomogą Ci lepiej nawiązać dialog z kandydatami, ale też spowodują, że zostaniesz przez nich cieplej zapamiętany.
Gotowy? To zaczynamy! Dostajesz zadanie rekrutacji Java developera – co robisz?
Dość oczywiste, prawda? Wiedza, którą masz na temat stanowiska jest kluczowa do skutecznej rekrutacji.
Nie tylko przyda się przy tworzeniu dobrego job description, ale także pozwoli podczas rozmowy z kandydatem wstępnie ocenić, czy kandydat będzie się dobrze czuł na takim stanowisku oraz czy pracodawca będzie z niego zadowolony.
Wiedza na temat stanowiska to nie tylko metodyka pracy, czy opis projektu, ale też wiedza z zakresu technologii. Jeśli nie wiesz od czego zacząć naukę, nie panikuj. Zacznij od poczytania o technologiach z rubryki must-have, a następnie rzuć okiem na te nice-to-have. To Ci powinno dać logiczny i spójny obraz całego projektu, ale także pomóc w doborze odpowiedniej strategii poszukiwania.
Skąd czerpać dalszą wiedzę na ich temat? Szukaj informacji na blogach, forach internetowych, czy nawet na Wikipedii (przy czym polecam angielską wersję). Java jest na tyle popularnym językiem, że bez trudu szybko znajdziesz interesujące Cię informacje. Na początku ilość informacji będzie przytłaczająca, ale jest to wysiłek który warto podjąć. Weź pod uwagę, że świeżo przyswojona wiedza może Cię czasem nie wystarczyć, by dobrze ocenić, czy dany kandydat technologicznie jest dobrze dopasowany dla Twojego stanowiska.
Dla przykładu, bardzo prawdopodobne, że jedną wykorzystywanych technologii będzie Spring. To framework o przeogromnych możliwościach i składający się z kilku różnych modułów. Dzięki temu, że oferuje tak wiele jest bardzo popularną, powszechnie wykorzystywaną technologią. Jednak nie oznacza to, że każdy Java developer ma komercyjne doświadczenie ze Springiem! W tym wypadku bardzo ważne jest, byś wiedział, czy Twój kandydat powinien tylko dobrze znać samą Javę, a Springa może się douczyć w pierwszych miesiącach pracy, czy też powinna to być osoba, która już od pierwszego dnia będzie pokazywać reszcie teamu, jakie cuda można robić w tym frameworku.
Jeszcze innym przykładem jest niezwykle modny ostatnio “Cloud”. I tu czeka na Ciebie kilka pułapek. Często razem z Javą wykorzystuje się Amazon Web Services, obecnie najbardziej rozpowszechnione rozwiązanie chmurowe. Ale nic nie stoi na przeszkodzie by był to Azure, Heroku czy Google Cloud. Pytanie tylko, co dokładnie poszukiwany developer powinien znać. A może wystarczy ogólne rozeznanie w usługach cloudowych, bez wskazywania konkretnej z nich. Warto o to dopytać Hiring Managera, na pewno się przyda w searchu i rozmowach z kandydatami.
A co jeśli Java jest drugorzędna i tak naprawdę nie szukasz Java developera? Może tak się zdarzyć w sytuacji, gdy rekrutujesz do projektu Big Data. W tego typu projektach bardziej liczy się biegłość w posługiwaniu się bazami danych, czy znajomość algorytmów, a mniejszą rolę odgrywa tu język programowania. Często wystarczy dobrze opanowany jeden z języków JVMowych (od Java Virtual Machine), a na takim stanowisku równie dobrze odnajdzie się np. Scala developer.
Na powyższych przykładach chciałem Ci pokazać, że obecnie “programista Java” to bardzo pojemna nazwa stanowiska i poszczególne profile mogą mocno się od siebie różnić. Dlatego w perspektywie długoterminowej czas zainwestowany w zrozumienie profilu kandydata szybko Ci się zwróci. Będziesz miał lepiej określony talent pool i nie będziesz tracić czasu na wysyłanie ofert do kandydatów, którzy nie wpisują się w kryteria.
Zastanów się, czy szukasz geeka, który uwielbia pracować na nowych technologiach, czy eksperta, który byłby stanie zaprojektować sam cały system, a może kogoś komu nie przeszkadza praca w nieco starszych technologiach? Odpowiedz sobie uczciwie na to pytanie, a pomoże Ci to w wyborze kanałów, dzięki którym zidentyfikujesz odpowiednich kandydatów.
Zwróć uwagę, na ile specyficzne jest stanowisko, na które rekrutujesz. Jeśli wymagania to znajomość Java, Spring, Hibernate to nie ma problemu, bo to najpopularniejszy zestaw technologii. Jeśli natomiast poszukujesz osoby znającą jakąś rzadszą technologię (kilka przykładów powyżej), to zorientuj się gdzie możesz znaleźć takie osoby i ile ich jest.
Być może w Twoim mieście jest jedna lub kilka specyficznych firm, które zatrudniają poszukiwanych przez Ciebie kandydatów. A może Twoi developerzy są szczególnie aktywni w jakiejś konkretnej grupie tematycznej na Facebooku? Albo mają w okolicy swój meetup, na którym możesz osobiście ich poznać?
Z bardziej warsztatowych wskazówek – w poszukiwaniach warto posiłkować się nie tylko X-Ray Searchem, Goldenlinem, czy LinkedInem. Dobrze jest też wykorzystać do pomocy takie kanały jak GitHub, Stack Overflow, Facebook czy nawet e-korepetycje albo portal Oferia. Włączając te elementy do Twojej strategii sourcingowej możesz być bardzo mile zaskoczony rezultatami. Korzystanie z różnych źródeł pozwoli Ci także na zidentyfikowanie kandydatów nie tylko według klucza technologicznego, ale także osobowościowego.
Jeżeli na przykład szukasz geeka, który po spędzeniu 7-8 godzin w pracy na kodowaniu, koduje jeszcze 4-5 godzin prywatnie w domu, to jest spora szansa, że będzie miał dość bogate portfolio prywatne właśnie na GitHubie.
Jeśli potrzebujesz konsultanta, który nie tylko jest dobrym programistą, ale potrafi też zaproponować nowe rozwiązania klientom i będzie ambasadorem Twojej firmy, może warto przejrzeć blogi branżowe, fora i listy prelegentów na wydarzeniach IT. Z dużą dozą prawdopodobieństwa to właśnie Ci specjaliści oprócz wiedzy technicznej będą posiadali odpowiednie kompetencje miękkie.
To znów jednak tylko kilka przykładów. Sposobów na to by znaleźć właściwych ludzi jest mnóstwo. Poprzestanę jednak na tych wyżej wymienionych, bo aby dobrze zacząć rekrutację programisty Java, czeka nas jeszcze jeden ważny krok.
Pisząc ogłoszenie zastanów się nad tym, co wyróżnia firmę lub projekt, do którego rekrutujesz. Java developerzy dostają dziesiątki wiadomości z ofertami pracy. Dobrze byłoby więc znaleźć jakiś element, który się pozytywnie wyróżnia na tle tego, co oferuje rynek i dobrze go wyeksponować. Inspiracji do tego powinna dostarczyć Ci obserwacja Twojej firmy. Dobrym pomysłem jest też wybranie kilku najciekawszych wyzwań technologicznych i opisanie ich w Twoim ogłoszeniu.
Zadbaj także o to, by te wyróżniające Twoją firmę elementy były dobrze wyeksponowane i uzupełnij je konkretami. Unikaj pustosłowia i frazesów w rodzaju: „Twoja rola będzie kluczowa dla rozwoju naszej firmy”. Równie dobrze taka fraza może być użyta w ogłoszeniu na stanowisko dyrektora, co młodszego asystenta działu. A teksty „uniwersalne” skierowane do wszystkich, trafiają do mało kogo, jeśli kogokolwiek.
Twoje ogłoszenie może też (a wręcz powinno!) opowiadać pewną historię. To może być historia firmy albo konkretnego projektu. Ważne by kandydat już na początku wiedział, czym będzie się zajmować na takim stanowisku i komu będą służyć efekty jego pracy. Czasem nawet rozszerzenie jednego zdania może mieć pozytywny wpływ na odbiór.
Przykładowo, zamiast pisać: „Zajmiesz się tworzeniem silnika do wyszukiwania tanich lotów”, napisz: „Będziesz współtworzyć silnik do wyszukiwania najtańszych lotów, dzięki któremu pomożesz podróżnikom nie przepłacać za bilety lotnicze”.
Druga wersja może się wydawać zbędnie długa, bo przecież nikt nie chce tworzyć wyszukiwarki, która będzie znajdować tylko niektóre loty, ale warto przypomnieć, o tym jak praca programistów może pomóc osobie, która wykorzystuje owoce ich pracy.
Staranność przy tworzeniu opisu oferty jest o tyle ważna, że już nie raz zdarzało mi się (częściej niż bym się spodziewał), że programista odpisał na moją wiadomość tylko dlatego, że minęło już trochę czasu odkąd widział tak ładną i informatywną ofertę. W związku z tym, że dostrzegł mój trud jaki włożyłem w przygotowanie oferty, uznał, że warto mi chociaż dać znać, że na ten moment nie planuje zmiany pracy.
Pamiętaj więc – dobrze przygotowana oferta robi dobre pierwsze wrażenie! A skoro na spotkaniach biznesowych staramy się zrobić dobre pierwsze wrażenie, włóżmy swój wysiłek, by ten efekt osiągnąć również przy kontakcie z potencjalnym kandydatem ;).
Podsumowując:
Jeśli dostałeś projekt „rekrutacja Java developera”, a nigdy wcześniej tego nie robiłeś, nie panikuj. Zamiast tego:
PS A gdybyś jednak dalej nie czuł się gotowy do rekrutacji programistów Java, daj znać, chętnie pomożemy!
PS2 W tym miejscu chciałbym podziękować Tomaszowi Handzlikowi za czuwanie nad merytoryczną poprawnością artykułu w kwestiach związanych z IT.
IT Recruitment Consultant