Atak na zagraniczne firmy - jak się przygotować na rozmowę o 50k+?

3

Zapewne jak większość z Was chciałbym pracować za euro i dolary (ewentualnie brytyjską lub szwajcarską walutę). Ale żeby wyrwać ten kawałek mięsnego tortu trzeba się mocno przygotować. Istnieją firmy inne niż typowy FAANG, w których można zarobić godnie, do tego pracować zdalnie, np. elastic.co czy jakiś kontaktor w banku za 600 GBP dziennie, może na toptal.com coś by udało się wyciągnąć?
Powstaje pytanie — jak się do tego przygotować, żeby faktycznie na takie stawki się dostać? Mam nadzieje, że są na forum osoby, które tę ścieżkę przetarły i się podzielą przemyśleniami. To, co ja zacząłem robić, albo zacznę robić w najbliższej przyszłości:

  1. Angielski, angielski, angielski. Niestety, mój angielski jest na poziomie bardziej "sorry for my bad engslish" niż "fluent". Jak każdy z was czytam w tym języku codziennie i jakoś sobie radzę, nie mam dużych problemów, ale poplotkować w kuchni, cóż... Jedyne co potrafię powiedzieć to w CSie powiedzieć, że rucham twoją matkę... Co zamierzam z tym zrobić? Istnieją strony gdzie można pogadać z nativamy, ja całkowicie losowo zdecydowałem się na preply.com (no może nie całkiem losowo, to zwyczajnie bardzo popularna strona, o której wiedziałem już od dawna). Można na tej stronce wybrać czy się chcę przygotować do rozmowy, czy przygotować do kursu, czy native ma być z RPA, czy Kanady i inne filtry. Ja wybrałem raz w tygodniu osobę z Afryki i raz w tygodniu osobę z USA, mam nadzieję, że pozwoli mi się to obyć z różnymi akcentami, oraz że jest to wystarczająco często i intensywanie, żeby się "rozgrzać" i być w stanie płynnie opowiadać o moich planach na wakacje.
  2. Algorytmy. Wiem, że w pracy wszyscy robią CRUDy, ale z jakiegoś powodu wiele firm robi testy na codility czy czymś podobnym. Sporo osób się buntuje i nie zamierza brać udziału w rekrutacjach gdzie są durne testy czy projekty domowe, ale dla mnie to nie problem - jak płacą dużo to nie widzę problemu się przemęczyć w takiej rekrutacji. Są strony typu leetcode czy hackerrank, które posiadają odpowiednie kursy czy wręcz nawet przygotowania pod wybrane firmy. Część z nich jest płatna. Ja już zrobiłem kilka zadań na leetcode, tam do każdego zadania jest jakby forum, to forum jest w miarę przydatne. Chociaż i tak mam wrażenie, że przyda się coś bardziej prowadzącego za rączkę. Pewnie wystarczy jakąś książkę do algorytmiki przeczytać, żeby sobie przypomnieć czego to się kiedyś w szkole nauczyłem.
  3. Z bardziej znanych książek jest Cracking Coding Interview. Ale IMO nie powinna to być jedyna książka którą przeczam, zwłaszcza, że ta konkretna przedstawia (przynajmniej na początku, przeczytałem dosłownie kilka stron) podstawowe algorytmy pokrywające się z leetcode. Jakiś czas temu rekrutowałem się na programistę Java, stanowisko senioskie/liderskie. Praktycznie wszyscy pytali i katowali mikroserwisy, jak się łączy, kiedy rozdzialać aplikacja, jaką kolejkę użyć, jak coś zabezpieczyć, jak na klaster wgrać. Milion rzeczy o mikroserwisy i trochę detali o to jak działają kolejki, jak działają bazy dancyh. W tej kwestii książka "przetwarzanie danych w dużej skali" jest bardzo dobra. Przeczytałem prawie całą, jest świetna, polecam, moim zdaniem jest nieskończenie lepsza niż przehjpowany czysty kod. Jeszcze wybiorę sobie jakąś książkę odnośnie mikroserwisów, patternów rozproszonych oraz coś dotyczące DDD. Jeszcze nie mam gotowej listy książek, jakie sobie wybrałem, przejrzałem internet, zrobiłem wstępny spis, ale jeszcze trzeba przebrać. Wydaje mi się, że nie ma co czytać na temat zarządzania projektami, ale może jakieś wzorce projektowe warto sobie przypomnieć?
  4. Z racji, że mój stack to JVM (Java/kotlin/scala) to warto coś umieć na temat samej maszyny wirtualnej oraz najpopularniejszych narzędzi. Tutaj jakąś wiedzę mam, ale nie potrafię wskazać jednej książki gdzie można przeczytać o 0 do twórcy nowego języka na JVM. Moja wiedza pochodzi głównie z pracy i blogasków na przestrzeni lat, ale chciałbym przeczytać coś w ramach usystematyzowania wiedzy i załatania braków - nie chcę żeby mnie coś zaskoczyło podczas interview. Może ktoś ma coś do polecenia?
  5. Na stronie levels.fyi można zapłacić za konsultacje w sprawie negocjacji stawki. Kożystał ktoś z Was z tekiego rozwiązania? Ja wiem, że cebula zaczyna mocno wydzielać swe zapachy, a oczy same zaczynają płakać na myśl o zapłaceniu komuś za konsultacje w takiej sprawie. Ale z drugiej strony, jeżeli zwróci mi się to w jednej czy 2 wypłatach to nie widzę problemu. O ile to działa oczywiście.

