poniedziałek, 28 listopada 2016

Czy warto znać Angulara? Wspomnienie z konferencji ng-Poland

Mówiłem niedawno na konferencji ng-Poland o tym, dlaczego być może warto znać zdobywający coraz większe uznanie w świecie programowania framework AngularJS. W prezentacji swej poruszyłem kilka wątków ogólniejszych, ciekawszych pewnie także dla nie-programistów albo nie-frontendowców, stąd pomyślałem, że może warto byłoby nimi podzielić się także tu, na blogu. A może i ci spośród 700 uczestników konferencji, którzy widzieli prezentację, ucieszą się z wpisu, gdyż podzielę się tu dokładniej danymi, które przytoczyłem.

Prezentacja miała być o najpopularniejszym dziś frameworku frontendowym (AngularJS). Wiedziałem, że jest to technologia w warstwie prezentacyjnej współczesnych aplikacji wiodąca - choćby po coraz częstszych rekrutacjach na specjalistów znających AJS, które w mojej firmie prowadzimy. Co innego jednak wyrywkowe spostrzeżenia z zawsze wąskiej perspektywy jednej firmy, a co dające pełniejszy obraz, o dużej skali dane. Choćby z Google'a, gdzie każdy dziś wyszukuje informacje; choćby z GitHub, z którego korzysta 14 milionów programistów, czy ze StackOverflow, z którego - przynajmniej od czasu do czasu - korzysta chyba każdy.

kliknij, by powiększyć
Widać z powyższego, że mówienie o przewadze Angulara nad innymi frameworkami czy bibliotekami frontendowymi to trochę niedopowiedzenie. Zwłaszcza w przypadku wyszukiwań w Google bardziej oddającym rzeczywistość słowem byłaby przepaść.

Czy taka dominacja Angulara przekłada się na zarobki ludzi go znających? Tu niespodzianka - niekoniecznie.

kliknij, by powiększyć

Zarówno w USA, jak i w UK - krajach o transparentnej co do zarobków kulturze - znający Angulara mogą liczyć na porównywalne zarobki do tych, którymi cieszyć się mogą znający pozostałe wymienione tu technologie. Na powyższej grafice pokazane są zarobki średnie, w UK mediany, ale wniosek ten sam. 

Statystyki dotyczące USA zaczerpnąłem z serwisu Indeed.com. Można pobawić się i posprawdzać zarobki w innych technologiach. Szkoda, że nie ma danych dla Polski, ale USA to w końcu kraj w technologiach wyznaczający trendy, a więc pewnie i w jakimś stopniu w zarobkach w technologiach.

Natomiast danych o zarobkach w Wielkiej Brytanii dostarczył mi serwis itjobswatch.co.uk. Pod względem różnorodności i kompletności danych jeszcze lepszy niż Indeed.com.

Nawiasem mówiąc, niespecjalnie dziwi mnie, że pracodawcy oferują często podobne pieniądze specjalistom od technologii dominujących (jak AngularJS) i tym od technologii niszowych czy wręcz schyłkowych. Jeśli nie mogą zaoferować programistom nowoczesnych technologii, czasem jedyną rzeczą, jaką mogą próbować im to zrekompensować, są pieniądze.

Angularowcy i reszta zarabiają więc podobnie. Czemu więc całe to halo wokół Angulara?

Temu.

kliknij, by powiększyć
To liczba ofert w USA pochodzących z portali pracy i zagregowanych przez Indeed.com. Widać, że w ostatnich latach AngularJS znokaoutował rywali (w tym nomen omen KnockoutJS) i dziś ofert pracy dla ludzi znających Angulara jest ok. 10 razy więcej niż ofert dla specjalistów pozostałych wymienionych tu technologii.

W Polsce przewaga Angulara nie jest aż tak duża, a po piętach dzielnie wydaje się mu deptać React. Dalej to jednak 2.5 raza więcej ofert dla ludzi od AJS (dane za Pracuj.pl).

kliknij, by powiększyć


Choć we frontendzie króluje dziś Angular, warto pamiętać, że relatywnie niewiele jest technologii, którym udaje się zachować panowanie w długiej, wieloletniej skali. Przykłady z przeszłości?

