Wiza H-1B: Podróż programisty iOS z Hondurasu do Doliny Krzemowej
Opublikowany: 2022-03-11Obecnie mieszkam w wielkim mieście San Francisco. Mam pracę programistyczną na iOS, którą uwielbiam i o której marzyłem od dawna. Teraz wszystko wydaje się łatwe, ale nie zawsze tak było.
Jak to się wszystko zaczęło
Urodziłem się w San Pedro Sula, małym miasteczku w północno-zachodnim zakątku Hondurasu. Zacząłem programować w wieku 12 lat. Wszystko zaczęło się od BASIC. Pewnego dnia grałem w grę wideo i się zawiesił. Kiedy zobaczyłem ekran pełen kodów błędów i komunikatów, zaciekawiło mnie to — zacząłem więc uczyć się kilku poleceń BASIC, co ostatecznie doprowadziło do zakupu książek o programowaniu na temat Clippera, Turbo Pascala, C, C++ itp. Było świetnie. Miałam cały czas na świecie, żeby kodować wszystko, co chciałam: żadnych ograniczeń czasowych (poza szkołą, która nie była tak wymagająca jak praca na pełen etat) ani obowiązków dorosłych.
Kilka lat później, w wieku 15 lat, mój ojciec miał problemy z jakimś niechlujnym oprogramowaniem księgowym. Powiedziałem mu, że mógłbym stworzyć lepszą wersję — bez prawdziwego zrozumienia, w co naprawdę się pakuję (nigdy nawet nie otwierałem bazy danych SQL). Kupiłem więc więcej książek i zabrałem się do pracy. (Uwaga: to było w czasie, gdy Internet nie był tak powszechny jak dzisiaj: mieszkałem w kraju trzeciego świata, a Internet pojawił się dopiero pod koniec 1997 roku, 5 lat po tym, jak zacząłem programować).
Marzenia i ambicje życia w USA
Pamiętam, jak mówiłem sobie: „Chcę być inżynierem komputerowym”. Oczywiście nie miałem pojęcia, co to oznacza, ale wiedziałem, że lubię komputery (mówię o tych starych kwadratowych, zielonych monitorach, powolnych pecetach z DOS-em – straszne, oczywiście, teraz, gdy mamy te wszystkie błyszczące nowe systemy operacyjne).
Więc jako naiwny dwudziestoparolatek zdecydowałem, że chcę wyemigrować do Stanów Zjednoczonych – to oczywiście długa i wyboista droga.
Bardzo dobrze pamiętam, że podczas mojej drugiej lub trzeciej podróży do USA (przyjeżdżaliśmy na wakacje) zdecydowałam, że chcę tam zamieszkać. Wszystko było tak zaawansowane! Oczywiście dzisiaj, w czasach globalizacji i Internetu, różnice nie są aż tak ogromne, ale luki we wzroście i postępie nadal można dostrzec w rozwoju infrastruktury, niestabilności politycznej, wskaźnikach przestępczości itp.
Więc jako naiwny dwudziestoparolatek zdecydowałem, że chcę wyemigrować do Stanów Zjednoczonych – to oczywiście długa i wyboista droga.
W tym czasie mój ojciec prowadził firmę księgową i zaczęli mieć problemy z oprogramowaniem księgowym. Deweloper był uparty i nie chciał pomagać, więc mój ojciec zaczął szukać alternatyw. Chciał, żebym zaczął pracować jako programista, więc poszedł na lokalny uniwersytet – jedyne miejsce, gdzie sprzedawano zaawansowane książki o programowaniu – i załadował zasoby. Był to dla mnie nowy świat: miałem jeden z tych nowych (w tamtym czasie) zielonych monitorów PC z procesorem 5 MHz, 256 kb pamięci i 10 MB miejsca na dysku twardym. Wykorzystał te stare, mechaniczne krążki, więc słychać było wszystko, co przetwarzał dysk twardy. Klawiatura była mechaniczna, a dźwięk każdego naciśnięcia klawisza był przyjemny do słuchania. 10 lat do przodu i nadal pracuję nad tym samym oprogramowaniem księgowym; teraz jednak sprzedawałem go klientom, z interfejsem Windows, bazą danych SQL i łącznością z Internetem.
Będzie spłukany
W tym czasie postanowiłem rzucić szkołę i założyć własną firmę. Pracowałem z ojcem w pewnym sensie: dzieliliśmy zarobki na zarabianie w programie księgowym (choć to był mój pomysł i realizacja, zainwestował dużo czasu ucząc mnie rachunkowości). Rozstaliśmy się więc: on nadal sprzedawał aktualną wersję oprogramowania, a ja poszedłem stworzyć nową. Ale jak wkrótce się dowiem, biznes rozwoju oprogramowania w Hondurasie to nie spacer po parku: klienci nie chcą płacić za twoje usługi i zawsze postrzegają tworzenie oprogramowania jako stosunkowo łatwe zadanie, biorąc pod uwagę, że nie wymaga praca z produktem materialnym; często nie dostrzegają wartości oprogramowania, ponieważ nie generuje ono natychmiastowych przychodów, co jeszcze bardziej utrudnia sprzedaż.
Z biznesowego punktu widzenia zatrudniłem kilku najlepszych studentów (których znalazłem po powrocie na studia). Ale z biegiem czasu zacząłem nosić zbyt wiele kapeluszy: CEO, księgowy, HR Rep, Customer Service & Support, Project Manager i (mój ulubiony) Developer. Naprawdę chciałem po prostu kodować, ale stało się to zbyt trudne, ponieważ wszystkie te kapelusze mnie wyczerpały. W końcu napotkaliśmy problemy, ponieważ nasi klienci nie płacili na czas i mieliśmy problemy ze znalezieniem nowych projektów: kiedy masz najlepszych talentów, chcą dobrze zarabiać, a my dobrze płaciliśmy; ale nasi klienci nie reagowali tak, jak się spodziewaliśmy. Poza tym życie w kraju trzeciego świata zniechęciło inwestorów. Powinienem był to przewidzieć i zastosować inny model biznesowy, ale byłem zbyt zajęty żonglowaniem wszystkimi moimi rolami. Ostatecznie firma zbankrutowała, a ja zostałem z toną długów, wściekłych pracowników i kwaśnym posmakiem w ustach. Musiałem zacząć od początku.
iPhone SDK uczynił mnie niezależnym programistą iOS
150 tys. płatnych pobrań aplikacji później, okazało się, że mam rację.
Najważniejsze jest to, jak podnosimy się ponownie w obliczu porażki i jak uczymy się na własnych błędach. To zniechęcające zacząć od nowa, przemyśleć wszystko od nowa, ale to właśnie musiałem zrobić. Moja żona pomogła mi przejść przez te trudne chwile i popchnęła mnie do robienia rzeczy, do których myślałem, że nie jestem w stanie. Zacząłem więc ponownie pracować nad moim oprogramowaniem księgowym, ale bez pieniędzy na marketing było to zbyt trudne do promowania. Dochody były niewielkie i musiałem utrzymać rodzinę. Musiałem zmienić biegi. Mniej więcej w tym samym czasie Apple wprowadził zestaw SDK dla iPhone'a. Brzmiało to dla mnie jak ryzykowna nowa platforma; plus, byłem nowy w samym Macu. (Moje przejście na Maca zaczęło się od iPhone'a i Hackintosha, który pozwolił mi posmakować OS X bez wyrzucania drogiego komputera.) Niektórzy z moich znajomych śmiali się i całkowicie mnie ignorowali, kiedy powiedziałem, że zamierzam tworzyć aplikacje na iOS dla iPhone'a; ale naprawdę wierzyłem, że w App Store można zarobić. 150 tys. płatnych pobrań aplikacji później, okazało się, że mam rację; chociaż oczywiście same te liczby nie mówią wszystkiego: ekonomia App Store jest złożona i naprawdę musisz zainwestować w swój produkt i znaleźć klientów, aby stworzyć długoterminową wartość. Do tego potrzebujesz zespołu. Tak więc, mimo że moja aplikacja radziła sobie dobrze, dalsze samodzielne rozwijanie nie było możliwe (z biznesowego punktu widzenia). Mimo wszystko udowodniłem, co potrafię – więc pewnego dnia obudziłem się i powiedziałem sobie, że w końcu wyemigruję do USA.
Jak się dowiedziałem, emigracja do USA nie była łatwym zadaniem. Prawdopodobnie najprostszą drogą jest uzyskanie Zielonej Karty przez członka rodziny, ale moją najbliższą opcją był mój brat, który urodził się w USA; jednak mieszkał z nami w Hondurasie i nie mógł prosić o nikogo, ponieważ nie pracował w tym czasie. A nawet gdyby mógł, proces trwałby nawet 15 lat (Uwaga: relacje rodzeństwa mają najmniej preferencji dla sponsorowania przez członków rodziny Zielonej Karty). Moje rozwiązanie polegało na stworzeniu amerykańskiej firmy jako programista iOS. Zainwestowałem w przyjaciela i zaczęliśmy tworzyć gry na iPhone'a i iPada. Na papierze wszystko wyglądało świetnie; ale oczywiście ekonomia App Store udowodniłaby nam, że się mylimy. Wkrótce potrzebowaliśmy więcej pieniędzy; mój przyjaciel tego nie przewidział. W końcu opublikowaliśmy jedną aplikację na iOS (druga była w fazie rozwoju, ale nigdy nie została sfinalizowana z powodu problemów z finansowaniem). Znowu sprawy wyglądały ponuro. Postanowiłem kontynuować to, co uważałem za moje ostatnie źródło: pracować na pełny etat lub jako wolny strzelec dla amerykańskiej firmy i mieć nadzieję, że praca w H-1B podąży za nią.

