Niezbędny przewodnik po zatrudnianiu świetnych niezależnych programistów
Opublikowany: 2022-03-11Technicznie rzecz biorąc, zatrudnianie niezależnych programistów nigdy nie było łatwiejsze, ale nie dawaj się uśpić fałszywemu poczuciu bezpieczeństwa. Na rynku rośnie liczba niezależnych platform i wykwalifikowanych programistów, ale także wyzwania związane ze znalezieniem, przetestowaniem i wyborem naprawdę świetnego kandydata.
Więc jak to robimy? Cóż, jest wielu freelancerów do wyboru; wielu jest dobrych, ale wielu nie. Im większy rynek, tym większe ryzyko. Przy większej liczbie kandydatów do wyboru sprawdzanie referencji i sprawdzanie poszczególnych kandydatów może stanowić problem, zwłaszcza jeśli opublikujesz ogłoszenie na dużej platformie freelancerskiej i zdobędziesz setki aplikacji.
Jaki jest więc najszybszy i najbezpieczniejszy sposób na zatrudnienie niezależnych programistów? Jeśli myślisz, że powiem Toptal, zgadnij jeszcze raz. Nazywaj mnie staromodnym, ale nadal wierzę w pocztę pantoflową i osobiste rekomendacje. W każdej chwili mogę skontaktować się z kilkoma osobami, z którymi pracowałem w przeszłości i poprosić ich o polecenie niezależnego kodera lub projektanta. Jednak to nie zadziała dla wszystkich; Spędziłem lata w branży technologicznej i tak się składa, że znam wielu ludzi, którzy zasługują na moje zaufanie.
Oczywiście zaufanie jest warunkiem wstępnym każdego poważnego zaangażowania w jakąkolwiek relację biznesową lub osobistą. Ale co się dzieje, gdy nie znasz odpowiednich ludzi i musisz udać się na ogromny rynek freelancerów w poszukiwaniu talentów? Po kilkudziesięciu zgłoszeniach ludzie zaczną wątpić we własny osąd, nie mówiąc już o zaufaniu nieznajomym i ich obietnicom. Zaufanie jest dobre, zaufanie sprzedaje.
Toptal jest częściowo oparty na tej koncepcji – dlatego nasi programiści są sprawdzani i dlatego możemy zagwarantować jakość, podczas gdy inne platformy freelancerskie tego nie robią (i nie mogą). Widzisz, po prostu usuwamy kilka niewiadomych z równania, pozwalając klientom skupić się na tym, co naprawdę ważne w kandydacie, zmniejszając w ten sposób ich narażenie na wszelkiego rodzaju ryzyko.
Więc co tak naprawdę ma znaczenie? Przyjrzyjmy się kilku nakazom i zakazom zatrudniania freelancerów.
Nie możesz się spieszyć
To jest oczywiste; jeśli chcesz zatrudnić niezależnych programistów, musisz poświęcić trochę czasu, a tego nie da się obejść. Oczywiście dotyczy to każdej branży, ale w tak szybko rozwijającej się branży, jak nasza, może to nie być tak łatwe, jak się wydaje. Konkurencja jest brutalna, terminy napięte, ale dużo pracy można wykonać zdalnie. Szybkie zatrudnienie kilku freelancerów w celu przyspieszenia rozwoju lub dołączenie do nowego projektu w napiętym terminie brzmi bardzo kusząco. Jednak zazwyczaj nie jest to dobry pomysł.
Jeśli to możliwe, przed podjęciem ostatecznej decyzji spróbuj współpracować z deweloperem. Próba może obejmować mały projekt lub tylko kilka testów. Okres oceny nie musi być zbyt długi, pod warunkiem, że jest dobrze przemyślany. Dobrym pomysłem jest również zaangażowanie reszty zespołu; w końcu będą współpracować z nowym deweloperem i być może będą w stanie zidentyfikować pewne problemy, które w przeciwnym razie pozostałyby niezauważone. Wysłuchaj ich opinii, poproś o opinie i nie podejmuj decyzji samodzielnie.
Mimo to ocena może nie działać we wszystkich sytuacjach. Jeśli Twój kandydat jest bardzo wykwalifikowanym i doświadczonym programistą, może się to nawet wydać zawodową zniewagą. To zależy od ich ego, ale i tak nie chcesz mieć primadonny w swoim zespole, prawda?
Rozsądny kandydat powinien chcieć przeskoczyć kilka kółek i zgodzić się na jakąś formę oceny. Jeśli nie, powinno to być samo w sobie sygnałem ostrzegawczym; zwykle oznacza to, że kandydat nie traktuje pracy zbyt poważnie i nie chce poświęcać dużo czasu i wysiłku. Innym wyjaśnieniem może być pewność siebie, tzn. kandydaci zakładają, że mają zbyt wysokie kwalifikacje do pracy i nie mają nic do udowodnienia. Nie ma nic złego w odrobinie staromodnej zarozumiałości i konkurencyjności, ale zbyt duża jej ilość może powodować tarcia między członkami zespołu.
Nie chodzi tylko o technologię
Tak więc szukasz niezależnego programisty i skupiasz się na jego umiejętnościach kodowania, a nie na czymkolwiek innym. Oczywiście priorytetem są umiejętności techniczne, ale zanim do nich dojdziemy, musimy przyjrzeć się ludzkiej stronie rzeczy. Jaka jest kultura Twojej firmy? Co twój zespół myśli o nowym deweloperze? Co myśli o Tobie kandydat?
Czy kandydat pasuje?
Choć brzmi to jak logiczne pytanie, pracodawcy często pomijają aspekt kulturowy ze względu na ich skupienie się na umiejętnościach technicznych. Teraz, jeśli spieszysz się i potrzebujesz kilku freelancerów, którzy pomogą ci dotrzymać terminu za miesiąc lub dwa, nacisk powinien być wyraźnie położony na umiejętności i wykonanie. Jeśli jednak poszukujesz osób, które pozostaną na pokładzie przez miesiące lub lata, które mogą stać się długoletnimi członkami zespołu, a ostatecznie pokierować własnymi zespołami, bardzo ważne jest, aby wziąć pod uwagę aspekt ludzki. Ponadto, niezależni programiści mogą szybko stać się ważnymi członkami zespołu, a ostatecznie liderami zespołów. Jeśli zatrudnisz dobrego freelancera i wszystko się ułoży, za rok lub dwa może się okazać, że będziesz dzielić biuro z tą osobą.
Technologia zmienia się i ewoluuje, więc programiści muszą się dostosowywać i zdobywać nowe umiejętności po drodze. Ludzie też mogą się zmieniać, ale nie można na to liczyć. Mając to na uwadze, czasami lepiej wybrać kandydata, który chce nauczyć się nowych umiejętności i być graczem zespołowym, niż jeszcze lepszego kodera, który powoduje tarcia w zespole.
Milion programistów ma milion różnych osobowości, a każda firma jest inna, więc nie ma jednej uniwersalnej zasady, jeśli chodzi o zgodność kulturową; to zależy od Ciebie.
Większość umiejętności technicznych staje się przestarzała w ciągu kilku lat, ale umiejętności ludzkie, profesjonalizm i poświęcenie nie. Programista, który chce dostosować się do nowych trendów w branży i opanować nowe umiejętności, może okazać się bardziej wartościowy niż programista, który jest doskonały w jednej konkretnej dziedzinie wiedzy. Dobrze przemyślany proces rozmowy kwalifikacyjnej powinien rozwiązać niektóre z tych kwestii.
W zależności od tego, gdzie jesteś i jakiego rodzaju działalność prowadzisz, dobrym pomysłem może być skonsultowanie się z kimś przyzwyczajonym do kontaktów z niezależnymi programistami, zwłaszcza jeśli wcześniej nie miałeś na to okazji. Szereg pułapek prawnych i podatkowych może mieć wpływ na firmy w niektórych jurysdykcjach, więc jeśli myślisz o zatrudnieniu pierwszego freelancera, skonsultuj się z księgowym (być może nawet z prawnikiem). Na szczęście w większości części świata nie powinno Cię dotyczyć przestarzałe prawo pracy lub kodeksy podatkowe napisane w erze komputerów z lampami próżniowymi.
Pozyskiwanie, preselekcja, planowanie
Poza umiejętnościami ludzkimi, uzdolnienia techniczne są główną troską pracodawców. Liczba technologii wykorzystywanych w rozwoju stale rośnie, podobnie jak potrzeba szybkiego i skutecznego odfiltrowywania kandydatów, którzy nie wychodzą na dobre. Może to być trudniejsze niż się wydaje, zwłaszcza jeśli potrzebujesz kandydatów zdolnych do pracy w kilku różnych frameworkach i językach. Jest wiele do omówienia.
Przeprowadzenie kompleksowego wywiadu wymaga czasu i wysiłku. Wymaga to również sporych przygotowań, ponieważ musisz dokładnie dostosować swoje pytania. Na szczęście Toptal może pomóc w wielu przewodnikach rekrutacyjnych obejmujących szeroki zakres tematów. Niezależnie od tego, czy szukasz pracy, czy chcesz zatrudnić niezależnego programistę, zdecydowanie powinieneś sprawdzić niektóre z naszych zasobów.
Cofnijmy się i spójrzmy na typowy proces rekrutacji. Po zidentyfikowaniu swoich potrzeb i rozpoczęciu przygotowań do procesu pozyskiwania dostępnych jest kilka różnych metod wyszukiwania odpowiednich kandydatów – wewnętrzne pozyskiwanie, tradycyjne ogłoszenia o pracę, internetowe rynki freelancerów, usługi zatrudnienia i stare dobre osobiste rekomendacje.
Niezależnie od wybranej metody będziesz musiał napisać dobry brief projektu i opis stanowiska. Możesz użyć opisów stanowisk Toptal jako dobrego punktu wyjścia; na przykład sprawdź nasze opisy stanowisk dla programistów front-end i back-end. Pamiętaj, że jeśli chcesz utalentowanych programistów, ludzi, którzy mogą znaleźć nową pracę z kilkudniowym wyprzedzeniem, musisz po swojej stronie zająć się trochę marketingiem. Nie oznacza to, że musisz wyolbrzymiać projekt, ale musisz go odpowiednio sprzedać, aby przyciągnąć wartościowych ludzi . Zadaj sobie pytanie, czy zaaplikowałbyś do własnej reklamy, gdybyś był czołowym niezależnym programistą?

