niedziela, 26 kwietnia 2015

O rekrutacji w IT w Indiach

Miniony tydzień spędziłem w oddziale mojej firmy Indiach, w mieście Gurgaon niedaleko Delhi, gdzie miałem okazję zobaczyć, jak rekrutuje się w sektorze IT w tym drugim najludniejszym kraju świata. Rzeczy, których tam się dowiedziałem, są ciekawe zarówno dla rekruterów jak i programistów. Było tam trochę potwierdzonych faktów, ale i parę mitów na temat tego, jak postrzega się Indie jako miejsce uprawiania IT i rekrutowania w tym sektorze.

Po pierwsze: w Indiach nie ma aż tak wielu developerów, jak mogłoby się wydawać. Populacja Indii - dziś 1.25 miliarda i szybko rosnąca; do 2025 roku Indie mają prześcignąć Chiny pod tym względem - sugerowałaby dziesiątki milionów dostępnych programistów, tymczasem trzeba wziąć pod uwagę, że to nadal kraj rozwijający się, głównie rolniczy i z wysokim (ok. 25%) poziomem analfabetyzmu. W Indiach pracuje ok. 2.75 mln programistów, o 850 tys. mniej niż w USA, które mają wszak czterokrotnie mniejsza populację. Będzie jednak lepiej (dla Indii): ich populacja jest młoda i nadal szybko rosnąca, co ma dać im pierwszeństwo w światowym rankingu programistycznych zasobów do 2017 roku.

Ale te 3 mln programistów rozproszonych jest po całym olbrzymim kraju, z dominującymi skupiskami w Bangalore, Mumbai, Delhi, Hyderabad, Chennai... Hindusi nie są mobilni. Powoduje to zróżnicowanie kraju (zwłaszcza kulturowe, językowe, klimatyczne), jego rozmiar i sama kultura, tradycyjna, z silnym przywiązaniem do regionu i rodziny. W efekcie, chcąc rekrutować np. w Mumbai, tam budując swój hinduski zespół developerski, trzeba założyć, że będzie trzeba ograniczyć się do tego miasta i okolic (ok. 12 mln ludzi), zapominając raczej o pozostałych regionach.

Kolejna hinduska specyfika: nadreprezentacja (jak na branżę IT) kobiet. Stanowią ok. 30% programistów, o wiele więcej niż w naszej części świata (ok. 10%). To ciekawe, gdyż biorąc pod uwagę stopień rozwoju kraju, jego kulturę i ogólną sytuację kobiet tam, można byłoby się spodziewać mniejszego odsetka. Wśród wyjaśnień przyczyn tego fenomenu spotkałem się z tą, że branża nowych technologii jest szczególnie atrakcyjna dla kobiet w Indiach jako ta, gdzie liczą się tylko kompetencje intelektualne (a nie np. siła fizyczna, wciąż przydatna w wielu istotnych w Indiach sektorach); jako ta, gdzie pracuje się przede wszystkim w biurze (co ma znaczenie przy tamtejszym gorącym klimacie); wreszcie jako branża w tym kraju względnie nowa, gdzie nie miała szansy zakorzenić się oparta w dużej mierze o komputerowe gadżety męska "kultura komputerowa". Jakakolwiek nie działaby tu przyczyna, pod względem odsetka kobiet w IT Indie naszą część świata przewyższają i jest to - moim zdaniem - pozytywne.

Niezbyt pozytywny - zwłaszcza dla hinduskich rekruterów - jest za to fakt (stwierdzony przez kilka osób, z którymi rozmawiałem) powszechnego i niekiedy skrajnego naciągania faktów w CV przez kandydatów w Indiach. W Europie zakładamy, że wszystko, co zostało napisane w CV to w dużej mierze prawda; że odstępstwa zdarzają się jedynie od czasu do czasu. W Indiach jest inaczej. Nie wiem, czy odwrotnie (czyli że większość w CV to kłamstwo, a nieliczne fragmenty to prawda), pewnie aż tak nie. W każdym razie, spora część wysiłku rekrutacyjnego idzie w weryfikację prawdziwości tego, co w CV napisał kandydat, np. czy adekwatnie ocenił swoje techniczne kompetencje.

No i różnice kulturowe czy mentalnościowe. Gdy spytałem jednego z szefów tamtejszych zespołów developerskich (Duńczyk, pracuje w Indiach od pięciu lat) o rekrutacyjne wyzwania, z jakimi się zmaga, bardzo ciekawie opowiadał mi przez blisko 10 minut, przy czym ani razu nie wspomniał o kompetencjach technicznych lokalnych programistów, a własnie o różnicach kulturowych. O tym, że człowiek wychowany w kulturze skrajnie hierarchicznej (indyjska), ceniącej podporządkowanie i posłuszeństwo, często nie może odnaleźć się w środowisku - jak skandynawskie - egalitarnym, gdzie ceni się branie odpowiedzialności i inicjatywę. 

Hierarchiczność społeczeństwa hinduskiego sprawia kłopot zarządzającym zespołami developerskimi jeszcze w tym, że hinduscy programiści rzadko zadowalają się samym programowaniem. By awansować społecznie i finansowo, muszą piąć się w hierarchii, po 3-4 latach od rozpoczęcia kariery chcą być team leaderami, po 6-7 project managerami itd. Rozbudowane struktury hinduskich firm oferują wiele kolejnych szczebli, po których można piąć się w karierze.

