Osiem błędów, które popełniłem jako junior

Rozpoczęcie pracy jako programista może często wydawać się zniechęcające: musisz stawić czoła nieznanym problemom, wiele się nauczyć i podjąć trudne decyzje. A w niektórych przypadkach mylimy się w tych decyzjach. Jest to całkiem naturalne i nie ma sensu się z tego powodu zamartwiać. Ale to, co powinieneś zrobić, to zapamiętać swoje doświadczenia na przyszłość. Jestem starszym programistą, który popełnił w swoim czasie wiele błędów. Poniżej opowiem o ośmiu najpoważniejszych, które popełniłem, gdy byłem jeszcze nowicjuszem w programowaniu, i wyjaśnię, jak można było ich uniknąć.

Osiem błędów, które popełniłem jako junior

Wziąłem pierwszy, który zaoferowali

Kiedy uczysz się samodzielnie pisać kod lub kończysz studia na uniwersytecie, zdobycie pierwszej pracy w swojej specjalności staje się jednym z Twoich głównych celów. Coś jak światełko w długim tunelu.

Tymczasem znalezienie pracy nie jest łatwe. Coraz więcej osób aplikuje na stanowiska juniorskie. Musimy napisz zabójcze CV, przejść całą serię rozmów kwalifikacyjnych i często cały ten proces jest bardzo opóźniony. Biorąc to wszystko pod uwagę, nie jest zaskakujące, że każda oferta pracy sprawia, że ​​chcesz ją chwycić obiema rękami.

Mimo to może to być zły pomysł. Moja pierwsza praca była daleka od ideału, zarówno pod względem rozwoju zawodowego, jak i przyjemności płynącej z tego procesu. Twórcy kierowali się mottem „da się” i nie było w zwyczaju zbytnio się starać. Wszyscy obwiniali się nawzajem, a ja często musiałam iść na skróty, aby dotrzymać bardzo napiętych terminów. Ale najgorsze jest to, że nie nauczyłem się zupełnie niczego.

Podczas rozmów kwalifikacyjnych byłam głucha na wszystkie telefony, byłam tak zafascynowana perspektywą znalezienia pracy. Jeśli pojawiały się jakiekolwiek wątpliwości, to wszystkie wylatywały mi z głowy, gdy tylko usłyszałam, że mnie zabierają! I to nawet za dobrą pensję!

I to był duży błąd.

Pierwsza praca ma ogromne znaczenie. Daje ci wyobrażenie o tym, jak to jest być prawdziwym programistą, a doświadczenie i szkolenie, które dzięki niemu zdobędziesz, mogą położyć podwaliny pod całą twoją przyszłą karierę. Dlatego przed wyrażeniem zgody należy dokładnie dowiedzieć się wszystkiego o wakacie i pracodawcy. Ciężkie doświadczenie, źli mentorzy – zdecydowanie nie potrzebujesz tego.

  • Badanie informacji o firmie. Wejdź na strony z recenzjami, zajrzyj na oficjalną stronę internetową, po prostu surfuj po Internecie i zbieraj recenzje. Dzięki temu będziesz mieć lepszy pogląd na to, czy firma odpowiada Twoim potrzebom i celom.
  • Spytaj przyjaciół. Jeśli ktoś z Twojego otoczenia pracował dla tego pracodawcy lub zna kogoś z jego personelu, porozmawiaj z nim osobiście. Dowiedz się, co im się podobało, a co nie i jak ogólnie postrzegali to doświadczenie.

Podczas rozmów kwalifikacyjnych nie zadawałem właściwych pytań

Rozmowa kwalifikacyjna to najlepsza okazja, aby lepiej poznać firmę, dlatego pamiętaj o przygotowaniu pytań o to, czego chcesz się dowiedzieć od pracowników. Oto kilka przykładów:

  • Zapytaj o proces rozwoju (jakie metodologie stosują? Czy przeprowadzane są przeglądy kodu? Jakie są stosowane strategie rozgałęziania?)
  • Zapytaj o testowanie (jakie testy się przeprowadza? czy są jacyś wyjątkowi ludzie, którzy tylko testują?)
  • Zapytaj o kulturę firmy (czy wszystko jest nieformalne? czy jest jakieś wsparcie dla juniorów?)