Macie jakieś doświadczenia w atakowaniu na zagraniczne firmy? Co myślicie o moim planie? Samą pracę chciałbym zmienić pod koniec roku, ale nie wiem czy się uda, plan jest ambitny.

0

Oto lista książek, jakie sobie zanotowałem przeszukując internet, ale to jest wstępna lista, nie przeanalizowana, niewybrane są tytuły, które faktycznie warto przeczytać do przygotowań:

TDD. Programowanie w Javie sterowane testami
Java. Efektywne programowanie. Wydanie III
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
TDD Sztuka tworzenia dobrego oprogramowania
Zrozumieć programowanie
Przetwarzanie danych w dużej skali
Praca z zastanym kodem. Najlepsze techniki
Pragmatyczny programista. Od czeladnika do mistrza.
Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Spring w akcji. Wydanie V.
Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II
Linux Bible
Big Data. Najlepsze praktyki budowy skalowanych systemów obsługi danych w czasie rzeczywistym
DDD dla architektów programowania
Java Concurrency in Practice
Optimizing Java: Practical Techniques for Improving JVM Application Performance
Java By Comparison: Become a Java Craftsman in 70 Examples
Growing Object-Oriented Software, Guided by Tests
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging
Solutions (Addison-Wesley Signature Series (Fowler))
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
Well-grounded Java Developer
Java Performance: The Definitive Guide
97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts
Cloud-Native Java
Code: The Hidden Language of Computer Hardware and Software
Soft Skills: The software developer's life manual
Secure by Design
Patterns Principles and Practices of Domain-Driven Design, Scott Millett

1

Najtrudniejsza część to myślę znaleźć taką ofertę gdzie faktycznie możesz pracować zdalnie z innego kraju.

3
szprotki_w_oleju napisał(a):

Oto lista książek, jakie sobie zanotowałem przeszukując internet, ale to jest wstępna lista, nie przeanalizowana, niewybrane są tytuły, które faktycznie warto przeczytać do przygotowań:

TDD. Programowanie w Javie sterowane testami
Java. Efektywne programowanie. Wydanie III
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
TDD Sztuka tworzenia dobrego oprogramowania
Zrozumieć programowanie
Przetwarzanie danych w dużej skali
Praca z zastanym kodem. Najlepsze techniki
Pragmatyczny programista. Od czeladnika do mistrza.
Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Spring w akcji. Wydanie V.
Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II
Linux Bible
Big Data. Najlepsze praktyki budowy skalowanych systemów obsługi danych w czasie rzeczywistym
DDD dla architektów programowania
Java Concurrency in Practice
Optimizing Java: Practical Techniques for Improving JVM Application Performance
Java By Comparison: Become a Java Craftsman in 70 Examples
Growing Object-Oriented Software, Guided by Tests
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging
Solutions (Addison-Wesley Signature Series (Fowler))
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
Well-grounded Java Developer
Java Performance: The Definitive Guide
97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts
Cloud-Native Java
Code: The Hidden Language of Computer Hardware and Software
Soft Skills: The software developer's life manual
Secure by Design
Patterns Principles and Practices of Domain-Driven Design, Scott Millett

Ty masz plan jak za PRLu - plan 5-letni? Bo tego to ci nawet do emerytury wystarczy. Po pierwsze zacznij to robić. Pogadaj ze znajomymi. Nie szukaj złotego grala - takich ofert za 600 GDB nie ma wiele i naprawdę trzeba być albo specjalistą w czymś konkretnym, albo mieć znajomości, albo bardzo dużo szczęście - przy takich ofertach konkurujesz z kilkoma milionami Hindusów między innymi. Poszukaj jakiejkolwiek pracy w zagranicznym środowisku i zacznij się wspinać małymi kroczkami po drabinie kariery. W trakcie może się okazać, że ta trawa wcale nie jest taka zielona.
Najlepszym sposobem nauki języka jest konieczność pracy w nim. I nie ma to większego znaczenia, że powiesz: I was zamiast I have been jak kontekst wypowiedzi będzie zrozumiały.
BTW: rucham twoją matkę... Dlaczego obrażasz wspołgraczy?

4