I weź tu człowieku rekrutuj. Znajdź spośród 300 kandydatów - tylu mniej więcej aplikuje na programistyczne stanowisko publikowane w portalu pracy przez moje koleżanki z hinduskiej rekrutacji - człowieka dobrego technicznie, z CV opisującym stan faktyczny, z fajną osobowością i dopasowaniem kulturowym (są tacy). Tak jak przed hinduskimi kierowcami, którzy przy panującym na ulicach Indii permanentnym łamaniu zasad, dają na ogół radę, tak i przed hinduskimi rekruterami - chylę czoła.


_______

dawniejszy wpis na podobny temat: "O wyzwaniach rekrutacji bardzo międzykulturowej".


czwartek, 9 kwietnia 2015

Programować do ostatnich dni czy iść w zarządzanie

Czytałem niedawno ciekawą dyskusję na forum Quora na temat karier programistów - konkretnie, na ile kariera programisty może być karierą na całe życie, a na ile wcześniej czy później zachodzi konieczność porzucenia pracy z kodem i zajęcia się innymi rzeczami, zwłaszcza zarządzaniem.

Na pewno nie padną w tym wpisie odpowiedzi definitywne, bo temat jest obszerny, a odpowiedź na główne pytanie (programować tak długo jak się da czy iść w zarządzanie) złożona i niejednoznaczna. Podzielę się jedynie paroma obserwacjami z perspektywy rekruterskiej, co jednak i tak może być jakąś wartością dla osób, dla których temat jest interesujący.

Pierwsza obserwacja jest następująca: zdecydowana większość programistów, z jakimi w swej karierze rozmawiałem, chciałaby programować możliwie długo, a jeśli rozważają zmiany, to nadal w obrębie tzw. ścieżki technicznej, awansując np. na stanowisko architekta. Wielu, nawet jeśli chciałoby być bliżej biznesu (zajmując się np. analizą biznesową) albo zarządzania (wskakując na stanowisko managerskie lub team leaderskie), nie chciałoby tracić kontaktu z kodem, najlepiej w jakiejś części swoich zadań czynnie programując.

Podejście takie uważam za w dużej mierze uzasadnione i rozsądne. Sądzę, że większość ludzi dość dobrze orientuje się w swoich predyspozycjach, fascynacjach, słabych i mocnych stronach. Większość programistów, wybierając taki zawód (a nawet wcześniej: wybierając taki profil studiów) wybrała świadomie, swej decyzji nie żałuje i chce być w niej konsekwentna. Wielu z zadowoleniem przyznaje, że lubi to co na codzień robi i chciałoby robić to dalej. Uzasadnione to tym bardziej, że programistom bardzo sprzyja sytuacja na rynku pracy. O ile nie mieli pecha, trafiając (rzadziej wybierając) w środowisko z nierynkowymi technologiami i zostając w nim na dłużej, na ogół nie muszą martwić się o pracę i poziom zarobków w niej. Nie sądzę, by szybko nastały czasy, w których ogłoszenie o pracę na stanowisko programisty zachęci kilkunastokrotnie więcej aplikantów niż ogłoszenie na stanowisko project managera. Dziś sytuacja jest odwrotna i to sporo mówi o popytowo-podażowej sytuacji obu zawodów.

Dlaczego jednak niektórzy myślą o czymś więcej, dlaczego niektórym samo programowanie z czasem przestaje wystarczać? Dla części czynnikiem mogą być finanse. Choć programiści zarabiają dobrze, kadra managerska (w tym project managerowie) nadal zarabia lepiej i tak chyba pozostanie. Zarobkowy szklany sufit ciąży zwłaszcza tym programistom, którzy związali się etatem i na długo z jednym pracodawcą. Jeszcze gorzej, jeśli zrobili to zaraz po (albo nawet na) studiach. W tych sytuacjach często jedyną szansą na znaczny awans finansowy (przy chęci pozostania w tej samej firmie) jest awans na stanowisko managerskie.

Nieczęsto wymienianym a, tak sądzę, istotnym motywem chęci pójścia "w management" jest brak poczucia wpływu na wiele aspektów swej pracy, z jakim mogą zmagać się programiści. Poczucie wpływu na to, co i jak robimy jest generalnie jedną z ważniejszych rzeczy decydujących o satysfakcji z pracy na jakimkolwiek stanowisku. Od szeregowego programisty - przy całej frajdzie, jaką może mieć z pracy; przy namacalnych, widocznych jej rezultatach; przy wysokim poczuciu własnej merytoryki - często niewiele zależy. Decyzje związane np. z zasobowaniem, finansowaniem, sposobem prowadzenia porojektu, czy w ogóle decyzje o rozpoczęciu bądź porzuceniu projektu - tu w grę wchodzi odstraszająca na ogół osoby techniczne "polityka". Często chyba niesłusznie demonizowana, ale to temat na inny, i to obszerny, wpis. 

Garść powyższych uwag pewnie nie rozstrzygnie dylematów tych, którzy być może rozważają przejście na ciemną (nietechniczną, managerską) stronę mocy. Dla tych, co chcą, dobrym pomysłem na bezpieczne "sprawdzenie się" w częściowo managerskiej roli i płynne przejście na ową stronę może być stanowisko łączące oba (techniczny i nietechniczny) aspekty. A ci, którzy za nic w świecie nie chcą? Sądzę, że mogą długie lata i z satysfakcją programować, przy czym tym dłużej i z tym większą satysfakcją (i wyższymi zarobkami) im dłużej będą na bieżąco ze współczesnymi, rynkowymi techńologiami.

Wszystkim natomiast, tradycyjnie, doradzić mogę systematyczne i pilne szlifowanie języka angielskiego.


_______