Niezdecydowany co do trajektorii ruchu

Niewątpliwie droga do zostania doświadczonym programistą jest bardzo kręta. Obecnie możesz wybierać spośród wielu języków, frameworków i narzędzi. Mój błąd na początku mojej kariery polegał na tym, że próbowałem opanować wszystko. Co zabawne, spowodowało to tylko, że nie zrobiłem w niczym dużego postępu. Najpierw zająłem się Javą, potem JQuery, potem przeszedłem do C#, stamtąd do C++... Zamiast wybierać jeden język i wkładać w niego całą swoją energię, skakałem z piątego na dziesiąty, w zależności od nastroju. Zapewniam, że jest to wysoce nieefektywny schemat szkoleniowy.

Osiągałbym lepsze wyniki i szybciej piąłby się po szczeblach kariery, gdybym od razu zdecydował się na trajektorię, czyli określony zestaw technologii i na nich się skupił. Na przykład, jeśli jesteś programistą front-end, opanuj JavaScript, CSS/HTML i wybrany przez siebie framework. Jeśli pracujesz na backendzie, ponownie weź jeden język i przestudiuj go dokładnie. Nie jest konieczna znajomość Pythona, Java i C#.

Skoncentruj się więc, wytycz kierunek i stwórz plan, który pozwoli Ci stać się profesjonalistą na wybranej przez Ciebie ścieżce (tutaj mapa drogowa, które mogą Ci w tym pomóc).

Zaawansowany w kodzie

Przygotowujesz więc test, który ma pokazać pracodawcy Twoje umiejętności, albo już w pierwszej pracy podjąłeś się pierwszego zadania. Robisz wszystko, żeby zaimponować. Jaki jest najlepszy sposób na osiągnięcie rezultatów? Prawdopodobnie zademonstrujesz podczas egzekucji tę wyrafinowaną technikę, którą niedawno opanowałeś, prawda?

NIE. To poważny błąd, który sam popełniłem i częściej niż bym chciał, dostrzegam go w pracach innych juniorów. Bardzo często zdarza się, że wymyślają koło na nowo lub szukają skomplikowanych rozwiązań, próbując popisać się swoją wiedzą.

Wyrażono najlepsze podejście do pisania kodu w zasadzie KISS. Dążąc do prostoty, otrzymasz przejrzysty kod, z którym będzie łatwo pracować w przyszłości (programista, który Cię zastąpi, doceni to).

Zapomniałem, że poza kodem istnieje życie

Nigdy nie „wyłączać się” to zły nawyk, którego nabrałem bardzo wcześnie. Kiedy wracałem do domu pod koniec dnia, regularnie zabierałem ze sobą służbowy laptop i przesiadywałem na nim godzinami, aby zamknąć zadanie lub naprawić błąd, chociaż jedno i drugie mogło poczekać do rana. Jak można się spodziewać, ten schemat był stresujący i szybko się wypaliłem.

Powodem takiego zachowania była po części chęć zrobienia wszystkiego tak szybko, jak to możliwe. Ale w rzeczywistości powinienem był zrozumieć, że praca to proces długotrwały i, z nielicznymi wyjątkami, dzisiejsze braki można łatwo przenieść na jutro. Bardzo ważne jest, aby okresowo zmieniać biegi i pamiętać, że życie nie ogranicza się do pracy - są przyjaciele, rodzina, hobby, rozrywka. Oczywiście jeśli lubisz siedzieć do białego rana i kodować - na litość boską! Ale kiedy nie sprawia to już przyjemności, zatrzymaj się i zastanów, czy nie czas zająć się czymś innym. To nie jest nasz ostatni dzień pracy!

Unikałem mówienia: „nie wiem”

