CodeGym /Blog Java /Random-PL /Jak przełamać wywiady z gigantami technologicznymi w Indi...
John Squirrels
Poziom 41
San Francisco

Jak przełamać wywiady z gigantami technologicznymi w Indiach? Najlepsze praktyki od programisty oprogramowania z firmy Microsoft

Opublikowano w grupie Random-PL
Według Bureau of Labor Statistics (BLS) oczekiwane zapotrzebowanie na inżynierów oprogramowania wzrośnie o 22% do 2029 roku. Czy to nie dobry znak, aby rozpocząć karierę w tworzeniu oprogramowania? Założymy się jednak, że nikt nie chce stawiać poprzeczki zbyt nisko i pracować w wątpliwych firmach z niskimi zarobkami. Dlatego przygotowaliśmy krótki przegląd najlepszych rekomendacji, jak złamać rozmowę kwalifikacyjną na programistę w Big Tech. Rozmawialiśmy z Pranavem Malikiem , inżynierem oprogramowania z ponad 3-letnim doświadczeniem, który pracuje w Microsoft, byłym Oracle i PayPal. Poza tym twierdzi, że włamał się do ponad 60 firm. Zacznijmy.

P: Jakie są pierwsze kroki na drodze do rozpoczęcia kariery programisty?

Odp.: Jako programista oczekuje się, że będziesz w stanie rozwiązywać problemy, więc dobre umiejętności rozwiązywania problemów to połowa wygranej bitwy. Jeśli jesteś osobą, która uwielbia rozwiązywać problemy, tworzenie oprogramowania będzie dla Ciebie dobrym początkiem. W rzeczywistości wybitne umiejętności rozwiązywania problemów odróżniają dobrego programistę od złego. Osoba, która chętnie rozwiązuje problemy, myśli nieszablonowo, a to jest to, co duże firmy cenią najbardziej. Poza tym powinieneś być biegły w strukturach danych i algorytmach.

P: Jak wyglądały Twoje pierwsze rozmowy kwalifikacyjne?

Odpowiedź: Ponownie, większość firm szuka przede wszystkim wiedzy na temat rozwiązywania problemów i struktury danych, jeśli jesteś na początkowym etapie swojej kariery. Firmy takie jak Amazon mogą poprosić Cię o rozwiązanie średnio-trudnych problemów, takich jak problemy oparte na drzewach lub problemy oparte na wykresach. Microsoft z kolei słynie z problemów z cofaniem się, podczas gdy Google specjalizuje się w problemach opartych na programowaniu dynamicznym. Aby w pełni się przygotować, należy wcześniej zapoznać się z firmą. Jednak ogólnie rzecz biorąc, większość firm jest zainteresowana umiejętnościami rozwiązywania problemów, znajomością danych, priorytetami, kompetencjami technicznymi (można również zapytać o znajomość języka Java, wiedzę teoretyczną) i podstawami informatyki. Pamiętaj też, że im więcej rozmów kwalifikacyjnych, tym więcej się nauczysz. Nie bój się więc zdobywać doświadczenia i brać udział w licznych rozmowach kwalifikacyjnych (nawet jeśli nie zamierzasz pracować w firmie, w której uczestniczysz).

P: Czy istnieje różnica między wymaganiami startupów i firm korporacyjnych?

Odpowiedź: Tak, jest różnica. Jeśli wybierasz się do firmy opartej na produktach, Twoje umiejętności powinny być odpowiednie dla tego konkretnego produktu. Na przykład, jeśli wymaga to znajomości backendu, nie ma konieczności stosowania pełnego stosu i odwrotnie. Jeśli produkt jest doskonały, Ty też jesteś doskonały, tj. rozwijasz więcej umiejętności.

P: W jaki sposób stale się uczysz i doskonalisz, aby rozwijać swoją karierę programisty?

Odpowiedź: Jeśli wybierasz karierę programisty, powinieneś zrozumieć, że „uczysz się przez całe życie”. Musisz być gotowy na praktykę i naukę każdego dnia. Jeśli zrobisz długą przerwę lub pauzę, zaczniesz od zera. Nikt tego nie chce. Zatem po prostu ćwicz codziennie, a wkrótce stanie się to nawykiem.

P: Jakie narzędzia, języki i technologie należy opanować przy tworzeniu oprogramowania?