Ja zacząłbym od przeglądania blind'a za jakimiś remotami co nie patrzą na lokalizacje (z jednej strony stronka mocno uzależnia z drugiej otwiera oczy na wiele rzeczy)
Niestety różnica w pensjach w USA i EU jest ogromna :( i coś co nawet w LON jest uważane za bardzo dobra pensje w SV jest pensja średnia niską.

Co do skilsów.
Angielski to podstawa. Musi być komunikatywny na tyle żebyś rozmawiając o problemie technicznym nie tracił cykli nad zastanawianiem się jak coś powiedzieć po angielsku.
Z technicznych ciężko powiedzieć co jest potrzebne, bo to bardzo zależy od stacku. Ale większość rzeczy które wymieniłeś wydają się sensowne. I zakładam ze osoba mając te 7+ lat powinna mieć o nich pojecie.
Dużo firm które płacą top stawki ma rekrutacje w stylu Googla, wiec czeka grind LC. Jedni lubią inni nie. Znowu blind wydaje się mega pomocny
https://www.techinterviewhandbook.org/best-practice-questions

Z mojej strony nie umiem mówić dobrze po angielsku (walę dużo błędów gramatycznych), daleko mi z algo do oi, nie kończyłem elitarnej uczelni
a byłem się dostać do każdej firmy do której startowałem(nie zawsze za pierwszym razem ale jednak :)), więc interview'sy nie są jakoś mega ciężkie.

Co do negocjacji z levels. Nie korzystałem ale nie wiem czy to ma sens dla EU. EU rządzi się swoimi prawami i negocjacje są znacznie trudniejsze co potwierdza wiele tematów na blind.
W sensie to co jest do wynegocjowania w USA absolutnie nie jest w EU.
Zamiast negocjacji, lepiej zrobić dobry research ile płaci firma. I powiedzieć coś z górnych widełek. (niestety najlepsze oferty jakie widziałem nie dają widełek w ogłoszeniach, wiec trzeba robić research samemu)

1

Z tymi różnymi stronkami z negocjacjami itp. to jak poprzednik wspomniał trzeba uważać na tematy, które mają realne odniesienie tylko dla mieszkańców USA.

Co do samego algo to tu masz obszerny poradnik, który jest spoko - https://leetcode.com/discuss/general-discussion/494279/comprehensive-data-structure-and-algorithm-study-guide

3

Od siebie dodam, że warto być w jakiejś społeczności (forum, slack, forum na fb). I mówić tym samym językiem (np w USA contractor to nie jest osoba na B2B pracująca na etacie, ale zupełnie typowy podwykonawca). Ja sam miałem mega problemy dogadać się z rekruterami z UK co do formalności.

1

Z racji, że mój stack to JVM (Java/kotlin/scala) to warto coś umieć na temat samej maszyny wirtualnej oraz najpopularniejszych narzędzi. Tutaj jakąś wiedzę mam, ale nie potrafię wskazać jednej książki gdzie można przeczytać o 0 do twórcy nowego języka na JVM. Moja wiedza pochodzi głównie z pracy i blogasków na przestrzeni lat, ale chciałbym przeczytać coś w ramach usystematyzowania wiedzy i załatania braków - nie chcę żeby mnie coś zaskoczyło podczas interview. Może ktoś ma coś do polecenia?

Akurat z mojego doświadczenia wynika że dobre prezentacje/artykuły/podcasty najlepiej do tego wszystkiego pasują. To sa też rzeczy ktore w detalach się dośc mocno zmieniają, co chwile jakies nowe mechanizmy GC itp.

0

Język:
Zatrudniłbym się zdalnie w kraju, w którym celuję 50k, ale za niższą stawkę, aby podszkolić język. Trzeba zwrócić uwagę na to, że każdy kraj trochę inaczej wymawia angielski. Trzeba przyzwyczaić ucho :)

Kolejną dużą barierą jest np. dla US duża różnica czasu.

3

Ja pracuje dla szwajcarskiej firmy z Polski ale płacą w euro wychodzi mi ponad 20 jako AWS Specialist a nawet połowy z tego co wypisałeś nie umiem i pracuje około 20h tygodniowo, a reszta to czuwanie i nic nie robienie. Nie mam Scruma, ani Daily, tylko jeden przełożony, więc nie widzę tutaj w tym co napisałeś jakichś wyników. Każdy ma inne priorytety.

5

Chciałam tylko dodać, że często w firmach około FAANG (czy jak to się obecnie nazywa) oprócz typowej rekrutacji algo (czyli Cracking The Coding Interview itp) jest też co najmniej jeden etap tzw. System Design. Jako źródło do przygotowania mogę polecić książkę Alex Xu - "System Design Interview - An insider's guide", szczególnie w wersji "kursu" online gdzie dostaje się dodatkowo dostęp do prywatnego Discorda gdzie można zadawać pytania autorowi książki, albo porozmawiać ogólnie na temat takiej rekrutacji.

Również w kwestii wynagrodzeń, jak ktoś jeszcze nie oglądał:

1 użytkowników online, w tym zalogowanych: 0, gości: 1