Koniec Eldorado II
Jakieś dwa lata temu brałem udział w dyskusji na liście warszawskiego JUGa. Po niej zacząłem popełniać tekst „Koniec Eldorado”, dlatego ten ma II w tytule. Tekstu nigdy nie dokończyłem, ale nie szkoda mi tego. Wtedy brakowało mi dobrych przykładów, które potwierdziłyby moje przypuszczenia.
Niestety przykłady znalazły się szybciej niż sądziłem. Zastanawiam się, czy to zalinkować, bo już raz przerabiałem temat świnek morskich. Z drugiej strony sprawa nie tyczy się tak mocno relacji między gatunkowych w branży… a tam… macie (leci przez t.co, bo bezpośrednio tego nie zalinkuję).
Jeżeli uważacie, że tekst jest za długi to wam go skrócę:
Biorąc pod uwagę oszczędność czasu (5 lat studiów a miesiąc) oraz skuteczność nauki (studiowanie informatyki nie jest równoznaczne z umiejętnością programowania), pieniądze zwracają się bardzo szybko.
Zatem po miesięcznym szkoleniu mamy oto gotowego programistę, którego wykop nazywa „programistą za 15k miesięcznie”, serio mamy taki tag. Przerażająca jest ta pewność siebie bijąca od tego typu ludzi. Trochę przypomina to:
przy czym nie ma tu żadnego wypłaszczenia. Zostało ono zasypane pieniędzmi. Serio. Zarobki na pozycji juniorskiej to mniej więcej średnia krajowa. W kraju, gdzie mało kto dobija do średniej już w pierwszej pracy można dostać, w sumie górę mamuta.
Czytają takie teksty jak ten podlinkowany zastanawiam się, gdzie popełniłem błąd, bo po ponad 10 latach pracy w zawodzie, 15 latach usystematyzowanej nauki i jakiś 25 latach od momentu gdy napisałem pierwszy, prosty program nie mam nawet połowy tej pewności siebie… i nadal pozostaje pytanie o stawkę, ale to już inna sprawa. To jest jednak objaw zupełnie innej choroby.
To nie jest kraj dla konsultantów
Serio. Polski rynek IT stoi outsourcingiem. Jesteśmy tanią siłą roboczą. Oczywiście można powiedzieć, że Hindusi są tańsi, ale lepiej zapłacić trochę więcej za Polaka czy Ukraińca i mieć ten sam kod kulturowy niż płacić za Hindusa i jebać się z problemami komunikacyjnymi. Przy czym mała uwaga, są też i Hindusi, którzy są naprawdę dobrzy w te klocki. Tyle tylko, że oni dawno już przyjęli zachodni styl pracy i co za tym idzie zachodnie stawki. Jest też ich niewielu. W Polsce w praktyce nie ma za to rynku konsultantów. Próbujcie zatrudnić się w np. banku jako konsultant. Nie na zasadzie poprowadzę trzy czy cztery szkolenia w przeciągu miesiąca lub dwóch, ale właśnie jako konsultant. Osoba najęta do rozwiązania konkretnego problemu lub wsparcia konkretnych zespołów w ich zadaniach. To jest w praktyce niewykonalne. Jednocześnie te same instytucje zatrudniają w samym Wrocławiu kilka tysięcy programistów na zasadach outsourcingu. Tak, dobrze przeczytaliście, kilka tysięcy.
Firmy outsourcingowe to w ogóle ciekawy temat. Weź swoją stawkę dodaj do niej od 30 do 60%. Tyle firma kasuje za twoje usługi korporację. Przy czym te firmy zazwyczaj nie wytwarzają żadnych własnych produktów. Projekty własne ograniczone są do minimum i zazwyczaj związane z wewnętrznym zapotrzebowaniem na konkretne rozwiązania w rodzaju CRMy, CMSy, systemy HRowe. W efekcie firmy te wysysają z rynku programistów i przekierowują ich do lokalnych mordorów. A w mordorze oczywiście jest loteria, są projekty ciekawe, w których można się dużo nauczyć, a są i takie których nie ruszą nawet elbończycy. Zastanawiałeś się kiedyś skąd wzięła się nazwa ork? Od orki na ugorze w miejscowym mordorze. Rzecz w tym, ze tych ciekawych projektów jest naprawdę niewiele, a i większość z nich dostępna jest tylko dla „swoich”, a nie outsorcingu.
Dlaczego firmy decydują się na outsourcing?
Oczywiście dlatego, że jest to tanie rozwiązanie. Jeżeli jeszcze do tego dorzucimy niskie koszty pracy w takiej Polsce to okazuje się, że opłacalność tego procederu jest bardzo, ale to bardzo wysoka. Dodatkowo nie trzeba użerać się z konsultantami, czyli inaczej mówiąc nie zamiast stu, czy dwustu mamy jedną fakturę z kilkuset pozycjami. Dodatkowym atutem jest wyrzucenie procesu rekrutacji na zewnątrz. Czego efektem ubocznym są stanowiska seniorskie, na które wymagane są dwa, trzy lata doświadczenia.
Jest duże zapotrzebowanie, nie zbiedniejemy
To jest dobry argument. Można powiedzieć, że skoro w Polsce brakuje jakieś 50 tys. programistów, to bieda nam nie grozi. Dziś nie. Jutro też zapewne nie, ale biednienia już się zaczął i przypadki opisane na początku tylko go przyspieszą. Proces obniżania stawek już się zaczął i choć na razie nie jest jeszcze aż tak widoczny i bolesny, to się to dzieje.
Ja tu ciągle o kasie, ale w praktyce będzie to tylko wynik spadku jakości. Jakoś nie mogę się przekonać, że jak usadzę koło siebie osobę po miesięcznym kursie i świeżaka po studiach, przy założeniu, że oboje potrafią klepać kod na podobnym poziomie, zadam im typowe zadanie to osoba po kursie zrobi to lepiej. Jednak studia to nie tylko nauka programowania, bo z tym bywa różnie, ale przede wszystkim nauka myślenia w specyficzny sposób. Sama biegłość w klepaniu kodu to nie wszystko.
BTW, dopiero od niedawna zaczyna mi się przydawać znajomość matematyki ze studiów przy opisywaniu problemów i rozwiązań. Umiejętność przełożenia problemu na formalny język to jedna z tych rzeczy, które można wynieść ze studiów, bo tylko tam uczą tego języka. Na miesięcznym kursie klepania kodu nie powiedzą ci czym jest algebra ani nie wytłumaczą jak działa tranzystor czy bramka logiczna. Czy ta wiedza jest przydatna? Czasami jest. I to czasami zazwyczaj objawia się silną presją czasu oraz dużą ilością bluzgów.
Oczywiście spadek jakości będzie niezauważalny dla klienta. Kod ma to do siebie, że jest pewną abstrakcją. Nie można patrząc na działającą aplikację powiedzieć nic o samym kodzie. Nie określimy czy jest on dobry, czy zły. Klient zobaczy produkt, który zdaje się spełniać wymogi. Jednak czy w środku mamy materiał wysokiej jakości czy też szpachlowany paździerz? Kto wie… Do czasu, gdy nie trzeba będzie czegoś dopisać, poprawić, czy zmienić. Wtedy zacznie się bal. Koszty zaczną rosnąć, a jakość zacznie spadać w sposób widoczny dla samego klienta. Tyle tylko, że wtedy będzie już za późno na ratunek. By zatrudnić profesjonalistę, który to ogarnie będzie stać tylko duże i bogate firmy. Te mniejsze i dysponujące skromniejszymi budżetami będą ratować się za pomocą doraźnych napraw. W efekcie będziemy mieli coraz więcej coraz gorszego kodu.
Tu wrócę na chwilę do prezentacji Grzegorza Godlewskiego z tegorocznego DevCrowda. Jako przykład naprawdę złego kodu pokazał nam stronę pewnego producenta mebli. Stronę, która przy naprawdę solidnym łączu ładowała się minutę. Jak zaczynałem pracę wiele lat temu, to zakładaliśmy, że strona z dużą ilością grafiki nie może ładować się dłużej niż kilka sekund i to przy łączach w rodzaju 256kbit…
Te, Kasandara…
Możecie mi zarzucić, że pesymistycznie patrzę na problem. Rzecz w tym, że porównałem naszą sytuację z sytuacją innych zawodów, które przeszły już przez podobny proces.
Programowanie ma to do siebie, że jedynym progiem wejścia jest tak na prawdę kasa. Wystarczy, że masz komputer, najlepiej maca, bo drogi, i zapłacisz za miesięczny kurs programowania. Pieniądze nie są problemem, bo mamy dotacje.
Przeczytaj powyższy ustęp i zamień programowanie na grafikę komputerową albo fotografię. Łapiesz? W Latach 90-tych zapotrzebowanie na profesjonalnych grafików i fotografów było ogromne. Rynek reklamy był wstanie wchłonąć w praktyce dowolną ilość specjalistów z tych dziedzin. Podobnie rzecz miała się z tzw. copywriterami, czyli osobami odpowiedzialnymi za hasła reklamowe (w ogromnym uproszczeniu). Stąd też w czasach gdy chodziłem do liceum na co drugim słupie wisiały ogłoszenia szkół fotografii i grafiki komputerowej. Później już nawet nie trzeba było robić kursu, bo prasa i internet zapewniały odpowiednie materiały w postaci tutoriali oraz pirackiego photoshopa. Jak to się skończyło? Ano skończyło się tak jak opisano tutaj. Nieszczególnie dobrze. Oczywiście są firmy i osoby dobre, a nawet bardzo dobre, ale takich jest naprawdę niewiele.
Co więcej tego typu proces dotyka nie tylko zawody o niskim progu wejścia (kasę możemy wziąć z dotacji, pamiętajcie). Jeszcze kilkanaście lat temu prawnik po aplikacji był w stanie w przeciągu 3 do 5 lat odłożyć pieniądze na zakup mieszkania… za gotówkę. Dziś bezrobotny prawnik nie jest niczym szczególnym. Stawki spadły drastycznie, a przecież ilość pracy, podobnie jak w IT, nie zmniejszyła się. Wręcz przeciwnie. Zauważmy, że mówimy o zawodzie, w którym mamy wysoki próg wejścia. 5 lat studiów, 3 lata aplikacji albo doktoratu (tu nie jestem pewien) by uzyskać uprawnienia. Ogromna ilość wiedzy do przyswojenia. W sumie gigantyczna inwestycja, która nie zwraca się. Co więcej pracę prawnika klient jest wstanie ocenić. Zarówno w prost – wygrane sprawy, minimalizacja kosztów spraw przegranych jak i pośrednio choćby poprzez ilość wyprodukowanego papieru.
Podsumowanie
Obawiam się nie tyle co partaczy, co ich produktów. Oczywiście bycie wykształconym programistą nie daje gwarancji, że nie popełnimy błędów. Jednak proces kształcenia jest dobrą lekcją pokory. W przeciągu miesięcznego kursu nie uświadomimy sobie jak niewiele potrafimy. Jeżeli do tego dodamy stosunkowo duże, w proporcji do średniej, pieniądze, to efekt będzie opłakany.
Nie twierdzę, że ten proces będzie szybki. Takie rzeczy nie dzieją się z dnia na dzień, ani z miesiąca na miesiąc. Choć patrząc na prawników cały proces zajął niewiele ponad cztery lata. Nie twierdzę też, że potrzeba jakiegoś procesu regulacji w dostępie do zawodu. Nie ma większego sensu, ponieważ charakter pracy jest taki iż nie będzie można tego wyegzekwować. Zresztą samo środowisko przez lata potrafiło bronić się przed tego typu działaniami, bo nawet systemy certyfikacji nie są uznawane za miarodajne.
Jedyne co pozostaje to nadzieja, że to wszystko przynajmniej jakoś widowiskowo jebnie.