Gdy aplikacje zaczną się pojawiać, prawdopodobnie otrzymasz dużo surowych danych, które należy dokładnie przetworzyć przed wybraniem poszczególnych kandydatów. Niektórzy kandydaci po prostu nie uzyskają oceny i zostaną odrzuceni na tym wczesnym etapie, inni zostaną zakwalifikowani, a niektórzy mogą zostać uznani za materiał drugiego poziomu – kandydatów, którzy mogą wykonać tę pracę, ale są przyćmieni przez bardziej utalentowanych. Dobrym pomysłem może być śledzenie takich kandydatów, na wypadek, gdybyś ich później potrzebował.
Wywiady muszą obejmować umiejętności techniczne i wiele więcej
Teraz, gdy już zawęziłeś krąg potencjalnych kandydatów, czas umówić się na kilka rozmów kwalifikacyjnych. To nie jest tylko kwestia zadawania ludziom wielu technicznych pytań i próbowania dowiedzieć się, czy pasowaliby do twojego zespołu; jest to poważny proces i musi być poparty wieloma badaniami i starannie dobranymi pytaniami, zaprojektowanymi tak, aby wydobyć to, co najlepsze (i najgorsze) z każdego kandydata.
Oto kilka punktów, o których należy pamiętać podczas zadawania pytań technicznych:
- Nie zadawaj trywialnych pytań, które mają więcej wspólnego z historią technologii niż z rzeczywistą pracą.
- Staraj się unikać pytań często spotykanych w poradnikach rekrutacyjnych; jeśli jest online, każdy, kto próbował przygotować się do rozmowy kwalifikacyjnej, mógł o tym wiedzieć.
- Zadawaj praktyczne, otwarte pytania, które dają kandydatowi pewną swobodę twórczą.
- Sprawdź niektóre z poprzednich projektów kandydata i zadaj kilka istotnych pytań na ich temat.
- Spróbuj dowiedzieć się więcej o nawykach i umiejętnościach zawodowych kandydata, np. jak często zdobywa nowe umiejętności i szlifuje już posiadane?
Zobaczmy teraz, jak wyglądałoby to w prawdziwym świecie, korzystając z przewodnika rekrutacyjnego PHP firmy Toptal. Na przykład, zamiast zadawać ciekawostki/historyczne pytania, takie jak „Kiedy PHP 5 stało się popularne?” lub „Dlaczego funkcja array_merge()
powodowała problemy ze zgodnością podczas uruchamiania starszego kodu PHP4?”, powinieneś spróbować zadawać pytania, które spełniają kryteria wymienione powyżej.
Oto dobry przykład z naszego przewodnika po PHP: „Czym są cechy? Podaj przykład deklaracji cech i klasy, która używa wielu cech”.
To pytanie pozwoli Ci dowiedzieć się więcej o kandydacie niż pytania dotyczące ciekawostek. Cechy zostały wprowadzone w PHP 5.4, co oznacza, że kandydat przyjął niektóre z najnowszych funkcji. Jeśli naprawdę chcesz rzucić rozmówcy krzywą kulę, sprawdź informacje o wydaniu PHP i urozmaicić pytanie jeszcze nowszymi dodatkami z oficjalnego dziennika zmian w PHP 5.5.xi 5.6.x. To proste i stosunkowo proste pytanie poinformuje Cię, czy programista jest zainteresowany najnowszymi osiągnięciami i najlepszymi praktykami.
Oczywiście ta sama zasada dotyczy niemal każdej niszy, nie tylko PHP.
Innym dobrym pomysłem jest przyjrzenie się historii wnioskodawcy i zrealizowanym projektom. Ubiegając się o pracę, wszyscy wymieniają swoje najlepsze prace, które mogą, ale nie muszą, odzwierciedlać rzeczywistą jakość. Co by było, gdyby kandydat wygodnie zapomniał wspomnieć o kilku projektach, z których nie jest zbyt dumny? Czy w CV są jakieś duże luki? Czy deweloper zrealizował pięć pięciogwiazdkowych projektów w ciągu pięciu lat, nie wspominając o tuzinie tanich i niechlujnych, które płaciły czynsz między nimi? Takie luki powinny być sygnałem ostrzegawczym, chociaż niekoniecznie są czynnikiem dyskwalifikującym, o ile istnieje dla nich rozsądne wytłumaczenie.
Nie znajdujemy się już na terytorium technicznym, to prowadzi nas do osobowości i uczciwości kandydata, co może być trudniejsze do oceny niż jego umiejętności kodowania.
Utrzymuj swój zespół w pętli, aby zapewnić dobre dopasowanie
W większości przypadków nowy programista dołączy do istniejącego zespołu, dlatego niezbędne jest poinformowanie i zaangażowanie zespołu w pewnym momencie procesu rekrutacji. Zespół może zaoferować nieoceniony wgląd w niektóre aspekty projektu, pomóc przygotować się do rozmowy kwalifikacyjnej i zadać odpowiednie pytania (lub nawet pytania „gotcha”) i, oczywiście, ma żywotny interes w pozyskaniu jak najlepszego kandydata na pokład. W końcu jest to osoba, z którą będą musieli mieć do czynienia dzień po dniu, może przez miesiące, może przez lata.
Żaden zespół nie chce niekompetentnego kolegi. Wykorzystaj to na swoją korzyść i dotknij swojego zespołu, aby uzyskać dodatkowe informacje. Nie znajdziesz braku zainteresowania.
Twój zespół może również upewnić się, że „nowy facet” się dopasuje. Osobowość ma długą drogę i czasami może okazać się ważniejsza niż umiejętności suchego kodowania. Jaki jest sens zatrudniania programisty z listy A, jeśli nie dogaduje się z zespołem? A co, jeśli zatrudnisz programistę rockstar, który nie będzie chciał dzielić się swoją wiedzą z resztą zespołu?
Niestety zawsze istnieje szansa, że wymarzone zatrudnienie może przerodzić się w rozczarowanie, zarozumiały egocentryk nielubiany przez resztę zespołu, ale to tylko kolejny powód, aby skonsultować się z zespołem: „Nie patrz na mnie, ty też się wypisałeś ”.
Żarty na bok, zgrany zespół to dobrze naoliwiona maszyna, a każdy trybik działa bez zarzutu. To dobrze wpływa na morale, jest dobre dla biznesu. Co się stanie, jeśli do swojego zespołu dodasz rockstarowego programistę Androida w nadziei, że poprawi on wydajność? Świetni programiści lubią pracować ze swoimi rówieśnikami, więc jeśli masz na pokładzie wielu niedoświadczonych programistów, nowe talenty mogą nie naprawić sytuacji.
Tak, programiści, którzy przewyższają wszystkie testy Androida i pytania, które im zadajesz, na pewno wiedzą, co robić, ale co się stanie, jeśli reszta zespołu nie nadąży? Czy oczekujesz, że Twój nowy, błyszczący, gwiazdorski programista będzie codziennie wyjaśniał każdy punkt kilku „zielonym” programistom? Czy spodziewasz się, że nowy deweloper będzie z tego zadowolony? Co pomyśli reszta zespołu – jeśli zatrudnisz kogoś, kto przewyższy ich rangę, pomimo postrzeganego stażu pracy?
Wracając do steampunkowej analogii – pojedynczy tytanowy trybik nie sprawi, że reszta maszyny będzie tak silna. Świetny programista, chętny do przejęcia inicjatywy i dzielenia się wiedzą, może pomóc kilku kolegom z zespołu, ale nie wszystkim.
Aby uniknąć niepotrzebnych tarć, wystarczy skonsultować się z zespołem, a tego nie da się obejść.
Bądź realistyczny i bezpośredni
Każdy chce zatrudnić najlepszego programistę, a każdy programista chce dostać wymarzoną pracę, ale bądźmy realistami; każdy musi działać w ramach swoich ograniczeń budżetowych, więc pieniądze są często czynnikiem ograniczającym. Dobrzy ludzie kosztują dobre pieniądze, więc wiele organizacji po prostu nie może sobie pozwolić na najlepszych programistów.
Pracodawcy zazwyczaj chcą najlepszego programisty, na jaki mogą sobie pozwolić , aw wielu przypadkach nie potrzebują najlepszego programisty w branży, ponieważ projekt, nad którym pracują, nie wymaga najnowocześniejszych umiejętności. Deweloperzy z kolei chcą być dobrze wynagradzani za swój wysiłek, chcą pracować nad ciekawymi projektami, z wykwalifikowanymi kolegami z zespołu.
Jednak pieniądze to nie wszystko .
Jeśli uda Ci się znaleźć programistę, który podziela Twoją wizję i wierzy w to, co robisz, możesz otrzymać więcej, niż się spodziewałeś. Jeśli programista uważa, że pracuje nad dobrym projektem o dużym potencjale długoterminowym, prawdopodobnie spróbuje wykonać wyjątkową pracę i wykonać ponad wszystko. Projekt może być dobrą okazją na nadchodzące lata i może dobrze wyglądać w ich CV.
Z drugiej strony, jeśli programista trzyma się wyłącznie wypłaty i nie wierzy, że projekt jest naprawdę obiecujący i wyjątkowy, jest bardzo mało prawdopodobne, że uzyskasz ten sam poziom zaangażowania lub lojalności w tej kwestii.
Konkluzja: Nie możesz oczekiwać cudów, nie możesz oczekiwać, że zatrudnisz najlepszego freelancera, zwłaszcza jeśli masz ograniczony budżet i nie pracujesz nad najlepszym projektem. Musisz skupić się na pozyskaniu najlepszego programisty, jakiego możesz dostać, a nie najlepszego programisty na świecie.