Zatrudnienie
Ciężko jest zostać zatrudnionym przez amerykańską firmę z zagranicy. Aplikowałem na kilka stanowisk, ale ich pierwszym problemem było to, że wymagałem międzynarodowej relokacji: musieliby złożyć petycję i zasponsorować mnie poprzez wizę pracowniczą. Proces był kosztowny pod względem czasu (do roku, jeśli wiza nie jest dostępna w tym czasie) i pieniędzy (tj. opłat prawnych). Zamiast tego zacząłem szukać pracy za pośrednictwem internetowej witryny freelancerskiej dla programistów iOS. W teorii to dobra usługa. Ale najpierw musisz zacząć budować zaufanie – co jest trudne. Istnieją również rzesze programistów, którzy pobierają niższe niż przeciętne opłaty tylko po to, by zostać zauważonym; z tego powodu trudno jest dobrze zarabiać. Skończyło się na tym, że wykonałem tylko jeden projekt za pośrednictwem strony, wart 8 godzin pracy.
Później skontaktował się ze mną Toptal z całkiem niezłą okazją: zatrudniają świetnych niezależnych programistów i łączą ich z klientami. Poza tym mogłem pracować z domu i dla amerykańskiej firmy. Pojawiłem się na ich radarze dzięki mojej pracy w App Store, ale nadal musiałem przejść rygorystyczny proces weryfikacji, robiąc wszystko, od czytania ze zrozumieniem po ciekawostki programistyczne, od optymalizacji algorytmów po sesje kodowania czasowego. Najbardziej utkwił mi w pamięci ostatni wywiad, który obejmował omówienie jednego z moich projektów rozwojowych iOS i przeprowadzenie inżyniera Toptal przez część mojego kodu, aby udowodnić, że to naprawdę mój.
Po tym, jak Toptal zaakceptował mnie do swojej sieci programistów, zostałem umieszczony na liście oczekujących. Gdy klient wykaże zainteresowanie konkretnym deweloperem, przeprowadzi z nim rozmowę kwalifikacyjną (jak w przypadku każdej normalnej rozmowy kwalifikacyjnej), aby upewnić się, że dobrze pasuje. Przed pierwszym wywiadem byłem dość zdenerwowany. Zaczęło się od tego, że klient wyjaśnił, czego się ode mnie oczekuje, a także cały projekt i cały czas zadawał pytania, aby sprawdzić, czy wszystko zrozumiałem. W miarę postępu wywiadu sprawy nie szły tak dobrze, jak się spodziewałem, ponieważ pytania stawały się bardziej szczegółowe i techniczne. Skończyło się na tym, że poszli z kimś innym. Z perspektywy czasu było wspaniale, że mnie nie chcieli: tydzień później przeprowadziłem wywiad z tym, co w końcu miało zostać moim pełnoetatowym sponsorem i pracodawcą H-1B.
Mocniej przygotowałem się do kolejnego wywiadu, który przebiegł tak, jak mogłem się spodziewać: rozmawialiśmy więcej o moim doświadczeniu jako programisty, a firma zapoznała się z moim podejściem do rozwiązywania problemów. Trzy dni później miałem podpisaną umowę i zacząłem pracować dla tego nowego klienta przez Toptal.
Pracowałem dla Life360 freelance przez Toptal przez co najmniej 9 miesięcy. Ich flagowym produktem jest aplikacja mobilna do lokalizowania rodzin, ale początkowo pracowałem sam nad kilkoma projektami pobocznymi: po pierwsze, aplikacja ostrzegająca o trzęsieniach ziemi; a po drugie, skaner policyjny. Przez kilka miesięcy mój przepływ pracy składał się głównie z: otrzymywania wymagań wysokiego poziomu z Life360, odsyłania makiet i pytań oraz integrowania ich opinii z tymi aplikacjami, powtarzania tej pętli kilka razy. Miałem kontakt z projektantem i kilkoma pracownikami Life360 (firma miała wtedy tylko pięciu lub sześciu), ale miałam dużą autonomię. Praca z domu była wyzwalająca: nie musiałam dojeżdżać do pracy i stworzyłam środowisko wolne od rozpraszania się, które uczyniło mnie świetnym pracownikiem zdalnym.
Wkrótce poczułem się coraz bardziej zintegrowany z zespołem — udowodniłem swoją wartość, że tak powiem, dzięki tym dwóm początkowym niezależnym projektom iOS. W grudniu zapytano mnie, czy chciałbym dołączyć do zespołu na pełny etat w San Francisco — chętnie się zgodziłem i zabrali się za papierkową robotę. W styczniu uczestniczyłem w codziennych spotkaniach scrumowych (praktycznie, ponieważ wciąż byłem w Hondurasie), opisując moją pracę z poprzedniego dnia i moje zadania na nadchodzący. Mój przepływ pracy stał się bardziej zorganizowany i bardziej zaangażowałem się w pracę firmy.
Przeprowadzka z wizą H-1B
To było spełnienie marzeń: wykonałem świetną robotę dla amerykańskiej firmy, a teraz byłem na dobrej drodze do przeprowadzki — ale wciąż miałem do pokonania kilka przeszkód. Po pierwsze, nigdy nie skończyłem studiów. Chociaż obecnie nie jest to bezwzględnie konieczne do pracy w firmie technologicznej, rzeczywiście potrzebujesz stopnia licencjata, aby zakwalifikować się do wizy H-1B. Musiałem więc skończyć studia; wymagało to sześciomiesięcznego zaangażowania w projekt na dużą skalę, na który miałem akurat wystarczająco dużo czasu.
Chociaż obecnie nie jest to bezwzględnie konieczne do pracy w firmie technologicznej, rzeczywiście potrzebujesz stopnia licencjata, aby zakwalifikować się do wizy H-1B.
Prawnik złożył dokumenty 1 kwietnia, w dniu rozpoczęcia procedury wizowej H-1B (w momencie składania dyplomu zostawił „oczekujący”, ponieważ wiza H-1B jest ograniczona i dokumenty mogli wysłać później ). Skończyłem projekt na czas, uczestniczyłem w ceremonii ukończenia szkoły i otrzymałem dyplom.
Od tego momentu firma sponsorująca H-1B, która Cię zatrudnia, musi być bardzo otwarta i bardzo cierpliwa. Proces składania wniosków wizowych rozpoczyna się w kwietniu; jeśli zdecydujesz się na opcję przetwarzania premium, otrzymasz wynik z USCIS w ciągu dwóch tygodni. Następnie nadal musisz przejść przez proces rozmowy kwalifikacyjnej, w którym to momencie nadal możesz odmówić wizy H-1B; ale jeśli wszystko pójdzie dobrze, możesz wjechać do Stanów Zjednoczonych po 1 października — sześć miesięcy po dacie złożenia wniosku, a nie wcześniej. Oznacza to, że nie możesz pracować dla tej firmy sponsorującej, dopóki nie otrzymasz wizy H-1B, co może stanowić problem: firma musi dowiedzieć się, jak kontynuować pracę zdalną, czekając na aktywację wizy. W moim przypadku firma zdecydowała się zatrudnić mnie jako niezależnego programistę iOS, rozliczała moje godziny jako usługi profesjonalne i nie złamała żadnego prawa imigracyjnego ani prawa pracy.
Do San Francisco poleciałem 1 października 2012 roku. Cel, od którego dążyłem odkąd pamiętam, został wreszcie zrealizowany.