Cześć! Dużo tu mówimy o tym, jak zdobyć pierwszą pracę, czego się uczyć i jak się zachować. Wszystko fajnie, ale co zrobisz po zdobyciu pierwszej pracy? Czy możesz się zrelaksować i po prostu płynąć z prądem? Nie. Bycie profesjonalnym programistą oznacza, że będziesz się dalej uczyć. Bardzo. Dużo dużo. Dlatego dzisiaj chciałbym trochę spekulować na temat obszarów dalszego rozwoju osobistego po otrzymaniu upragnionej pierwszej oferty. Chodźmy.
1. Pogłębiaj wiedzę na podstawowe tematy
Aby zdobyć pierwszą pracę, prawdopodobnie znasz już podstawy programowania w języku Java. Czy myślisz, że to wystarczy? Nie, nie i jeszcze raz nie. Różnica między doświadczonymi programistami a zielonymi nowicjuszami polega na ich dogłębnej wiedzy. Obszary wiedzy wydają się być takie same, ale starszy programista potrafi wyjaśnić niuanse, o których istnieniu nawet nie masz pojęcia. Z jednej strony można powiedzieć, że wszystko zależy od doświadczenia. O doświadczonym programiście mówi się, że jest nim właśnie dlatego, że ze wszystkim się już zetknął wiele razy. Dlatego on lub ona zna to wszystko tak szczegółowo. To prawda. Ale tylko częściowo. Oprócz zdobywania stałego doświadczenia poprzez kodowanie, programiści studiują także teorię, czytając artykuły i książki oraz oglądając filmy. Chciałbym zauważyć, że teoria, którą wybierzesz, musi być przedmiotem, który naprawdę poszerzy Twoje horyzonty w tym temacie. Jeśli od razu zaczniesz niezwykle głęboko zagłębiać się w temat, który znasz tylko powierzchownie, to co w rezultacie osiągniesz? NIC. To będzie tylko strata czasu, więc wybieraj swoją teorię mądrze.2. Zdobądź certyfikaty (Java, AWS)
Wiele kursów wydaje obecnie certyfikaty po ich pomyślnym ukończeniu. Ale bądźmy szczerzy. Nie każda firma się nimi przejmuje i na nie patrzy. To powiedziawszy, istnieje kilka certyfikatów, które są ważne i mogą wyróżnić Cię na tle innych. Mówię o certyfikacji Java od Oracle i AWS (usługi w chmurze). Na przykład certyfikację Java zapewniają firmy rekomendowane przez Oracle. Firmy te tworzą zatwierdzone przez Oracle warunki testowania umiejętności. Właśnie dlatego te certyfikaty są uznawane na arenie międzynarodowej. Certyfikacja AWS opiera się na tej samej zasadzie, ale koncentruje się na nauce technologii AWS. Oczywiście nie liczy się tu tylko „kartka papieru”, ale także poziom wiedzy, którą zdobywasz przygotowując się do testu. Jeśli posiadasz certyfikat, prawdopodobnie nie będziesz zaskoczony pytaniami dotyczącymi tej technologii.3. Studiuj popularne technologie
Technologia informacyjna cały czas idzie do przodu. Jeśli pracujesz już w IT, musisz się dostosować. To, czego nauczyłeś się rok temu, jutro może stać się nieistotne. To jest całkowicie normalne. Główną supermocą dewelopera jest umiejętność szybkiego wchłaniania i przyswajania nowego materiału oraz zapominania o tym, co zbędne. Oznacza to, że jeśli chcesz pozostać na bieżąco, musisz stale monitorować sytuację w terenie. Na przykład obecnie istnieje zapotrzebowanie na technologie takie jak Kubernetes i Docker. Dużą popularnością cieszą się obecnie także technologie AWS, a wykorzystanie języka Kotlin dynamicznie rośnie (stopniowo zaczyna on zyskiwać udział w rynku od Javy).4. Zagłęb się w konkretną technologię
Niektórzy doświadczeni programiści stają się profesjonalistami w jednej technologii. Jest mnóstwo informacji, nawet tylko z zakresu programowania w Javie, więc nie da się być guru we wszystkim. Dlaczego nie wybierzesz też jednego pożądanego przedmiotu (technologii lub frameworka), w którym staniesz się absolutnym mistrzem, znającym wszystkie mroczne zakamarki? Jeśli to zrobisz, możesz stać się bardzo cennym specjalistą dla swojej firmy. Podczas rozmowy kwalifikacyjnej zostaną przyprowadzeni do Ciebie nowi kandydaci, aby sprawdzić ich kompetencje w Twojej specjalizacji. Zostaniesz także poproszony o dokonanie przeglądu projektów wykorzystujących „twoją” technologię i udzielenie porad (przekazanie komentarzy) na temat bardziej wydajnego i prawidłowego korzystania z technologii. Z reguły firmy chcą mieć dostęp do takich specjalistów. Jeśli powiesz kierownictwu o chęci zanurzenia się w jakiejś technologii, z pewnością pomogą Ci wybrać tę właściwą (zwykle tę, na którą jest aktualnie zapotrzebowanie w firmie) i znaleźć mentora w firmie. Na przykład zaproponowano mi dogłębne przestudiowanie Camela, ponieważ kilku klientów było programistami Java posiadającymi tę szczególną umiejętność. Jasne, ta technologia nie jest całkowicie nowa, ale cieszy się dużym zainteresowaniem, a jeśli jesteś silnym specjalistą od Camela, nie zginiesz w tłumie na rynku pracy: pracodawcy staną na głowie, żeby cię zatrudnić . Niestety, byłem wtedy zajęty doskonaleniem języka angielskiego i dostosowywaniem się do nowego projektu, więc odmówiłem. Istnieją różne technologie odpowiednie do głębokiego nurkowania: od Springa jako całości po konkretne frameworki Spring (Spring Security, Spring Cloud itp.) Lub AWS i tak dalej.5. Naucz się nowego języka programowania
Inną możliwością dalszego rozwoju zawodowego jest nauka drugiego języka programowania. Tutaj widzę trzy opcje:- Język pomocniczy często spotykany w projektach Java. Na przykład Groovy, w którym pisze się różne skrypty pomocnicze, czy Python, który często jest łączony z Javą (przynajmniej ja się z tym spotykam dość często).
- Lub JavaScript i niektóre jego frameworki, takie jak Angular lub React. Dzięki tej wiedzy staniesz się pełnoprawnym programistą full-stack. Tacy eksperci są dość rzadcy i poszukiwani, w związku z czym mogą osiągać znaczne pensje (o rząd wielkości wyższe niż zwykli programiści Java).
- Naucz się języka, który wyrósł z Javy. Na przykład Skala lub Kotlin. Te języki programowania zyskują obecnie ogromną popularność i zaczynają nawet wypierać samą Javę z rynku. Może już czas wsiąść na wóz? Wiele podstawowych zasad wywodzi się z naszej ukochanej Javy, ale istnieje wiele innowacji i poprawek mających na celu wyeliminowanie niedociągnięć Javy.