Utknięcie w procesie rozwiązywania problemu lub wykonania zadania jest powszechne i spotykają się z tym nawet najstarsi seniorzy. Kiedy byłem młodszy, mówiłem „nie wiem” rzadziej, niż powinienem, i myliłem się co do tego. Gdyby ktoś z kierownictwa zadał mi pytanie, na które nie znałem odpowiedzi, starałbym się wyrazić niejasno, zamiast po prostu to przyznać.

Miałem wrażenie, że gdybym powiedział „nie wiem”, ludzie odnieśliby wrażenie, że nie wiem, co robię. W rzeczywistości nie jest to wcale prawdą, nie ma ludzi wszechwiedzących. Dlatego jeśli zostaniesz zapytany o coś, czego nie wiesz, powiedz to. To podejście ma kilka zalet:

  • To jest uczciwe – nie wprowadzasz pytającego w błąd
  • Jest szansa, że ​​Ci to wyjaśnią i wtedy dowiesz się czegoś nowego
  • Budzi to szacunek – nie każdy potrafi przyznać się do tego, że czegoś nie wie

Spieszyłem się, żeby awansować

Prawdopodobnie słyszałeś powiedzenie: „Naucz się chodzić, zanim zaczniesz biegać”. Nigdzie nie jest to bardziej istotne niż w dziedzinie programowania sieciowego. Kiedy jako junior po raz pierwszy dostajesz pracę, chcesz po prostu wziąć byka za rogi i od razu zabrać się do pracy nad jakimś dużym, złożonym projektem. Nawet pojawiają się myśli o tym, jak szybko zdobyć awans na wyższy poziom!

Ambicje są oczywiście dobre, ale tak naprawdę nikt od razu nie da czegoś takiego juniorowi. Na samym początku swojej kariery najprawdopodobniej otrzymasz proste zadania i błędy do naprawienia. Nie jest to najbardziej ekscytująca rzecz na świecie, ale dokąd iść. Dzięki temu krok po kroku oswoisz się z bazą kodu i poznasz wszystkie procesy. Jednocześnie Twoi szefowie mają okazję zobaczyć, jak pasujesz do zespołu i co robisz najlepiej.

Mój błąd polegał na tym, że frustrowałem się tymi drobnymi zadaniami, co odrywało mnie od pracy. Bądź cierpliwy, rób wszystko, o co cię proszą, sumiennie, a wkrótce dostaniesz coś ciekawszego.

Nie dołączyłem do społeczności i nie nawiązałem kontaktów

Programiści mają świetną społeczność: zawsze są gotowi do pomocy, przekazywania opinii, a nawet zachęty. Programowanie jest trudne i czasami bardzo wyczerpujące. Dla mnie okres pracy na stanowisku juniora byłby łatwiejszy, gdybym od samego początku aktywnie komunikował się z kolegami.

Kontakty ze środowiskiem są również bardzo przydatne w samokształceniu. Możesz brać udział w projektach open source, studiować kod innych osób i obserwować, jak programiści wspólnie prowadzą projekt. Są to umiejętności, które możesz wykorzystać w swojej codziennej pracy, a które z czasem uczynią Cię dobrym profesjonalistą.

Wybierz społeczności, które Cię interesują — niektóre opcje obejmują freeCodeCamp, CodeNewbies, 100DaysOfCode — i dołącz! Możesz także uczestniczyć w lokalnych spotkaniach w swoim mieście (szukaj na stronie Meetup.com).

Wreszcie można w ten sposób pozyskać kontakty zawodowe. Zasadniczo kontakty to po prostu ludzie z Twojej branży, z którymi nawiązujesz kontakty. Dlaczego jest to konieczne? Powiedzmy, że pewnego dnia będziesz chciał zmienić pracę. Jeśli zwrócisz się do swoich znajomych, ktoś może polecić Ci odpowiednią ofertę pracy, a nawet polecić Cię pracodawcy. To da ci znaczną przewagę na rozmowie kwalifikacyjnej - już dali ci słowo, nie jesteś już „kolejnym CV ze stosu”.

To wszystko, dziękuję za uwagę!

Źródło: www.habr.com

Dodaj komentarz