Poza klepaniem kodu trzeba uczyć się innych rzeczy. Historia Grzegorza Kossakowskiego ze Stripe
Od Google, przez Typesafe po Stripe. Tak w ogromnym skrócie można opowiedzieć o drodze jaką przebył Grzegorz Kossakowski, o którym możemy śmiało powiedzieć, że jest spełnionym programistą. Udało mu się pracować w największej firmie IT na świecie, ale też odejść z niej dla ciekawszego projektu. Jak dostał się do Google’a i dlaczego zamienił korporację na pracę w Stripie?
Tego i wiele innych rzeczy dowiecie się z poniższej rozmowy, która jest transkryptem live-streamu z 10 maja 2017 roku. Od tego czasu Grzegorz już nie pracuje w Stripie, aczkolwiek przed kolejnym cyklem wywiadów z naszymi rodakami z całego świata, warto przypomnieć sobie tą niezwykle interesującą postać.
Spis treści
Grzegorz, jak się zaczęła twoja przygoda z programowaniem?
Zacząłem uczyć się programować w wieku 12 lat, czyli 18 lat temu. Co ciekawe, gdy zaczynałem nie miałem nawet komputera. Pisałem w zeszycie pewne kody, a weekendami jeździłem bardzo daleko do swojej rodziny, która miała komputer i mogłem z niego korzystać. Próbowałem co działa, a nad czym muszę jeszcze pracować. Początkowo pracowałem w Basicu. Później, jak chyba każdy 12-latek, zafascynowałem się grami i postanowiłem, że stworzę coś swojego. To była dobra motywacja do tego, żeby nauczyć się programować.
Myślałem, że zejdzie mi dwa, może trzy miesiące. Rzeczywistość okazała się jednak brutalna – siedziałem nad tym chyba z trzy lata. Stworzyłem Bombermana. Dołączyłem później do środowiska programistów w naszym kraju, którzy tworzą gry – nazywali się „Warsztat”. Potem grupa przemieniła się w Gamedev.pl. Z czasem stałem się osobą współprowadzącą cały serwis.
Co było potem? Już wtedy wiedziałeś, że to jest Twoja droga w życiu?
Początkowo nie wiedziałem, były różne opcje, które brałem pod uwagę. Jestem z Podlasia, ale pod uwagę brałem studiowanie na Uniwersytecie Warszawskim. Sporo poczytałem o tej szkole i znalazłem takie opinie, że to może być raj dla programistów. Marzyłem o pracy w Google, a za cel stawiałem sobie dostanie się tam przed 30. rokiem życia. Na szczęście wszystko potoczyło się znacznie szybciej.
Jak długo jesteś w Stripie?
Niedługo – od pięciu miesięcy. Moja pierwsza wizyta w Kalifornii miała jednak miejsce znacznie wcześniej. Pierwszy raz pojechałem tam już po drugim roku studiów na praktyki. Wcześniej zakładałem, że dopiero po skończeniu uczelni będę chciał tam wyjechać. Uniwersytet Warszawski ma tę zaletę, że od dawien dawna studenci z tej szkoły latają do Kalifornii i tam zbierają doświadczenie. Początkowo do Google, a teraz też do Facebooka, Microsoftu i wielu innych wielkich firm. Można będąc w szkole zapytać innych studentów, jak tam jest i czego można się spodziewać – szlaki są już przetarte. O to, jak jest w Google, pytałem mojego kolegę, który rok wcześniej był w Kalifornii. Różnica była jednak taka między nami, że on był bardzo dobry – wygrywał wiele konkursów na szczeblu europejskim. Jemu się podobało, w korzystnym świetle przedstawił mi Google. Na pewno pomógł mi podjąć decyzję, żeby postarać się tam dostać i spróbować swoich sił.
Czym zajmuje się Stripe?
Stripe zajmuje się płatnościami internetowymi. To nie jest jednak coś takiego, jak Paypal, czyli wysyłanie pieniędzy pomiędzy ludźmi. Tworzymy API dla programistów. Gdy przykładowo ktoś chce otworzyć sklep internetowy, to my zajmujemy się tym, aby te płatności akceptować. Akceptujemy wszystkie karty kredytowe i debetowe, zapisujemy ich numery, rozliczamy to wszystko, przesyłamy te transakcje pomiędzy bankami i państwami. Z perspektywy programisty jest to bardzo proste API, że musi wyświetlić się formularz i numer karty z podaną kwotą i musi to zostać zaakceptowane. Co jest bardzo ważne – numery karty nigdy nie lądują na serwerze.
Musisz wiedzieć, że ludzie okradają nas na bardzo dużo pieniędzy. Wiem, brzmi to śmiesznie, ale takie są realia. Na początku byłem w szoku. Gdy idziemy do sklepu, to musimy wpisać kod pin, choć rzadko bo rzadko, ale zdarza się tak, że sprzedawca pyta nas, czy aby na pewno karta jest nasza. Może zażądać okazania dowodu osobistego. W internecie tak nie jest i wiele osób oszukuje kupując produkty i płacąc za nie kradzionymi kartami kredytowymi. Potem osoba, którą oszukano, przychodzi do banku, zgłasza kradzież i mówi, że nie kupowała produktu za – przykładowo – 10 tysięcy złotych. Bank mu oddaje te pieniądze, ale nie ze swojego budżetu, tylko zabiera nam. Tak, naprawdę – bardzo często tak jest. Jesteśmy winni my, gdyż dopuściliśmy do transakcji, która nie powinna mieć miejsca.
Naprawdę?
Tak, ale to nie jedyne oszustwa. Niektórzy zakładają fałszywy sklep. Ktoś zamawia deskorolkę, ale nigdy jej nie otrzymuje. Wtedy kupujący przychodzi do banku i mówi, że nie otrzymał zamówionego produktu. Stripe jest winny temu, że przepuścił transakcję z niewiarygodnym sklepem, który oszukuje swoich klientów. Obecnie pracuję w zespole, który szacuje, czy dany sklep jest wiarygodny. Jak długo sklep funkcjonuje, od kiedy jest i czy można mu zaufać. Nie jest to takie proste, ale przeważnie stronie, która działa długo można zaufać. Jeśli dopiero co powstała, to istnieje spore prawdopodobieństwo, że coś z nią jest nie tak i nastawiona jest na oszukiwanie klientów.
Czy wybór uczelni wyższej, w której jest wysoki poziom nauczania ma wpływ na to, w jaki sposób programista się rozwija?
Zdecydowanie. U mnie w szkole na Uniwersytecie Warszawskim poziom był wysoki. Mieliśmy wielu studentów, którzy wracali, czy to z Google, czy z Facebook’a i opowiadali o tym innym studentom, których jeszcze tam nie było. Każda ambitna osoba też chciała tam się dostać, przez co poziom podnosił się. To nie były tylko marzenia, aby pracować na drugim końcu świata w wielkiej firmie. To z czasem stawało się realne, bo przykłady kolegów pokazywały, że to wszystko jest do zrobienia. Gdy poszedłem na praktyki do Google, to takich osób było może ze 150. Teraz wszystko bardzo się rozwinęło i na praktyki przyjmowanych jest 1500 osób, więc wszystko w bardzo szybkim tempie ewoluuje.
Łatwo pewnie nie było dostać się do Google.
Oczywiście, łatwo nie było, ale jak w większości firm jest możliwość polecenia kogoś do pracy. I mnie polecił ten kolega, o którym przed chwilą wspomniałem. Wysłał maila i już chyba dwa dni później odezwała się do mnie pani i chciała ze mną porozmawiać. Bałem się, że nie jestem na takim poziomie, aby pracować w największej firmie informatycznej na świecie, ale, co ciekawe, cały proces rekrutacji odbył się przez telefon. Kilka dni później wiedziałem już, że rozpoczynam swoją przygodę z Google — dostałem się na trzymiesięczne praktyki.
Co trzeba umieć, żeby dostać się do zespołu Google?
Bardzo często zwraca się uwagę na to, w jaki sposób osoba zabiera się za zadanie. W jaki sposób myśli, którego chce dojść do rozwiązania danego problemu. My staramy się docenić pomysł i tok rozumowania, bo wtedy dostajemy jasny sygnał, że ta osoba dobrze pojmuje pewne zagadnienia. Nie zawsze jest tak, że ktoś, kto podczas rekrutacji przejdzie wszystkie jej etapy, jest zatrudniany u nas w firmie. Czasami po prostu trzeba się czymś wyróżniać. Mieliśmy kiedyś takiego gościa, który przez 10 lat studiował Filologię Angielską XIX wieku. Znał całą literaturę z tego kraju, serio był kozakiem. Potem cztery lata uczył się programowania i doszedł do poziomu, w którym jego umiejętności są na bardzo wysokim poziomie. O przyjęciu go do pracy zadecydowała znajomość literatury, czyli coś, co go wyróżniało na tle innych kandydatów. Pisze spośród wszystkich najlepsze dokumentacje. Dużo osób w Google poza tym, że jest dobre w swoim fachu, ma jeszcze coś wyjątkowego w sobie.
Jak potem potoczyły się twoje losy?
Chciałem w trakcie trwania roku akademickiego złapać jakieś praktyki w Polsce, ale niestety rozpiska zajęć na UW jest tak intensywna, że nie było na to czasu. Po roku znowu poleciałem na praktyki do Google, ale tym razem już sam siebie poleciłem – jest taka możliwość, to nie żart. Zebrałem bardzo dobre oceny za swój pierwszy pobyt w Google i sami do mnie pisali ludzie z zarządu, abym jeszcze raz do nich przyleciał, bo firma preferuje taki system. To jest właśnie fajne, że jak się raz wypłynie już na szerokie wody, to potem można wrócić. Nikt nie blokuje ponownego okresu próbnego i stawia się na już sprowadzonych pracowników.
Gdyby nie pomoc twojego kolegi, to do Google byś się nie dostał?
Nie wiem, trudno powiedzieć, na pewno lepiej mieć kogoś po swojej stronie. Dziś bym próbował, niepotrzebnie się bałem, aczkolwiek teraz patrzę na to wszystko z perspektywy czasu, więc może łatwiej mi mówić. Żeby było jasne – proces rekrutacji był bardzo trudny. Opowiedziałem go w skrócie, że przez telefon rozmowa i kilka dni później zacząłem pracę, ale to nie było takie banalne. Potem mój host powiedział mi dokładnie, co zadecydowało o tym, że to ja się dostałem i że to akurat mnie wybrano na praktyki.
Co zadecydowało?
Na pewno to, że już miałem spore doświadczenie w Aparton Software Presentation. To taka międzynarodowa fundacja amerykańska, jedna z pierwszych Open Sourcowych, która działają globalnie. Działałem tam jeszcze przed rozpoczęciem studiów, w ramach jednego projektu, dzięki któremu sporo się nauczyłem. Z czasem zostałem jednym z jej członków, do dziś współudziałowcem formalnie zarejestrowanym w sądzie itp. Jemu to się bardzo spodobało, że działałem wcześniej w takiej firmie i to zadecydowało, że chciał mnie wziąć i sprawdzić w Google.
Czym zajmowałeś się podczas praktyk w Google?
Zajmowałem się rozproszoną bazą danych opartą o Gita. Bardzo często jest tak w firmach typu Google, że pracownicy nie mają na coś czasu i czekają z wykonaniem pewnych zadań na praktykantów, którzy dzięki temu mają się uczyć. Miała być ona bardziej rozproszona, niekoniecznie wydajna. To miało być pod spodem systemu do Code Review, żeby ktoś sobie mógł odpalić to przykładowo na komputerze w samolocie. Chodziło o to, żeby pewne rzeczy móc robić offline, bez dostępu do internetu.
Po przetestowaniu Google nie chciałeś spróbować czegoś innego?
Potem miałem zamiar w większym stopniu zaangażować się w programowanie w Scali. Byłem już znudzony Javą, w której wcześniej programowałem. Nie chciałem wyjeżdżać co chwilę – dużo czasu traciłem na szukanie mieszkania itp. Chciałem raz zostać w Warszawie. Siedziałem na zajęciach i dostałem maila od Martina Odorskiego, twórcy Scali. Pomyślałem sobie, że ktoś robi sobie ze mnie jaja. Rozglądałem się po sali i szukałem tego śmieszka, kto mnie strollował. Okazało się, że Martin zapoznał się z moimi referencjami z praktyk w Google i bardzo chciał mnie pozyskać. Zapytał mnie już w lutym, co robię w wakacje i czy nie chcę do niego przyjechać do Szwajcarii. Po rozmowie na Skype zapytał mnie, czy nie chcę przeprowadzić się do Szwajcarii i tam kontynuować studiów. Niestety nie było to możliwe, bo już miałem jeden rok magisterki za sobą i nie dało się zrobić nic, żeby ten zaliczony rok nie przepadł. Tam musiałbym zaczynać magisterkę od nowa.
Jak długo trwał ten szwajcarski epizod?
Tak jak powiedziałem – Martin chciał, żebym przyjechał na całe studia. Zrobiliśmy tak, że po trzech miesiącach praktyk dogadaliśmy się z uczelnią, że na cały semestr, czyli sześć miesięcy, będę na takiej niby wymianie między uczelniami. Z tym, że w programie tym tylko ja brałem udział – nikt inny. Pisałem tam magisterkę, mimo że formalnie nie byłem tam na studiach. Gdy ją napisałem, to wróciłem do Polski, obroniłem się i znowu pojechałem do Szwajcarii, by tam pracować już na cały etat. Wiedziałem jednak, że będę leciał do Stanów, tylko czekałem na wizę. Byłem tam kolejne trzy miesiące, ale zdawałem sobie sprawę z tego, że niedługo drogi się rozejdą.
Co było dalej?
Potem wraz z moim kolegą Adrianem udaliśmy się do Stanów, chcieliśmy otworzyć swój biznes. Początkowo wahał się, ale w końcu udało mi się go przekonać, żebyśmy stworzyli zespół, który będzie zajmował się kompilatorem Scali. Chcieliśmy współpracować ze Szwajcarią. Zaczynaliśmy od przysłowiowego garażu, bo nie mieliśmy miejsca, w którym moglibyśmy na stałe rezydować. Dopiero rozglądaliśmy się za konkretną lokalizacją. Martin nie chciał być CEO, więc nasi inwestorzy zaczęli szukać kogoś, kto będzie naszym szefem. Mark Brower jest gościem, który znakomicie odnajdował się w biznesie. Rekrutacje nowych programistów, negocjowanie kolejnych umów biznesowych – on zajmował się takimi rzeczami i doskonale dawał sobie radę. Scala jest w Stanach bardzo popularna. To był jeden z czynników, dla których zdecydowaliśmy się iść w tym kierunku i zajmować się właśnie tym.
Jaka jest Twoim zdaniem przewaga Scali nad Javą?
Na pewno łączy programowanie obiektowe z funkcyjnym. Programowanie funkcyjne robi się coraz bardziej popularne od kilku lat. Dlaczego to jest popularne w Stanach? Ludzie tam lubią coraz bardziej nowoczesny software. Przykładowo cały backend Twittera jest zrobiony w Scali. Podejście Amerykanów było takie, że architekturę łatwiej się wyrażało w programowaniu funkcyjnym. Pomysły z programowania rozproszonego lepiej się realizuje w ten sposób.
Jaka jest twoim zdaniem przyszłość programowania funkcyjnego? Dlaczego jest coraz bardziej popularne, dlaczego wraca?
Właśnie dzięki programowaniu rozproszonemu i wielowątkowemu.
Zajmowałeś się komercjalizacją Scali?
Tak, ale mieliśmy na początku wiele wątpliwości odnośnie tego, ile osób będzie nią w ogóle zainteresowanych. Było dużo głosów dookoła, że nigdy Scala nie będzie popularna i nigdy się nie przyjmie. W tym momencie Scala ma 150 tysięcy programistów, którzy się nią zajmują. Stwierdziłem, że to jest odpowiedni moment, aby na tym poprzestać. Byłem zadowolony z tego rezultatu. Teraz już nikt nie kwestionuje jej przydatności, a zakres używalności Scali jest bardzo szeroki.
Można powiedzieć, że byłeś przez pewien czas biznesmenem? Musiałeś zajmować się wieloma rzeczami poza programowaniem.
Chyba można tak powiedzieć, bo zajmowałem się naprawdę wieloma rzeczami, a – tak jak już powiedziałem – zaczynaliśmy w Stanach od początku i miałem ogromny wpływ na to, jak to wszystko się stopniowo rozwijało. Brałem udział przy sprzedaży usług do wielkich firm na milion czy dwa miliony dolarów. Bardzo dużo się dzięki temu nauczyłem biznesowo. Jako programista nie miałem pojęcia, w jaki sposób pewne sprawy się załatwia.
Ale mimo wszystko zostałeś przy programowaniu i nie poszedłeś ścieżką biznesową.
Tak, to prawda. W San Francisco programista jest osobą o wysokim statusie społecznym. Zaryzykuję stwierdzeniem, że programiści są cenieni wyżej, niż ma to miejsce w innych miejscach na świecie. Dla ich mentalności te osoby budują. A każdy, kto tworzy i coś buduje, jest wyjątkowy, jest wartościowy i należy go szanować. Gdybym policzył, ile linijek kodu napisałem w ciągu ostatnich kilku miesięcy, to może by ich było z 30. Naprawdę, coraz mniej tego robię. Dobrze się czuję natomiast na pograniczu biznesu i programowania. W samym biznesie nie, ale coraz mniej mam zajęć stricte programistycznych. Lubię te środowisko, wywodzę się z niego, ale coraz mniej czasu spędzam przy klawiaturze tworząc kody.
Masz 30 lat i pomału odchodzisz od programowania, a zaczynasz być bardziej uniwersalny i zajmujesz się wieloma innymi rzeczami cały czas pamiętając jednak o programowaniu. Czy można powiedzieć, że w pewnym wieku przyszedł u ciebie kryzys? Często programiści mają podobnie – z czasem zaczynają zajmować się wieloma innymi rzeczami.
U mnie na pewno nie pojawił się kryzys, ale w międzyczasie nabrałem wiele „umiejętności miękkich”, które z czasem zacząłem wykorzystywać w pracy. W 2009 roku poleciałem do Stanów i poznałem szefa działu research w Google. Znakomity gość, który robił doktorat w informatyki, z zawodu jest programistą, a był doskonały w komunikacji, prowadzeniu spotkań, potrafił dużo rzeczy załatwić, miał smykałkę do interesów. Wtedy zobaczyłem, że poza klepaniem kodu trzeba uczyć się innych rzeczy, które z czasem będą mi bardzo potrzebne.
Czym jeszcze się zajmujesz?
Powiem nieskromnie, że w środowisku kompilatorów może nie jestem w pierwszej dziesiątce najlepszych ludzi na świecie, ale znam wszystkich, którzy się w niej znajdują. Dostałem się do Google Brain’a, ale koniec końców do niego nie poszedłem, poszedłem do Stripe’a. Brain jest najbardziej prestiżowym zespołem Google’a, zajmuje się sztuczną inteligencją, a ja nie mam żadnego doświadczenia w tej dziedzinie. Dostałem się tam pomimo tego, że wiele osób, które kończą doktoraty w tej dziedzinie nie mogli tam się dostać. Główną wartość, którą wnoszę do swojego zespołu jest to, że rozumiem jak wdrażać architektonicznie te systemy, ponieważ doskonale rozumiem w jaki sposób działają poszczególne języki programowania. Machine learningu uczę się od innych ludzi, którzy są w tej dziedzinie ekspertami.
Co decyduje w świecie programistów o tym, którą z dróg się wybiera?
Na pewno trzeba robić to, co się lubi. W Google często powtarza się, że trzeba być w czymś najlepszym na świecie. Trudno być numerem jeden, gdy się danej dziedziny nie lubi. Ważne jest, aby na samym początku robić wszystko, żeby być bardzo dobrym w swojej dziedzinie. Dzięki temu można dołączyć do środowiska ludzi, którzy prezentują pewien poziom. Znają się na czymś. Zauważyłem, że w tej branży, nawet ludzie z innych dziedzin bardzo blisko się trzymają ze sobą. Sztuką jest się w tym środowisku obracać i tych ludzi znać. Być jedną z tych osób.
Czym zajmuje się Brain?
Rozwiązywaniem zagadnień ze sztucznej inteligencji. Jest zarządzany przez najlepszego programistę jakiego znam. Nikt, kogo poznałem, nie zrobił aż takiej kariery w tym zawodzie. Steruje najbardziej prestiżowym zespołem w całym Google, do którego dostać się marzy każdy programista na świecie. W Brainie jest taki projekt o nazwie „TenserFlow”, który jest bardzo popularny w Dolinie Krzemowej. Ja zawsze byłem mocny w kompilatorach i maszynach wirtualnych – wiedziałem, w jaki sposób to działa i co się z czego bierze. Patrząc na ten projekt miałem wrażenie, że ten projekt pójdzie właśnie w kierunku podobnym do maszyn wirtualnych. Wypisałem sobie listę powodów, dla których pisanie nowej maszyny ma sens, ale musiałem pamiętać o tym, że programy, które powstają w Deep Learningu powstają zupełnie inaczej niż te zwykłe, klasyczne.
Napisałem do ludzi z TensorFlow maila ze swoim pomysłem, co bym wprowadził i jakie zmiany chciałbym wdrożyć w usprawnieniu jego funkcjonowania. Po 20 minutach dostałem maila, że szef tego projektu chce się ze mną spotkać i porozmawiać. Widzieliśmy się następnego dnia, a ja przez godzinę opowiadałem mu o tym, co chciałbym zrobić. Okazało się, że wymieniłem wszystko to, nad czym oni chcieli pracować przez najbliższy rok, ale brakowało im osób, które się tym zajmą. W ciągu dwóch dni zatem odbyliśmy proces rekrutacji z pominięciem wszystkiego tego, co wchodzi w skład standardowej rekrutacji – nie było tych wszystkich etapów itp. Puenta z tej historii jest taka, że sam sobie stworzyłem stanowisko pracy. Im coś świtało, mieli jakiś plan, ale brakowało wykrystalizowanej wizji, w jaki sposób ma to działać. Pojawiłem się ja i niejako pomogłem im, wyszedłem naprzeciwko ich potrzeb.
Czym się obecnie zajmujesz?
Robię research tego, co warto zaprogramować. Czym warto się zająć, żeby praca miała sens i nie zajmowała się zwykłym klepaniem, które może nie mieć sensu. Do programowania wrócę, to pewne, ale na naprawdę fajny, ciekawy projekt.
Grzegorz, jak się żyje w San Francisco?
Pierwsza rzecz, o której pomyślałem, to na pewno to, że jest tu bardzo drogo. Za wynajęcie mieszkania trzeba zapłacić około pięciu tysięcy dolarów miesięcznie. I to nie w jakimś super standardzie. Za dobry stan około siedmiu, ośmiu tysięcy. Mieszkam ze swoim kolegą, Filipem, bo odnoszę wrażenie, że tylko milionerzy i bardzo bogaci ludzie mogą sobie pozwolić na to, żeby mieszkać samemu w dobrej lokalizacji w naprawdę fajnym mieszkaniu. Na pewno mnie osobiście męczy to, że tu każdy obraca się w świecie technologii. Gdy idziesz do baru, to masz pewność, że na pewno ktoś pracował przy technologii HTML5 lub podczas innego dużego projektu.
Fascynujące jest to, że tu jest tak dużo osób robiących na co dzień te same rzeczy. Śmieję się czasami, że dlatego Stripe zatrudnia osoby po filologii angielskiej, bo chce wprowadzić w swoje szeregi trochę kolorytu. Na razie jednak nie zamierzam się stąd wyprowadzać, gdyż mieszkam w San Francisco tak naprawdę dopiero od pięciu miesięcy. Dużo musiałem nachodzić się za wizą, która też sporo kosztowała, więc z dnia na dzień nie spakuję walizek i nie wrócę tak po prostu do Polski.
Łatwiej jest się nauczyć Scali z książek czy przez internet?
Ja się nauczyłem Scali z książki „Programming in Scala” – to jest taka gruba cegła. Gdy ktoś chce się nauczyć od podstaw i bardzo dokładnie tego języka, to jest to bardzo przydatne. Do tego jest bardzo fajny kurs, który za darmo można pobrać z internetu i który też bardzo dużo mi dał. Co tydzień jest nowe wideo, które można obejrzeć i sporo rzeczy się dzięki temu nauczyć.
Co myślisz o samej przyszłości programowania?
Jest sporo opinii, że niedługo programy będą same się pisały i programiści w ogóle nie będą potrzebni. Nie wierzę jednak w to, że deep learning przejmie całe programowanie. Klasyczne programowanie na pewno zostanie. Wzrost nowych dziedzin spowoduje rozwój machine learningu i wydaje się, że deep learning to jest najbardziej obiecująca poddziedzina machine learningu. Dużo programowania będzie skupionego wokół przetwarzania danych, które są nieustrukturalizowane np. przetwarzanie tekstu, obrazu itp.
Czy ty, korzystając ze swojego doświadczenia, od razu młodym programistom radziłbyś aplikować do firm z Doliny Krzemowej, czy mimo wszystko szukania punktu zaczepienia w mniejszych polskich firmach?
Nigdy nie pracowałem w Polsce, więc nie wiem, jak to dokładnie wygląda, ale na pewno nie szkodzi spróbować aplikować do dużych firm. Gdy poziom okaże się zbyt wysoki, to wtedy można zrobić mały krok do tyłu i rozwijać się w mniejszej firmie. Powiedziałem już to kilkukrotnie – ważne, żeby być najlepszym w swojej specjalizacji. Robić wszystko, żeby tak się działo. Nawet w mniejszej firmie podnosić swoje umiejętności i z czasem piąć się w górę.