Jak przetestowałbyś umiejętności deva, z którym będziesz tworzyć własny projekt? Seniorzy odpowiadają (cz.6)
Projekty po godzinach uczą samodzielności, ale też dają szansę na porzucenie pracy na rzecz własnej firmy. Trudno jednak stworzyć go w pojedynkę, dlatego warto dobrać sobie kogoś, kto pomoże w podejmowaniu decyzji, a tych jest niemało. Zapytaliśmy senior developerów w cyklu Seniorzy odpowiadają, w jaki sposób przetestowaliby umiejętności deva, którego zaprosiliby do udziału w projekcie tworzonym po godzinach. Zobaczcie, co powiedzieli.
W jaki sposób przetestowałbyś umiejętności deva, którego chciałbyś zaprosić do swojego projektu robionego po godzinach? Jakie umiejętności miękkie musiałby posiadać?
Odpowiada Wojtek Zając, Senior Frontend Developer w X-Team:
Wśród osób do współpracy, oprócz zapoznania się z technicznym doświadczeniem, zawsze szukam pasji. Obdarzone nią osoby zawsze pójdą o krok dalej, aby dostarczyć rozwiązanie, które nie tylko spełni nasze podstawowe wymagania, ale będzie też dobrze przygotowane pod dalszy rozwój lub zmiany. Projekty po godzinach są idealne do uczenia się nowych technologii – co dla takich osób będzie automatycznie świetnym motywatorem i pozwoli zapobiec znużeniu projektem. Lubię pracować w zespołach, gdzie wzajemnie nakręcamy się i motywujemy swoim zaangażowaniem. Praca w takim środowisku jest prawdziwą przyjemnością.
Oczywiście bardzo ważne jest też zaufanie, które budowane jest przez odpowiednią komunikację. W pobocznych projektach często przymykamy oko, gdy termin się zbytnio przedłuża: każdy ma swoje obowiązki oraz dodatkowe zajęcia. Natomiast poważnym ostrzeżeniem jest dla mnie czasowy brak kontaktu. Niektóre osoby tak radzą sobie z opóźnieniami i takich raczej staram się unikać. O wiele bardziej wolę szczerość i zwykłą wiadomość, że wykonanie zadania zajmie dłużej.
Odpowiada Michał Załęcki, Senior Software Engineer w Tooploox:
Mam swój sekretny zestaw pytań, których kandydat może się spodziewać, ale dotyczy on bardziej oficjalnych rekrutacji. Do projektów klepanych po godzinach zapraszam tylko znajomych programistów i grafików. Jeżeli miałbym przetestować techniczne umiejętności takiej osoby to spotkalibyśmy się na hackathonie, gdzie umiejętności techniczne i kreatywność odgrywają ważną rolę. Na pewno taka osoba musi być dobrze zorganizowana, słowna i godna zaufania.
Odpowiada Mateusz Pacholec, Senior Software Developer w Objectivity:
Jeżeli chodzi o przetestowanie umiejętności deva to zdecydowanie usiadłbym z tą osobą przy komputerze i chciałbym, aby opowiedział o swoich projektach. Bardzo ważny jest dla mnie sposób, podejście do wytwarzania oprogramowania — sposób dzielenia kodu, odpowiedzialności, styl kodu i sposób komunikacji między komponentami. W dalszym kroku porozmawiałbym o jakiś problemach, które często występują — w ten sposób chciałbym dowiedzieć się, w jaki sposób by je rozwiązał. Ogólnie po prostu takie jego podejście codzienne do pracy z kodem. Podczas takiej rozmowy wyszły by od razu umiejętności twarde i miękkie.
Dla mnie jest ważne, aby taka osoba nie była zamknięta w sobie. Aby zadawała pytania, gdy czegoś nie wie, oraz aby dzieliła się wiedzą, gdy odnajdzie ciekawe rozwiązanie. Jest to istotne, ponieważ tylko tak możemy się wspólnie rozwijać i przede wszystkim wytwarzać dobry kod.
Odpowiada Michał Majchrzak, Senior Backend Developer w Centra:
Współpracuję jako weryfikator dla kilku outsourcingowych firm… Po pierwsze sprawdziłbym szczerość. Nie wyobrażasz sobie jak bardzo ludzie kłamią i wyolbrzymiają oraz w jak prosty sposób można zweryfikować ich słowa. Bez szczerości nie ma współpracy. Sprawdziłbym więc w jaki sposób wyciągał wnioski z poprzednich projektów. Każdemu może coś nie wyjść… sztuką jest się do tego przyznać i wyciągnąć dobre wnioski. Sprawdził bym też sposób na podchodzenie do problemów. To są rzeczy, które sprawdzam od juniora do seniora. Dlaczego tak? Bo zdarzało mi się trafiać na ludzi, którzy nie mieli wiedzy, ale mieli niesamowity potencjał i widziałem jak w ciągu kilku miesięcy junior, którego wszyscy odrzucali na rozmowach o pracę, przeganiał midów.
Odpowiada Mateusz Lerczak, Starszy Inżynier ds. oprogramowania w Sii Sp. z o.o.:
W swojej dotychczasowej karierze wielokrotnie miałem okazję uczestniczyć w rekrutacjach. Przyznam szczerze, że nie widzę sensu dawania wymyślnych i złożonych zadań potencjalnemu kandydatowi. W większości przypadków, po zapoznaniu się z CV i krótkiej rozmowie jesteśmy w stanie stwierdzić czy nasz rozmówca rzeczywiście ma pojęcie o tym, co napisał w swoim życiorysie.
Wracając do pytania, to w pierwszej kolejności zapoznałbym się z jego dotychczasowymi pracami. Obowiązkowo weryfikacja konta na GitHub czy BitBucket. Następnie skorzystałbym z pomocy wujka Google, aby sprawdzić czy coś ciekawego o danej osobie jest w stanie mi powiedzieć.
Kolejnym krokiem byłaby rozmowa, na początku luźna o doświadczeniu i zainteresowaniach, a następnie o obecnych trendach i nowinkach. Po takiej rozmowie wiemy już czy programowanie to dla niego tylko wyuczony zawód, czy może też zamiłowanie. Jeżeli chodzi o projekty po godzinach, to przede wszystkim atrakcyjna opcja dla osób mniej doświadczonych, które chcą poznać technologie i zdobyć nowe doświadczenie. Niestety większość osób, które znam nie mają czasu na dodatkowe zajęcia, szczególnie te, które nie przynoszą zysku.
Dobry programista przede wszystkim musi umieć pracować w zespole. Taka osoba koniecznie musi mieć dobry kontakt z zespołem, a umiejętność dzielenia się wiedzą to wartość dodana dla całego zespołu. Najważniejszą umiejętnością jest kreatywność, czasami nawet najprostsze pomysły okazują się najlepsze. Zawsze zachęcam do konfrontacji, burza mózgów to świetna okazja do wyrażenia swoich za i przeciw oraz prezentacji własnych pomysłów.