W roku 2008 wyprodukowano w Japonii film pod tytułem „Genkai in a Black Company”, który ukazuje życie 26-latka, pracującego ciężko w skrajnych warunkach w tak zwanej „czarnej firmie”. Określenie to odnosi się w japońskim slangu do firm, w których obowiązuje wielogodzinny dzień pracy w trudnych warunkach przy bardzo niskim wynagrodzeniu, do firm, które bezprawnie wyzyskują swoich pracowników — to jest ostatnia szansa dla tych, którzy nie mogą dostać lepszej pracy. Firma, ukazana w filmie, to nie jakby się wydawało, jakaś tam firma, zatrudniająca niskopłatnych pracowników, lecz firma zajmująca się technologią informacyjną.
Nic dziwnego, że młodzi Japończycy nie chcą pracować w takich wyzyskujących firmach, które są naprawdę realnym problemem (film oparty jest na prawdziwiej i wcale nie niespotykanej historii). Nie pomaga również to, że programiści w oczach ogółu jawią się jako ludzie nieprzystosowani społecznie, a zadania programistów postrzegane są jako praca oparta na rutynie i nie zawsze do końca rozumiana [ja]. Młodzi Japończycy stopniowo uciekają od tej gałęzi przemysłu, a ten exodus jest jednym z powodów, dlaczego Japonia traci swoją konkurencyjność w erze digitalizacji.
Bloger i jego pies
Z własnej perspektywy
37-letni architekt oprogramowania, Ryo Asai (@ryoasai74) na swoim blogu pod tytułem “Becoming a Master Programmer” (達人プログラマーを目指して) [jp] przedstawia ciekawy kontrapunkt dla tej ponurej sytuacji i oferuje wyjątkową okazję przyjrzenia się sytuacji przemysłu technologii informatycznej w Japonii. Na swoim profilu, bloger wyjaśnia:
Zajęcie programisty jest powszechnie uważane za niewdzięczne, stresujące i nisko opłacalne, ale zauważyłem, że to się zmienia. Jest coraz więcej miejsc, gdzie deweloperzy rozwijają się, dzieląc się wiedzą w internecie i uczestnicząc we wspólnych projektach społeczności open-source. Żyjemy w czasach, gdzie większość materiałów szkoleniowych jest dostępna bezpłatnie online, w czasach, które są prawdziwą inspiracją dla tych, którzy lubią programować. Naprawdę niefortunne jest to, że ludzie postrzegają przemysł technologii informacyjnej i jego przyszłość w tak ciemnych barwach, a przede wszystkim smutny jest fakt, że tak wielu uważa programowanie za nieatrakcyjną profesję. Prawda jest taka, że technologia informacyjna nie znika, a wręcz przeciwnie, rozwija się w szaleńczym tempie, i to, jak myślę, sprawi, że w przyszłości będzie więcej miejsc, które pozwolą rozwijać się utalentowanym programistom.
Po siedmiu latach pracy dla OGIS-RI, japońskiej firmy, zajmującej się integracją systemów,Asai zrezygnował z niej w ostatnim czasie, by przyjąć stanowisko w Amazon Japan. Posty przetłumaczone w pierwszej części tej dwuczęściowej serii wyjaśniają, dlaczego tak postąpił.
Programowanie z pasją
Pomimo złego wizerunku „czarnej firmy”, bycie inżynierem w japońskiej firmie IT było według Asai'ego pozytywnym doświadczeniem. Na swoim blogu opisał [jp] on 3 października swoje doświadczenia w OGIS-RI:
Przez ostatnie 7 lat mojej pracy jako architekt oprogramowania w OGIS-RI, zdobyłem doświadczenie we wszystkim, począwszy od architektury systemowej dla całej firmy, kończąc na upstream modelingu i rozwoju aplikacji w Java EE. [EE = Enterprise Edition] . Jak już wspomniałem wiele razy na tym blogu, zawsze pragnąłem brać udział w rozwoju wysokowartościowych, łatwych w utrzymaniu systemów przy użyciu modelowania i zastosowania technik obiektowych w projektowaniu systemów korporacyjnych. Wysokojakościowa architektura jest niezbędna do stworzenia i utrzymania takich systemów; zawsze wierzyłem, że taka architektura pomaga w optymalizacji operacji klienta i zwiększa wartość firmy.
Miałem dużo szczęścia, że znalazłem stanowisko, dzięki któremu byłem bezpośrednio zaangażowany w rozwój aplikacji przy użyciu standardowych technik, takich jak Java EE, Spring [Java framework] i Hibernate [a Java library], czy Open Source Sofrware (OSS), krok po kroku tworząc frameworki, które mogły być wielokrotnie zastosowane w rożnych projektach, a nie pracowałem sam. Grupy pracujące nad takimi framworkami i aplikacjami muszą pracować wspólnie, stopniowo rozwijając frameworki, bazujące na aplikacji przy ograniczonych środkach finansowych. Poza tym podnieceniem, jakie towarzyszy zastosowaniu nowych technologii, ekscytującym doświadczeniem było tworzenie modeli domeny dla skomplikowanych instrumentów finansowych, obmyślanie sposobów przyspieszenia przetwarzania wielkich sum transakcji, jak również wymyślanie sposobów automatyzacji procesu budowy.
Tak więc, jak już wspomniałem na tym blogu, miałem szczęście pracować w naprawdę przyjaznym i wspierającym się środowisku, gdzie miałem wielu kolegów, z którymi dyskutowaliśmy na temat technologii; to rzadko zdarza się w firmach, zajmujących się integracją systemów (SI). Jestem naprawdę wdzięczny za to moim szefom i współpracownikom z OGIS-RI.
35 lat jako górna granica wiekowa.
I pomimo tych pozytywnych doświadczeń w pracy, Asai poczuł się jako 37-latek ograniczony:
Pod tym względem, trudno mi było wyobrazić sobie aktywne szukanie nowej pracy. Ale w końcu, może chodzi tu o mój wiek – mam 37 lat, a w tej branży uważa się, że wiek emerytalny programisty wynosi 35 lat – zacząłem sobie uświadamiać, że bez względu na to, jak bardzo chcę tego uniknąć, być może zostanę odsunięty od wytężonej pracy przy programowaniu. Oczywiście, częściowo jest to wina tego, że moja wydajność umysłowa nie jest już na takim poziomie, mimo wszystko wciąż mam wiele zapału do kontynuowania mojej pracy w zakresie programowania. Podczas gdy nie mogę konkurować z młodymi ludźmi, którym opanowanie nowych technologii przychodzi szybciej, „ostrzę” swoje umiejętności refaktoryzacji i modelowania poprzez doświadczenie.
Komentując artykuł, rozwija on temat granicy wiekowej programistów Japonii; zostają oni odsunięci od programowania i przeniesieni na stanowiska zarządzające, bądź do działu doradztwa –– właśnie mniej więcej w wieku 35 lat:
Myślę, że nigdzie poza Japonią nie ma czegoś takiego jak 35 lat jako „wiek emerytalny” nałożony na programistów. Nie ma nic szczególnego w przekroczeniu wieku 35-lat w innych krajach. Jedyne co się liczy, to fakt, czy potrafisz jeszcze wykonać swoją pracę, czy nie, no i często masz młodszych ludzi na wyższych stanowiskach. Jednak w Japonii, w wielu miejscach narzuca się tę granicę wiekową podczas rekrutacji programistów, i z mojego doświadczenia wynika, że faworyzuje się młodszych, zapewne ze względu na niższe koszty, to jednak odsuwa cię stopniowo od twojej pracy programisty [co z wiekiem się nasila]. Innymi słowy, problem wieku nie jest związany z indywidualnymi umiejętnościami, jak powiedzmy w przypadku atletów, lecz polega na błędnej organizacji i strukturze wynagrodzenia.
Ostatecznie, czuł się on odsunięty od swojej pasji:
To ta sytuacja sprawiła, że stałem się niecierpliwy i zaniepokojony tym, że powoli odsuwałem się od mojego celu zostania master programistą, jak w tytule mojego bloga. Być może mógłbym to obejść, przekonując siebie, że tworzenie prezentacji PowerPoint i dokumentów tekstowych, które wyjaśniają architekturę, są pewnym rodzajem programowania. Jednak tak naprawdę wiedziałem, że to, czego pragnę, to otwierać codziennie IDE [Integrated Development Environment] czy edytor i starać się ulepszać zarówno moje umiejętności programowania, jak i środowisko programistyczne.
Amazon Japan
Amazon, nadchodzę
To odsunięcie od programowania, przekonało Asai'ego, by podjąć krytyczną decyzję i ubiegać się o stanowisko w Amazon Japan. Tak motywuje on swoją decyzję:
Być może wydaje się, że Amazon to firma usługowa, jednak z szerszej perspektywy, jako że prowadzi ona sprzedaż detaliczną za pomocą technologii internetowej, przypomina korporacje skupiające się na użytkownikach pod względem integracji systemów (SI) i to, co zamierza, to jeden ze sposobów rozwoju przedsiębiorstwa. Powodem, dla którego nie ubiegałem się o stanowisko w Amazon Web Services (AWS), a w sekcji rozwoju aplikacji działu sprzedaży detalicznej w centrum Amazon.com, był fakt, że chciałem wykorzystać moje doświadczenie jako twórca aplikacji korporacyjnych.
Nie mogę ujawnić wszystkich szczegółów mojej rozmowy kwalifikacyjnej tutaj, mogę powiedzieć jednak, że to było w stylu Doliny Krzemowej: przez pięć godzin młodszy i starszy programiści z Amazon zadawali mi w języku angielskim techniczne pytania, dotyczące wszystkiego, od algorytmów po struktury danych; byłem po tym fizycznie i psychicznie wykończony. Trudno mi było tak od razu wpaść na pomysł kodu do algorytmu, częściowo dlatego, że mój angielski nie jest aż tak dobry, ale również dlatego, że tak naprawdę nigdy nie otrzymałem tytułu z dziedziny IT i nie uczyłem się wystarczająco podstaw informatyki.
Ubiegałem się o to stanowisko, bo tak naprawdę wierzyłem, że nie miałem niczego do stracenia. Teraz podarowano mi szansę, chcę ją jak najlepiej wykorzystać i stać się ekspertem w dziedzinie programowania, który będzie miał swój wkład w firmę Amazon poprzez nowe możliwości technologiczne.
Kolejna strata dla Japonii
Komentarze czytelników blogu Asai'ego zawierają gratulacje i własne przemyślenia:
Wydaje mi się, że tego doświadcza każdy programista. Ta przepaść między pragnieniem kontynuowania pracy, polegającej na tworzeniu kodów, po przekroczeniu „emerytalnego” wieku 35 lat, a rzeczywistością w miejscu pracy, stawia w nas trudnej sytuacji. Ale ludzie, ja jutro kończę 37 lat i jutro będę dalej tak samo programował, jak dziś.
Gratulacje! Jestem naprawdę pod wielkim wrażeniem — może nie powinienem tego mówić, ale wydaje mi się, że jakaś niewidzialna siła sprowadziła Cię na tę drogę.
Japońskie korporacje tracą swoich utalentowanych programistów. To już nie te stare czasy –- oni po prostu nie wytrzymują dłużej.
W drugiej części tej dwuczęściowej serii, przedstawię Wam kontynuację artykułu Asai, opisującego swoje pierwsze tygodnie w japońskim Amazon, szczególnie w odniesieniu do wyzwań, jakim stawia czoło, adaptując się do pracy w innej kulturze. Zostańcie z nami!
Tutaj znajduje się część druga. [Note: Added November 5th]