Odpowiedź: To bardzo otwarta dyskusja i nie ma jednoznacznej odpowiedzi. Moja odpowiedź brzmi: „cokolwiek Ci odpowiada i jaka technologia Cię interesuje”. Java jest bardzo popularnym językiem programowania i obecnie używa go każda branża; Python jest szeroko stosowany w uczeniu maszynowym, Node.js jest przydatny dla osób zajmujących się programowaniem z pełnym stosem. Sztuczna inteligencja, chatboty, usługi w chmurze… Opcje są nieograniczone. Należy tylko pamiętać, że niezależnie od wybranej technologii należy zawsze nadążać za duchem czasu. Technologie nie pozostaną statyczne, dlatego warto się przy nich uczyć. Technologia zmusi Cię do nauki, a Twój mózg do funkcjonowania.

P: Co powinno znaleźć się w CV nowicjusza lub inżyniera oprogramowania z pewnym doświadczeniem?

Odp.: Co najmniej 2-3 projekty w swoim CV, aby pokazać, że zrobiłeś coś niezależnie. Możesz porozmawiać o tym, co zrobiłeś, jakie wyzwania napotkałeś i jakie technologie wykorzystałeś. Pewna ilość stażu jest również dobra. Po prostu dowiesz się z pierwszej ręki, jak będzie wyglądać Twoje życie. Jeśli wygrałeś jakieś konkursy, będzie to również bonus.

P: Czy profil na LinkedIn i/lub GitHubie jest naprawdę ważny?

O: To bardzo ważne. Jeśli nie ma Cię na LinkedIn, jak szukasz pracy? W sferze zawodowej wszystko jest teraz na LinkedIn. To tak jak z Facebookiem. LinkedIn to miejsce, w którym możesz profesjonalnie nawiązać kontakt z ludźmi i wcześniej sprawdzić profil rozmówcy (co osobiście robię za każdym razem). Bardzo ważny jest także profil na GitHubie. Powinieneś mieć dowolny projekt, który opracowałeś na GitHubie. A czasami dzięki tym projektom możesz zostać zatrudniony – jeśli projekt jest interesujący, jest duża szansa, że ​​osoba przeprowadzająca rozmowę kwalifikacyjną zrobi wrażenie. Jeśli chodzi o znaczenie, dałbym mu 9 na 10. W skrócie LinkedIn działa jak cyfrowe portfolio, natomiast GitHub działa jak Instagram programisty, na którym możesz zaprezentować swój profil i zrealizowane projekty.

P: Jak przygotować się do różnych rund rozmów kwalifikacyjnych? Jaka jest różnica między nimi? Ilu z nich doświadczyłeś w Microsoft, Oracle, PayPal i innych dużych firmach?

Odp.: Ogólnie rzecz biorąc, duże firmy mają minimum 5-6 rund. Pierwsza z nich przypomina „rundę kodowania online”, podczas której ankieterzy zazwyczaj zadają dwa lub trzy pytania, aby ocenić Twoje umiejętności rozwiązywania problemów. Drugi faktycznie je testuje. Wtedy najprawdopodobniej przeżyjesz dwie ukierunkowane rundy – na przykład jedną rundę dla projektu niskiego poziomu i jedną dla projektu wysokiego poziomu. Ostatnią rundę przeprowadza rekruter, podczas którego przez 45 minut zadaje pytania ogólne lub behawioralne, a przez kolejne 15 minut pytania techniczne. W dużych firmach dyrektorzy mogą również z Tobą porozmawiać, aby ocenić, czy nadajesz się do pracy.

P: Czy istnieją jakieś szczególne umiejętności miękkie potrzebne do pracy w dużych firmach?

Odpowiedź: Umiejętności miękkie są bardzo ważne. Na przykład w Amazonie mogą zapytać Cię o zasady przywództwa na każdym etapie rozmowy kwalifikacyjnej. Mogą mówić przez 45 minut o kwestiach technicznych, a następnie poświęcić 15 minut na Twoje nastawienie: „Jak byś to wdrożył”. Powinieneś potrafić bardzo dobrze się komunikować. Powinieneś być w stanie jasno wyjaśnić swoje podejście i przekazać wszystkie swoje przemyślenia osobie przeprowadzającej rozmowę kwalifikacyjną. Niestety przegapiłem okazję do pracy w Meta, Facebooku, tylko dlatego, że byłem niejasny. W dzisiejszych czasach wielu kandydatów ma bardzo dobre umiejętności twarde, więc umiejętności miękkie są tym, co może Cię wyróżnić.

P: Jakie są Twoje przemyślenia na temat indyjskiego rynku IT?

