O stażu w chirurgii i o tym, dlaczego tam wyjechałem
Mam 33 lata i pochodzę z Republiki Kałmucji (obok Astrachania, Wołgogradu, Czeczenii i Dagestanu). W wieku 17 lat wstąpiłem na Wydział Lekarski RUDN ( Uniwersytet Przyjaźni Narodów Rosyjskiej - red.) i przeniosłem się do Moskwy, skąd w wieku 28 lat przeniosłem się do Australii (opowiem o tym nieco później). Studiowałem, jak wszyscy lekarze, przez 6 lat. Po uzyskaniu dyplomu specjalizacji została przyjęta na oddział chirurgii ogólnej Miejskiego Szpitala Klinicznego nr 64, gdzie przez kilka miesięcy pracowała na stanowisku chirurga-stażysty. Ponieważ w szpitalu było dużo pracy i od drugiego roku pracowałam na pół etatu w branży restauracyjnej jako kelner, barman czy barista – nie skończyłam stażu i rzuciłam się w wir gastronomii i podróżowania dookoła świata. Oceńcie sami – po odbyciu stażu młody lekarz otrzymuje 25 tysięcy rubli, a pracując jako barista otrzymałem 30-80 tysięcy rubli (na początku kariery zarabiałem 30 tysięcy, a im więcej doświadczenia zdobywałem jako barista , tym wyższa była moja pensja). Ponieważ płatność jest godzinowa, można było ciężko pracować i za 300 godzin miesięcznie można było dostać tyle, o czym lekarze nawet nie marzyli. Ponadto, ze względu na elastyczny grafik, zawsze można było zorganizować mini-wakacje i wylecieć za granicę na tydzień. W ogóle lubiłem swoją pracę i styl życia, nie myślałem o medycynie (a tym bardziej o programowaniu, które było dla mnie losem geniuszy i „bogów”).O przeprowadzce do Australii
Dużo podróżowałem. Kiedy w 2014 roku przyjechałam do Australii, poznałam mojego przyszłego męża. Wyszła za mąż i przeprowadziła się tu w 2016 roku. Nie żyliśmy długo i rozwiedliśmy się dość szybko: zostałem sam, bez rodziny i przyjaciół w obcym kraju. Kontynuując pracę tutaj jako barista, zacząłem martwić się o przyszłość, zbliżały się moje trzydzieste urodziny i zacząłem zdawać sobie sprawę, że nie wytrzymam długo w branży restauracyjnej. Przyczynami jest duża aktywność fizyczna i mała kreatywność w zawodzie. I ogólnie jakoś zacząłem czuć się niezręcznie w otoczeniu dwudziestolatków. Ponadto, chociaż barista zarabia tutaj znacznie więcej niż w Rosji, nie ma nadgodzin. Przy standardowym pięciodniowym i ośmiogodzinnym tygodniu pracy nierealne jest przepracowanie tutaj 300 godzin - wynagrodzenie jest nieco powyżej minimum (nadal można normalnie żyć, ponieważ płaci się niewielkie podatki ze względu na progresywny system podatkowy). Ogólnie rzecz biorąc, jeśli porównasz tę pracę z innymi, zawód baristy traci całkiem sporo. I tak zacząłem myśleć...Jak zacząłem programować
Na początku myślałem o powrocie na medycynę i złożyłem podanie na University of People – uczelnię non-profit zajmującą się kształceniem na odległość w USA na specjalność Nauki o zdrowiu. Szkolenie jest bezpłatne, trzeba jedynie zapłacić za egzaminy (jest ich tylko 16 na 4 lata nauki) i za załatwienie dokumentów za 100 dolarów – czyli wychodzi 1700 dolarów przez 4 lata, czyli prawie za darmo . Skończyłem pierwszy „semestr” przygotowawczy, gdzie uczyli angielskiego, jak napisać esej, jak poprawnie cytować źródła, jak uniknąć plagiatu, zdałem egzamin i zacząłem myśleć na nowo… Potem serial „ Pan Robot ” miał po prostu wyszedłem i stałem się jego wielkim fanem. Ogólnie rzecz biorąc, zawsze pociągał mnie temat programowania: sam instalowałem oprogramowanie, zastanawiałem się, jak „złamać” Worda i inne programy, surfowanie po Internecie zawsze zajmowało 50% mojego czasu. A w pracy byli ulubieni stali klienci – wesołe dewotki z Poczty Australijskiej. Zniszczyli stereotyp nietowarzyskiego i błyskotliwego programisty. Zacząłem powoli dowiadywać się wszystkiego o zawodzie: zacząłem od wpisu na Facebooku, gdzie poprosiłem o rekomendacje zasobów dotyczących programowania, potem zacząłem chodzić na spotkania dla programistów, nic nie rozumiałem, ale otrzymałem wiele cenna rada. Na jednym z takich spotkań poznałem dziewczynę ze zmiany. Jeździła ciężarówkami dla firmy wydobywczej i pracowała na zmianę, potem znudziło jej się to życie, w 3 miesiące ukończyła bootcamp i z sukcesem dostała pracę w największym biurze rachunkowym w Australii i Nowej Zelandii. Ta dziewczyna (i inne przełączacze) zainspirowała mnie tak bardzo, że zdecydowałem, że nadszedł czas! Na początku chciałem przenieść się na Uniwersytet Ludowy na informatykę, ale powiedzieli mi: „Po co marnujesz czas, idź na bootcamp, a potem od razu zdobywaj doświadczenie w pracy”.Jaki język programowania wybrałeś i dlaczego?
Zacząłem, jak wszyscy, od HTML, CSS, JavaScript. No właściwie, co byśmy bez nich zrobili? Nawet jeśli zamierzasz zostać programistą wyłącznie backendowym, nadal będziesz potrzebować minimalnych umiejętności frontendowych do projektów pobocznych, bo inaczej jak możesz popisywać się przed znajomymi :) Ogólnie rzecz biorąc, prawdopodobnie mam zacięcie komercyjne i cenię to Pomysł na moją aplikację, więc front-end był dla mnie koniecznością. Ale ogólnie bardziej skłaniałem się ku backendowi, ponieważ zadania z nim związane są ciekawsze i nie trzeba dostosowywać się do różnych przeglądarek i martwić się o dostępność (dostępność - przyp. red.). Dlatego zdecydowałem, że skoncentruję się na JavaScript, gdyż w frontendzie nie ma bez niego miejsca, a w backendzie można go wykorzystać w przebraniu NodeJS. Ale kiedy pojechałem na bootcamp, musiałem przejść na Ruby, ponieważ poświęcano jej większość czasu. W pracy głównym językiem był golang.O tym jak się uczyłem: źródła, kursy, ukończenie bootcampu
O mentorach – miałem znajomego, który pracował jako programista w erze przed Google, a potem zajął się biznesem. Mógłbym zadawać mu ogólne pytania dotyczące sieci, projektowania komputerów, różnych protokołów itp. Nie mogłem zadać więcej pytań dotyczących konkretnego języka, ale mimo to pomogło mi to niesamowicie. Podczas spotkań zadawałem pytania dotyczące języka – bezpośrednio podchodziłem do różnych osób z kartką papieru i prosiłem o pomoc. Jeśli nie zaczniesz od poproszenia o pomoc, ale podejdziesz do rozmowy i zachowasz się odpowiednio, nikt nie odmówi. Programiści na ogół okazali się ludźmi responsywnymi i cierpliwymi. Ponadto w Australii ruch Women in STEM jest bardzo potężny i wszyscy starają się pomóc kobietom. Uczyłem się w okresach:-
„Swobodne pływanie”. Na samym początku nie ograniczałem się w niczym - „pływałem” po Internecie i czytałem historie innych switcherów, czytałem artykuły o tym, co kryje się w komputerze i jak działa Internet, o startupach i jakie zawody się w nich znajdują ogólnie w IT. Zapoznałem się z terminami i zapisałem przydatne zasoby. W jednym z artykułów napisano, że mam chodzić na spotkania i rozmawiać z ludźmi, więc zacząłem chodzić i rozmawiać. Więc zdałem sobie sprawę, że muszę pojechać na bootcamp, dowiedziałem się, jaki jest dobry. Wskazali mi także kilka dobrych zasobów.
- FreeCodeCamp i Treehouse to dwa z moich głównych zasobów podczas nauki. Jest tam mnóstwo zadań, które będą trwać przez długi czas. Pisałem głównie kod w HTML, CSS, JS i zacząłem już swoją pierwszą znajomość z API, kupiłem pierwszą domenę, a potem zaczęły się jakieś śmieszne projekty. freeCodeCamp organizuje w niektórych krajach własne spotkania dla osób biorących udział w kursach.
-
Obóz dla rekrutów. Skończyło się na tym, że udałem się na Walne Zgromadzenie . Czas trwania bootcampu wynosi 3 miesiące, koszt to 15,5 tys. dolarów australijskich (lub 12 tys. dolarów amerykańskich). Stos technologii - JS, Ruby, Sinatra, Ruby on Rails, JQuery, Backbone, React, SQL. Bootcamp był całkowicie offline: teraz taki luksus trudno sobie nawet wyobrazić. Było nas 25 osób i trzech instruktorów (jeden główny i dwóch asystentów) oraz dziewczyna-konsultantka ds. CV i portali społecznościowych (LinkedIn). Zajęcia rozpoczynały się o godzinie 9:00-9:30 i kończyły się o godzinie 17:00-18:00 oczywiście z przerwą na lunch. Podczas bootcampu wykonaliśmy 4 projekty - dwa indywidualne i dwa zespołowe. Pierwsza to Tic Tac Toe z JS, druga to platforma do dzielenia się wskazówkami baristy z Sinatrą (framework Ruby), trzecia to witryna z recenzjami nieruchomości z Railsami i Google API, czwarta to Bitcoin Arbitrage z React. Można było zaproponować własne pomysły na projekt, a w przypadku projektów zespołowych należało przygotować prezentację, prezentację w celu rekrutacji członków zespołu.
-
Przygotowanie do rozmów kwalifikacyjnych, szlifowanie portfolio. Kontynuowałem pracę nad tymi czterema projektami i zdecydowałem się zbudować małą aplikację na platformę Shopify służącą do obliczania kosztu towaru ( kosztu sprzedanego towaru – przyp. red.). Było to bardzo dobre doświadczenie, gdyż miałem do czynienia z poważnym i bogatym API tak renomowanej platformy jak Shopify.
O planie studiów i systematycznym szkoleniu
Ponieważ pracowałam jako barista, miałam dość napięty grafik treningów – pracowałam w godzinach 8:00-16:30, a uczyłam się w godzinach 17:00-19:00, czyli był jeszcze czas na obejrzenie serialu czy bieganie wieczór. W weekendy mogłem uczyć się cały dzień i wychodzić gdzieś, żeby spędzać wolny czas, gdy karty spadały. Nie zmuszałem się zbytnio do nauki; powiedziano mi, że nauka programowania jest jak jedzenie słonia: trochę każdego dnia. Bałem się, że przy takim podejściu nigdy niczego się nie nauczę – świat programowania wydaje się taki nieskończony (i ten strach pozostał do dziś). Ale patrząc wstecz, widzę ogromny postęp i nawet jeśli uczysz się dwie godziny dziennie, ale konsekwentnie, na postęp na pewno nie trzeba długo czekać. Na początku w moim treningu nie było żadnego systemu. Po prostu surfowałem po Internecie i próbowałem zrozumieć o co chodzi, dużo rozmawiałem z ludźmi, zapisywałem swoje głupie pytania i zadawałem je każdemu, kogo udało mi się złapać na spotkaniu. Kiedy już zacząłem robić zadania z freeCodeCamp i Team Treehouse, pojawił się jakiś system: w końcu są to dość uporządkowane kursy. Najbardziej systematyczne szkolenie odbyło się na bootcampie. Przejrzysty program i cały dzień nauki, ale to oczywiście bardzo kosztowna przyjemność.O tym, gdzie dostałem pracę po studiach
Pracuję dla Zendesk, największej firmy w branży oprogramowania helpdesk. Naszymi klientami są m.in. Uber, Netflix, Airbnb. Łącznie firma zatrudnia ponad tysiąc inżynierów i ponad 300 mikroserwisów. Oznacza to, że jest to duża firma z bardzo wyspecjalizowaną kadrą: mamy własnych inżynierów obliczeniowych, brzegowych, fundamentowych, a także całodobowe „kryzysowe” centrum operacyjne, które opiekuje się jej majątkiem. Teoretycznie nie miałem uruchamiać procesów przejściowych, przygotowywać nowych serwerów do działania, ani być inżynierem operacyjnym, ale jednak życie mnie zmusiło. Zatrudnili mnie na stanowisko Associate Software Engineer (młodszy inżynier oprogramowania – red.) lub Zen 1, według lokalnych standardów. Myślałem, że będę pod ścisłą obserwacją i nie zostanie dopuszczony do pracy nad kodem produkcyjnym, jednak tak się nie stało: zaledwie dwa tygodnie po skonfigurowaniu środowiska i wykładach onboardingowych pozwolono mi wybrać karty Jira ze sprintu i pracować nad tymi samymi zadaniami, co inni inżynierowie. Oczywiście pracy w parach z innymi programistami było dużo, a kod musiał przejść co najmniej dwie recenzje od innych inżynierów, plus maksymalnie testy jednostkowe i integracyjne. Byłem jednak podekscytowany możliwością pracy nad tymi samymi zadaniami, co doświadczeni inżynierowie w moim zespole. Zasadniczo pracowałem w backendzie z Golangiem, w którym z czasem pokochałem go jak własnego. Udało mi się dość blisko współpracować z Kafką i egzotycznymi bazami danych - BigTable i DynamoDB. Przede wszystkim lubię pracować z metrykami i prowadzić dochodzenia w sprawie wszelkiego rodzaju alertów i błędów, to jest jak kryminał, bardzo interesujące.- Zen 0 (stażysta),
- Zen 1 (zastępca inżyniera oprogramowania),
- Zen 2 (inżynier oprogramowania),
- Zen 3 (starszy inżynier oprogramowania),
- Zen 4 (inżynier sztabowy),
- Zen 5 (starszy inżynier sztabowy),
- Zen 6 (główny inżynier),
- Zen 7 (architekt).
GO TO FULL VERSION