kliknij, by powiększyć
Może nie wszystkie z nich dominowały (GWT pewnie nie), ale były co najmniej bardzo obiecujące, a na pewno już nie są, przynajmniej z perspektywy szans zawodowych, czyli ofert pracy dla specjalistów znających te technologie.
(Poruszyłem też w prezentacji ciekawe zagadnienie cyklu życia technologii w aspekcie jej popularności, dojrzałości i "wykorzystywalności". Tu jedynie nadmieniam, a zainteresowanych szczegółami zapraszam tu (Gartner Hype Cycle na Wikipedii) oraz tu (info ze strony Gartnera).

Gdy zaczynałem przygodę z rekrutacją w 2005 roku, nowatorskimi rzeczami we frontendzie były rzeczy takie jak JSP czy Flash. Dawno już nie są. Trudno przewidzieć, jak będzie wyglądał - z perspektywy zapotrzebowania zawodowego i płac - świat frontendowy w, powiedzmy, 2020 roku. Czy dalej dominować będzie Angular? Czy znajdzie godnego rywala w React.js? A może pojawi się ktoś trzeci?

Jak by się to nie potoczyło, jedyną sensowną strategią programistów, by optymalnie wykorzystać i tak sprzyjającą im sytuację na rynku pracy, jest trzymanie ręki na pulsie tego, co dzieje się w technologiach. To niekoniecznie śledzenie wszystkich trendów i uczenie się każdego nowego frameworka, o którym ostatnio zrobiło się głośno. Bycie najzwyczajniej ciekawym, otwartym na nową wiedzę i w miarę możliwości aktywnym - to już sporo, by nie być "niewyedukowanym następnego dnia". 




_______
fot.: SP

wtorek, 1 listopada 2016

Japonki i 10 lat rekrutowania

Ustawienia komentarzy tu na blogu spowodowały, że dopiero dziś przeczytałem komentarz pod jednym z wpisów z września 2015 roku. Ponieważ staram się odpowiadać na wszystkie (wymagające odpowiedzi) komentarze, chciałbym wynagrodzić anonimowemu Czytelnikowi ponadroczne oczekiwanie na odpowiedź osobnym wpisem poświęconym jego dwóm pytaniom. Tym bardziej, że nawet gdybym odpowiedział mu bezpośrednio (pod jego komentarzem), pewnie i tak (jako niezalogowany czytelnik) nie zostałby powiadomiony o odpowiedzi.

(Jednocześnie, by uniknąć podobnych sytuacji w przyszłości i mieć pewność, że każdy komentarz przeczytam szybko, zmieniłem ustawienia tak, by być powiadamianym o każdym komentarzu, a nie, jak dotychczas, tylko o wybranych. Zapraszam więc do komentowania i ew. pytań).

Zapomniany Czytelnik zadał pytania takie:

1. Czy jeśli jest gorąco, np. 30 stopni, zero wiatru, generalnie taka pogoda jak w sierpniu tego roku i zamiast przyjść w garniturze wybrałbym jednak krótkie spodenki i koszulę z krótkim rękawem, to co byś o tym pomyślał (mi osobiście zdarzyło się przyjść w taki upał do pewnej firmy w krótkich spodenkach, t-shirt i japonkach i panowie którzy mnie rekrutowali zrobili duże oczy widząc japonki i wymienili porozumiewawczy uśmiech, a po 2 dniach od rozmowy chcieli mi zaproponować stanowisko team leadera)?

2. Programistom, którzy pracują przez 10 lat w jednym projekcie (wiem wiem, to musiałby być skrajny przypadek, ale czytaj dalej) mówi się, że nie mają 10 lat doświadczenia, tylko rok powtórzony 10 razy. Jak odniesiesz się do swoich 10 lat doświadczenia w pracy rekrutera IT - czy nie uważasz, że masz rok doświadczenia powtórzony 10 razy?

Odpowiadam:

1. Zależy, gdzie się idzie na rozmowę i na jakie aplikuje się stanowisko. Inne są oczekiwania w stosunku do kandydata wybierającego się na rozmowę do banku albo renomowanej firmy konsultingowej, a inne do niewielkiego, kilkuosobowego start-upu. Podobnie, inny strój odpowiedni będzie przy aplikowaniu na stanowisko project managera, a inny przy ubieganiu się o pracę na stanowisku programisty. (Dla pewności: w obu przypadkach mniejsze oczekiwania co do biznesowości stroju będą dla drugich z wymienionych opcji:) 

Jeśli stojąc rano przed szafą ma się dylemat i waha się pomiędzy strojem (być może) zbyt formalnym, a z drugiej strony (potencjalnie) zbyt luźnym, lepiej wybrać to pierwsze. Mniejszą bowiem niestosownością będzie, jeśli jako kandydat ubrani będziemy "lepiej" (tj. bardziej biznesowo) niż nasi rozmówcy niż gdyby miało być odwrotnie.

Dobrze jest spytać wprost tego, kto zaprasza nas na rozmowę, jaki jest dress code w firmie. Podpowie to nam, jak się ubrać, a jednocześnie być może powie coś generalnie o kulturze firmy. W przypadku stanowisk programistycznych chyba już nigdzie nie oczekuje się garnituru. Koszula wystarczy pewnie wszędzie.

Czy jako rekruter wybaczyłbym t-shirt? Tak. A japonki? Jeśli w skarpetkach - też. A poważnie: jeśli planujemy przyjść w stroju, co do którego mamy podejrzenie, że może odbiegać od standardów rozmowy rekrutacyjnej czy kultury firmy, zdecydowanie warto uprzedzić rozmówców, że tak będzie i najlepiej usprawiedliwić to okolicznościami (np. upał, wracam prosto z imprezy itp;).

2. A co jeśli - jak się bawić w fantazjowanie i skrajności, to do końca - ten 10-letni projekt miał super technologie (przynajmniej na początku, a później co jakiś czas zastępowane), był świetnie prowadzony, obejmował najlepsze praktyki developerskie, z kapitalnym merytorycznie, zaangażowanym zespołem, z niesamowicie ciekawym sensem biznesowym i takąż logiką aplikacji? Czy wybrałbyś taki zamiast pięciu różnych, dwuletnich projektów, z których każdy był słaby? 

Ale fakt, jeśli zostawimy przypadki skrajne i wszystkie inne czynniki zrównamy, to pewnie każdy programista będzie wolał być w pięciu różnych, dwuletnich projektach niż w jednym, dziesięcioletnim.

W rekrutacji jest i trochę podobnie i trochę inaczej.

Podobnie, bo faktycznie lata rekrutowania na te same stanowiska, w ten sam sposób, na te same projekty i dla tych samych klientów mogą powodować znudzenie i spowolnić rozwój zawodowy. Ale podobnie też dlatego, że jeśli rekrutujesz do świetnej firmy, wśród fajnych ludzi i w dobrych standardach, to możesz mieć długo frajdę nawet za cenę większej powtarzalności.

A dlaczego inaczej? O ile technologie zmieniają się i wiele z tego, co programiści znają dziś, za 10 lat może być bezużyteczne, to ludzie - w swych podstawowych predyspozycjach psychicznych, społecznych, zawodowych; w swych aspiracjach, motywacjach, zachowaniach - są niezmienni. Rekruter z trzyletnim stażem i pięcioma setkami spotkanych na rozmowach rekrutacyjnych ludzi będzie dużo lepiej "czytał" kandydatów i dokonywał lepszych wyborów niż rekruter z rocznym doświadczeniem i niecałą dwusetką rozmów. W pracy, gdzie często bazować musisz na intuicji (osobny wpis nt. roli intuicji w rekrutacji tutaj), każdy dodatkowy rok doświadczenia udoskonala ją, ulepsza rekrutacyjny celownik.

Z jakich innych powodów 10 lat (teraz - po roku, odkąd pytałeś - już 11:) rekruterskiego doświadczenia w IT to nie to samo, co 1 rok razy 10?

1) Możesz rekrutować dla różnych firm. Rekrutacja w agencji rekrutacyjnej, rekrutacja w firmie kontraktorskiej i rekrutacja wewnętrzna to trochę inne bajki. Nawet sposób wynagradzania jest różny.
2) Możesz rekrutować na różne stanowiska. Rekrutacja project manager to zupełnie inne wyzwania - i to na każdym etapie rekrutacji - niż rekrutacja programisty.
3) Zmienia się świat i zmieniają się narzędzia rekrutacyjne. Gdy zaczynałem w 2005 roku, LinkedIn dopiero raczkował, o Facebooku (w kontekście rekrutacyjnym) nikt nie słyszał. Za 10 lat znów pewnie docierać do kandydatów będzie się zupełnie inaczej.
4) Podobnie jak w każdym innym zawodzie, także w rekrutacji wraz ze wzrostem kompetencji otrzymujesz szanse wpływania na swój obszar z wyższego poziomu, np. kształtując kulturę rekrutacyjną firmy czy pomagając młodszym rekruterom. 

Także nie, 10 lat w rekrutacji IT to nie musi być 1 rok razy 10, chociaż - muszę przyznać - w pierwszych sekundach dałeś mi, szanowny anonimowy Czytelniku, do myślenia:)


_______
foto: wonderopolis.org