Odpowiedź: Indie poczyniły znaczne postępy. Indie pobiły nawet Wielką Brytanię w światowych rankingach dotyczących branży technologicznej. I co ciekawe, coraz więcej startupów zakładają Hindusi, a nie tylko firmy zagraniczne. Technologia jest obecnie szeroko stosowana w rolnictwie, opiece zdrowotnej i edukacji. Sektor rządowy również opiera się na IT. A ponieważ prawie każdy sektor jest zależny od technologii, w Indiach będzie tworzonych coraz więcej miejsc pracy. Wierzę, że najbliższe 10-20 lat będzie złotym okresem dla indyjskiego sektora IT, dlatego raczej zostańcie w Indiach, niż wyjeżdżajcie do USA czy gdziekolwiek indziej.

P: Jak nowicjusz może przejść do programowania?

O: Widziałem wiele osób ze środowisk artystycznych, handlowych itp. Powtórzę raz jeszcze: niezależnie od branży, rozwiązywanie problemów jest podstawową umiejętnością, którą powinieneś posiadać. Jeśli dobrze rozwiążesz problemy, odniesiesz sukces. Najważniejsze to uczyć się regularnie i nie poddawać się. Stwórz jasną, wyraźną ścieżkę i nie zbaczaj z niej. Pamiętaj też, że umiejętności liczą się teraz bardziej niż stopnie naukowe. Wiele osób ze sfery niezwiązanej z IT osiąga lepsze wyniki niż osoby z legitymacją studencką. To Twoje prawdziwe umiejętności czynią Cię wyjątkowym.

P: Jak nauczyć się inżynierii oprogramowania, aby zakwalifikować się na dobre stanowisko?

Odp.: Ucz się codziennie! Jeśli to możliwe, ucz się przez 10-12 godzin dziennie. 5-6 godzin również będzie w porządku, ale powinieneś być konsekwentny. Jeśli zmieniasz karierę pracując zawodowo, postaraj się poświęcić na to przynajmniej 2-3 godziny dziennie. Rób krok po kroku – nie musisz się wypalać. Po prostu ucz się codziennie, aż uznasz, że to wystarczy, potem zrób sobie przerwę i wznów naukę.

P: Ile możesz zarobić jako junior, na średnim i wyższym stanowisku?

Odp.: To trywialne pytanie. Jeśli pracujesz w firmie opartej na produktach lub usługach, jako specjalista na poziomie podstawowym otrzymasz 6-30 ₹. I mówię tu o pensji podstawowej bez dodatków. Jeśli jest to firma oparta na produktach najwyższej klasy, może zaoferować system premiowy i opcje na akcje – w firmach takich jak Amazon suma może osiągnąć 50-64 ₹. Jeśli mówimy o średnich, pensje mogą sięgać 90-95 ₹, podczas gdy seniorzy zarabiają znacznie więcej.

P: Czy warto uczyć się Java w 2023 roku?

Odp.: Oczywiście warto spróbować nauczyć się języka Java w latach 2023, 2024, 2025, 2026… lista jest długa. Najlepszym wyborem była nauka języka Java na drugim roku. Podobne języki, takie jak C# czy C++, zajmują tylko 10-15% rynku i używają go tylko niszowe firmy lub Microsoft. 70% firm używałoby Javy w dowolnym formacie, a nawet Microsoft zorientowany na C++ używa Javy w konkretnych projektach. Z pewnością Java jest bardzo popularnym językiem programowania w Indiach. Uważam, że lepiej uczyć się Javy niż C#, C++ czy Phytona. Nawet jeśli interesuje Cię uczenie maszynowe, nadal polecam najpierw nauczyć się Javy, a dopiero potem Phytona. Java nie zniknie.

P: Gdybyś teraz zdecydował się rozpocząć karierę, czy trenowałbyś w CodeGym? Czy poleciłbyś CodeGym?

Odp.: Tak, oczywiście, ma idealny program nauczania i pozwala ci nauczyć się niszowych rzeczy (bez zbędnych informacji), których będziesz potrzebować, aby przejść rozmowy kwalifikacyjne, z którymi będziesz musiał się zmierzyć. Ponadto jest prowadzony przez wysoce profesjonalnych mentorów branżowych

Wniosek

Przełamanie rozmowy kwalifikacyjnej na programistę nie jest łatwe ze względu na ostrą konkurencję, zwłaszcza gdy Twoim celem są giganci technologiczni, tacy jak Google, Facebook, Microsoft, Amazon itp. Sukces zależy od starannego planowania i dobrego przygotowania. Mamy nadzieję, że te rekomendacje dały Ci wskazówkę, na czym powinieneś się skupić. Czy ten artykuł był dla Ciebie pomocny? Daj nam znać w komentarzach poniżej, jeśli masz jakieś pytania lub przemyślenia! Jak przełamać wywiady z gigantami technologicznymi w Indiach?  Najlepsze praktyki programisty oprogramowania firmy Microsoft — 1
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION