06 października 2014

Oferty pracy dla programistów Scala i chroniczny brak obsady - mój pierwszy miesiąc poza korpo

Zdumiewające, jak ciężko jest znaleźć dobrych programistów, a jeszcze bardziej nakłonić ich do przyłączenia się do projektu (aka zmiany obecnego zatrudnienia).

Taką myśl opublikowałem na moim koncie na twitterze i prawie natychmiast padło pytanie o sprecyzowanie "dobrego programisty". Śpieszę wyjaśnić.

Jak to pewien Jacek powiedział: "Nie ważne co, ważne z kim" i to jakby definiuje w pewnym sensie owego dobrego programistę. Ma to być ktoś, z kim można spędzić czas na projekcie przyjemnie i go zakończyć (projekt) w terminie.

Owego dobrego programistę poznaje się po efektach jego decyzji - ma świadomość upływającego czasu i walki między doskonałym kiedyś a działającym w terminie. Jeśli uda się utrzymać doskonałe w terminie, tym lepiej dla zespołu. Najważniejsze jednak, aby potrafić dotrzymać terminu lub w terminie oznajmić jego niedotrzymanie. Ja wciąż walczę ze swymi żądzami poszukiwania świętego graala, kiedy obecne rozwiązanie jest w pełni wystarczające. Taką cechę nazywam terminowością.

Dobrym programista to również osoba, która ma świadomość bezkresu własnej niewiedzy. Doskonała znajomość języka Java u niego nie przekreśla zastosowania języka Scala (lub wyjątkowo egzotycznego Go, Elm czy Elixir). Jeśli narzędzie niespecjalnie pasuje, to się go po prostu nie stosuje i szuka właściw(sz)ego. Taką cechę nazwałbym świadomością technologiczną.

Akceptowanie wartości nieznanego jest podstawą egzystencji dobrego programisty. Ciągła otwartość na nowe rozwiązania i akceptowanie ich odmienności, która wymusza "zerowanie" dotychczasowego rejestru doświadczenia jest wliczona w kontrakt codzienności dobrego programisty. To nazwałbym otwartością umysłu.

Moim obecnym konikiem jest rozgrzewanie rynku polskiego na przyjęcie języka Scala jako wartościowego języka programowania dla wielu zastosowań, w których do niedawna widziałem miejsce wyłącznie dla Javy. Koniec z tym! Java jest dobra, ale nie bardziej niż Scala (dalekim od określenia Scali "lepszą Javą", ale nie ukrywam, że czasami ciśnie się na usta takie określenie). Najbardziej zależy mi na tej otwartości, która dopuściłaby młodszych stażem do zaawansowanego rynku programistów. Wielu ekspertów javowych, przy przejściu na nowy język Scala, jest naturalnie ponownie nowicjuszami. I to sobie cenię w nowych językach, które wymuszają takie "sprowadzenie na zero".

Od kiedy jestem poza korporacją, chętniej znajduję czas na rozmawę z osobami spoza mojego stałego kręgu znajomych. W zasadzie jestem zmuszony do takiego działania, aby dostać się do ciekawych projektów, których okazuje się, że jest cała masa wokół mnie.

Weźmy ostatnie moje dokonania na tym polu.

Jest pewna firma (której nazwy nie ujawnię jeszcze), która powierzyła mi zadanie stworzenia całej linii produkcyjnej dla produktów monitorujących. Do tego oczywiście potrzebni są ludzie, których nie ma i to również zlecono mi jako zadanie dodatkowe. Innymi słowy, jak nie znajdę, sam będę dłubał, a to mnie z pewnością zabije czasowo. Mam zlecenie na zatrudnienie 3 osób, które będą stanowiły przyczółek przyszłego zespołu deweloperskiego, które zestawią całą linię produkcyjną (począwszy od gałęzi w git +  jenkins + gerrit + co tam jeszcze potrzebne, aby proces spełniał oczekiwania osób, które w nim uczestniczą). Mają to być dobrzy programiści, którzy nie są zadufani w sobie, w ich znajomość technologiczną i "zajefajność", i którzy są otwarci na nowe, nieznane, a (co mi sprawia najwięcej problemów) radzą sobie z bezkresem wyboru technologicznego.

Pojawiły się w międzyczasie jeszcze firmy So1 (poszukiwane 3-4 osoby), AdPilot (2 osoby) oraz Datastax (1 osoba), które w sumie stanowią o nowych miejscach pracy dla ca 10 programistów scalowych w Warszawie (!) W niektórych przypadkach wybór języka jest drugorzędny i nie ma jakiegokolwiek znaczenia dla sponsorów. Chcesz F#? Masz go! Chcesz Scalę? Masz ją! Chcesz XYZ? Wybór należy do Ciebie.

Powstała również strona ScalaWAW, która wypisuje firmy z imienia i nazwiska, które oferują miejsca pracy dla programistów scalowych. Jak napisał @gkossakowski na swoim kanale na twitterze:


Liczba aktywności scalowych w Polsce przewyższa UK, Francję i Niemcy razem wzięte (!)

Okazuje się, że jest sporo miejsc pracy dla osób, które chcą wejść w Scalę. Problem jednak w tym, że spotykane przeze mnie osoby, deklarują jedynie chęć i brakuje w tym ostatecznej decyzji, która sprawiłaby, że dostaną to, czego chcą - pracy w roli programisty scalowego. Jakimś cudem nie dochodzi do scalenia.

Coś mi mówi, że się trochę technologicznie rozleniwiliśmy. Duże firmy i korporacje dodają do tego jeszcze złudne poczucie stabilności, a to właśnie tam znajduje się spora część "chętnej" kadry scalowej. Bywa.

Napisz do mnie na jacek@japila.pl, gdyby oferta zatrudnienia jako programista scalowy w Warszawie była w Twoim obszarze zainteresowań. W kilku miejscach mógłbym znacząco pomóc.