Czy warto uczyć się Javy?

Paulina Kantor, Senior Software Developer w Grand Parade, była gościem Pauliny Brudki z Future Collars podczas webinaru “Czy warto uczyć się Javy?”. Nasza ekspertka to programistka Javy z wieloletnim doświadczeniem zawodowym oraz mentorka na bootcampie Java. Ostatnio współtworzy również architektury systemów wykorzystujących rozwiązania chmurowe. Absolwentka Mechatroniki na AGH i studiów podyplomowych na kierunku Data Science. Wspiera szczególnie mocno kobiety, które chciałyby spróbować swoich sił w tej branży, organizując m.in. warsztaty z programowania dla dziewczynek. 

Programistyczne doświadczenie

Paulino, opowiedz o sobie i o swoim doświadczeniu programistycznym? Czy i Ty – jak wielu naszych gości – trafiło do IT na drodze przypadku?

Paulina Kantor: Jestem programistką z ponad 6-letnim doświadczeniem zawodowym, nie studiowałam informatyki, studiowałam mechatronikę i programowania uczyłam się na własną rękę. W czasie studiów nie do końca widziałam się w programowaniu. Wszystko zmieniło się, kiedy trafiłam na praktyki studenckie po III roku studiów do jednej z firm informatycznych na helpdesk. Zobaczyłam, jak pracują programiści i pomyślałam, że warto spróbować. 

Okazało się, że to był strzał w dziesiątkę! Teraz sama zachęcam innych do programowania, współpracuję z Future Collars, prowadząc bootcampy z Javy, od jakiegoś czasu jestem zainteresowana rozwiązaniami chmurowymi, jestem certyfikowanym architektem AWS.

Paulina Brudka: W FC uczymy tylko przez Internet, stawiamy na naszych mentorów. Paulina jest jednym z nich. Wspiera także kobiety na drodze przebranżowienia się na branżę IT, była gościem Dnia kariery kobiety w IT i jej warsztat cieszył się ogromnym zainteresowaniem. Jeśli ktoś myśli o przebranżowieniu – warto obserwować Paulinę np. na LinkedInie.

Fenomen Javy

Na czym polega fenomen Javy? Od wielu lat jest bardzo popularnym językiem programowania i nie chce spać z podium rankingów…

Paulina Kantor: I nie zanosi się, żeby to się miało zmienić. Można sobie podejrzeć na portalach takich jak joinjust.it lub No Fluff Jobs – jest dużo ofert pracy dla Java Developerów, oczywiście pod różną postacią – programistyczną, DevOps, Biga Data, bo i tam Java ma zastosowanie. Java dobrze sobie radzi na rynku od ponad 20 lat i raczej to się szybko nie zmieni, ponieważ znalazła zastosowanie w wielu korporacjach, które nie są skłonne przepisywać swoich projektów na nowsze technologie. Ta technologia jest bardzo stabilna, ma bardzo rozbudowany ekosystem bibliotek, można ją stosować do aplikacji webowych, mobilnych. 

Wchodzi Python, mówi się o nim, że jest łatwiejszy do nauczenia się, ale wydaje mi się, że Java też nie jest trudna. W Pythonie być może składnia jest bardziej dowolna, ale może to być dla początkujących programistów większy problemem niż zaleta. 

Paulina Brudka: Cieszy nas to, bo to  potwierdza nasze obserwacje. Często rozmawiamy z partnerami zatrudniającymi naszych absolwentów i oni mówią, że nadal mają aplikację, narzędzia oparte o Javę i to będziemy kontynuować. Z moich poszukiwań wynika, że największe korporacje stawiają na Javę.

Podobno jednak Java to przestarzały język, bo łatwo można wyciągnąć dane ze stron programowanych w Javie. Słyszałaś coś na ten temat?

Paulina Kantor: Pierwszy raz słyszę taki zarzut. Aplikacje webowe korzystają ze Springa i one mają dobrze rozbudowane systemy bezpieczeństwa, więc nie jest to na pewno takie proste. 

Java to jest język backendowy – co to znaczy?

Paulina Kantor: Najbardziej popularne aplikacje, które się pisze w Javie, to aplikacje webowe. Te aplikacje dzielą się na część frontedową i backendową. Frontend to jest to, co widzimy – wizualna strona (HTML, CSS, JavaScript). Backend to jest to, czego użytkownik nie widzi – cała logika, która jest zaszyta w aplikacji. Java to technologia, która służy do programowania backendu, choć oczywiście niejedyna. 

Czy są jakieś cechy Javy, które powodują, że wielkie firmy stawiają na tę technologię? 

Paulina Kantor: Rozbudowany ekosystem bibliotek, które pozwalają w bardzo łatwy sposób na postawienie aplikacji (Spring, Micronaut). Frameworki są niewątpliwą zaletą Javy. Stabilność i bezpieczeństwo platformy – to też jest ważne. Twórcy Javy wiedzą co robią – niegdś pojawiła się luka w zabezpieczeniach, obecnie już jej nie ma. 

Nowe wersje języka pojawiają się częściej i szybciej są dostarczane nowe funkcjonalności – dzięki temu Java żyje. Wiele było już technologii, które miały swoje 5 minut i teraz są martwe, nie mają zastosowania. Dodatkowym atutem z punktu widzenia pracodawców jest to, że programistów Javy jest sporo, łatwo znaleźć pracowników, kiedy firma się rozwija. 

Społeczność i nieustanny rozwój 

Wspomniałaś, że jest wiele osób znających Javę. A mnie udało się zorientować, że tworzą oni swego rodzaju społeczność, wspierają się, dzielą się rozwiązaniami. Jak to wygląda?

Paulina Kantor: Stack Overflow jest nieśmiertelny i znajdziemy tam rozwiązania większości problemów, na które napotykamy, co też jest ważne. Wpływa to na szybkość dostarczanych przez nas rozwiązań. Dobra integracja z bibliotekami i pomoc w razie problemów – społeczności programistyczne są istotne.

Paulina Brudka: Praca programisty to znajdywanie odpowiedzi na swoje pytania. Uczymy na bootcampie wyszukiwania odpowiedzi. Na jednym z pierwszych kursów kursant żalił się na mentora, że ten mu polecił, by znaleźć odpowiedź w Google. A jednak to jest bardzo ważna umiejętność, którą można posiąść na samym początku – znajomość miejsc, w których możesz szukać rozwiązań …

Paulina Kantor: Może to brzmi bardzo trywialnie, ale to istotna umiejętność. Mimo wielu lat doświadczenia ciągle coś sprawdzam, szukam, korzystam z tej pomocy. Ucząc się tego na początku, staniemy się bardziej samodzielni, co ważne, zwłaszcza w czasach pracy zdalnej. 

Praca programisty wiąże się z ciągłym rozwojem. Jak to jest – chodzi o atrakcyjność na rynku?

Paulina Kantor: Nie można stanąć w miejscu. Sama Java też się zmienia, więc musimy nadążać za tym, co się dzieje. Ale też nie zawsze warto gonić za trendami – na pewno trzeba wiedzieć, co aktualnie może nam pomóc czy przyśpieszyć pracę, jak możemy dostarczyć trochę więcej wartości. Programistyczna efektywność jest kluczowa. 

Ja poszłam trochę w kierunku rozwiązań chmurowych z racji tego, że aplikacje, które pisaliśmy, chcieliśmy wdrożyć w chmurze. Była mi ta wiedza potrzebna. Istnieje taki trend, że programista pewien być na tyle samodzielny, żeby umieć wdrożyć swoją aplikację, monitorować ją, utrzymywać. To kierunek DevOps.

Można też rozwijać się innych kierunkach – łączyć backend z frontendem albo pójść w stronę fullstack. Nauczyć się dodatkowo frameworka React albo Angular i zyskać przewagę na rynku, co jest mile widziane przez pracodawcę. Im szersze mamy horyzonty, tym więcej możemy zrobić sami. Należy wyspecjalizować się w jednej technologii, ale potem poszerzać swoje umiejętności. 

Sytuacja juniorów

Ile wymaga się od juniorów programujących w Java? Czym są podstawy Javy – od czego należy zacząć i co warto wiedzieć, szukając pierwszej pracy jako junior?

Mamy ciekawą sytuację, bo w większości pracujemy zdalnie i trzeba być samodzielnym, żeby dostarczać pracodawcy jakąś wartość. Nie chodzi o to, żeby wiedzieć wszystko, bo to jest niemożliwe, ale trzeba wiedzieć, gdzie znaleźć odpowiedzi na problemy i trzeba umieć już coś zrobić. Należy poznać podstawy składni, teoria potrzebna jest tylko w takim zakresie, by móc zrealizować projekt. I praktyka – uczyć się na projekcie kwestii teoretycznych. 

Paulina Brudka: Praca projektowa, praktyka i wiele zadań – na to stawiamy na bootcampie Java Developer. Jest on podzielony na dwie części. Pierwsza to Introduction, gdzie uczymy podstaw składni, jak pracować na GitHubie, uczymy teorii w zakresie niezbędnym do wykorzystania w praktyce. W drugiej części First Project kursanci tworzą w grupach projekty – w mniejszych grupach przechodzą przez cały proces tworzenia oprogramowania, każdy ma przypisane taski. Po zakończeniu projektu można jego efekty pokazać przyszłemu pracodawcy. 

Jak to jest podczas rekrutacji na stanowisko juniorskie? Czego możemy się spodziewać, jakie mogą paść pytania i czego spodziewają się rekruterzy od juniorów?  

Paulina Kantor: W różnych firmach różne są wymagania wobec kandydatów, nie zawsze poziomy oznaczają to samo. Wymagane są podstawy składni, trzeba się czymś pochwalić w portfolio. Musimy wykazać, że będziemy w stanie coś zrobić i nie będziemy się bali zadawać pytania, jeśli gdzieś utkniemy. Istotna jest komunikatywność – szczególnie kiedy zespoły są rozproszone, a komunikacja przebiega przez narzędzia cyfrowe. Zaangażowanie, zapał i umiejętności interpersonalne są niezbędne, wiedzę można zdobyć. 

Czy bootcamp wystarczy, żeby szukać pracy jako Junior Java Developer?

Paulina Brudka: Bootcamp, który jest dobrze skonstruowany, prowadzony przez doświadczonych mentorów-praktyków, jest w stanie przygotować kursanta do szukania pierwszej pracy. Żaden bootcamp jednak nie zrobi z nikogo programisty bez zaangażowania i czasu. Paulino, ile procent to ciężka praca uczestników kursu, a ile procent to wiedza, którą można uzyskać od mentorów?

Paulina Kantor: Bardzo doceniam podejście Future Collars – nie wmawiacie ludziom, że wystarczy przyjść na kurs online Java Developer i już się zyska nowy zawód. Bootcamp jest super. Jest czas na rozruch, można stwierdzić, że to dla Was – jeśli nie macie ochoty i czasu, żeby się uczyć, można zrezygnować po okresie próbnym na określonych warunkach. 

Paulina Brudka: Tak, po dwóch tygodniach można zrezygnować, jeśli okaże się, że Java to jednak nie najlepszy wybór. Można też wziąć udział w webinarach poświęconych programowaniu, można skontaktować się z naszym doradcą, poczytać zakres kursu

Paulina Kantor: Bootcamp jest dobrym wyborem, ale należy traktować go jako mocny w start w ten zawód. Praca na bootcampie polega przede wszystkim na pracy własnej. To jak latarnia dla tych, którzy chcą zostać programistami. Możemy uczyć się tego wszystkiego sami, ale na kursie Java Developer Future Collars kursanci mają kontakt z mentorami, którzy pracują w zawodzie od lat, przerobili niejeden projekt, więc zwrócą uwagę na to, co jest najważniejsze. 

Podczas praktycznej części kursu pracuje się nad realnym projektem, w zespole, a mentorzy oferują nawet code review. To praktyka stosowana w każdej firmie – programiści nawzajem sprawdzają sobie kod i staraj się wyłapać ewentualne błędy. Głównie zwracają uwagę na czystość kodu, bo napisać kod, a napisać go dobrze, żeby był łatwy w modyfikacji, utrzymaniu, rozszerzaniiu – to dwie różne kwestie.  

Co wyróżnia kurs programowania online Java Developer od Future Collars na rynku?

  • lekcje na żywo dwa razy w tygoniu – to spotkania z mentorami w grupie 
  • możliwość konsultacji z mentorem codziennie – mentorzy wspierają także na drodze wyboru właściwej ścieżki zawodowej 
  • nowoczesna platforma szkoleniowa stworzona specjalnie na potrzeby naszych kursów
  • nauka pracy w środowisku programistycznym 
  • po zakończeniu kursu z projketem – wsparcie w rekrutacji ze strony specjalistki z obszaru HR (jak szukać pracy, przygotować CV, założyć  profil na LinkedIn)
  • mentorzy to specjaliści i praktycy w swoich dziedzinach 
  • kurs jest bardzo intensywny, nastawiona na pracę samodzielną
  • elastyczne reagowanie na potrzeby kursantów 
  • motywacja do codziennego rozwoju

Wynagrodzenia programistów

Paulina Brudka: Badanie – Raport wynagrodzeń polskich programistów za rok 2020 (Justjoin.it) – przeprowadzone zostało w kilku miastach w Polsce i okazało się, że chociaż wynagrodzenie może się różnić ze względu na miejsce zamieszkania, programista na poziomie juniora zarabia całkiem nieźle. 

Jeśli myślicie o programowaniu, warto wziąć udział w intensywnym szkoleniu i połączyć naukę z aktualną pracą, by za kilka miesięcy wejść do branży, która oferuje pewne pieniądze i dobre stawki. W tym samym raporcie widać, że specjaliści od Javy są jednymi z najlepiej opłacanych programistów.

Stereotypy w IT

Czy każdy może spróbować nauczyć się programowania, czy są osoby, które nie powinny nawet zaczynać?

Paulina Kantor: Zawsze warto nauczyć się czegoś i zainwestować w siebie. Jedynym wyznacznikiem może być to czy programowanie sprawia komuś radość. To jest wymagająca praca – na początku trzeba się wiele rzeczy nauczyć, potem trzeba być cały czas na bieżąco. Trzeba lubić rozwiązywać problemy i nieustanne wyzwania. 

Paulina Brudka: Walczymy też z mitem, że humaniści się nie nadają, a umysły ściłe – owszem. Nie dajcie się zwieść takim poglądom…

Paulina Kantor: Albo że dziewczyny się nie nadają! To moja osobista misja, żeby z tym walczyć. Nie ma czegoś takiego, że faceci bardziej nadają się do programowania niż dziewczyny. To jest bardzo krzywdzący stereotyp. Znam świetne programistki i świetnych programistów, płeć nie ma tu znaczenia. 

Paulina Brudka: Obalamy też stereotyp, że dziewczyny źle będą się czuły w IT! Wiele kobiet ma obawy typu – jak będę się czuła w zespole złożonym z samych mężczyzn? Będą patrzeć na mnie z góry i nie będą szanować mojego zdania… 

Paulina Kantor: Nigdy nie spotkałam się w pracy z sytuacją, że ktoś był dla mnie niemiły, a pracowałam w przeróżnych firmach. Często było tak, że byłam jedyną dziewczyną w zespole, ale widzę, że trend się zmienia. 

Paulina Brudka: Nie dajmy się zaszufladkować. Każdy może uczyć się programowania i ma taką samą szansę w rekrutacji, tak samo dobrze może odnaleźć się w pracy. Trzeba się tylko znać na tym, co się robi. W Future Collars, po tym, kiedy absolwent przejdzie proces wsparcia rekrutacyjnego, polecamy naszych absolwentów do firm partnerskich. 

Q&A

Jak sprawdzić, który kierunek wybrać? Czy są jakieś testy predyspozycji na poszczególne technologie?

Paulina Kantor: Nie ma czegoś takiego. Po prostu trzeba spróbować i sprawdzić, co nam daje większą frajdę. Można spróbować zrobić jakiś projekt w Javie, popróbować JavaScriptu, poświęcić jakiś czas na testy i spróbować.

A jeśli nauczysz się jednego języka programowania, nauka następnych będzie już nieco łatwiejsza. Czy do każdego języka niezbędna jest znajomość SQL?

Paulina Kantor: SQL jest to język obsługi bazy danych. Zarówno w aplikacjach komercyjnych, jak i w zadaniach z Data Science tych baz danych używamy, więc znajomość SQL nie zaszkodzi. 

Framework Spring pojawia się na wielu bootcampach. Co to jest?

Paulina Kantor: To jest biblioteka, która umożliwia nam w łatwy sposób budowanie aplikacji webowych, otwieranych przez przeglądarkę. Dzięki Springowi możemy budować takie aplikacje, integrować je z innymi, dodawać zabezpieczenia. Spring stał się standardem, ale Micronaut jest alternatywą dla tego frameworka. 

Paulina Brudka: Czy branża się nie wysyca juniorami – zapytał uczestnik. Wydaje mi się, że zawsze było tak, regular i mid to częściej poszukiwani pracownicy niż juniorzy. Jak uważasz, Paulino?

Paulina Kantor: To fakt – jest mało widocznych ofert na juniora, mniej niż 10 lat temu, próg wejścia do IT jest teraz trochę wyższy, ale wszystko to jest kwestia samodzielności. Znam historie osób, które od razu wskoczyły na poziom regulara, bo wykazały się umiejętnością uczenia się i wyszukiwania rozwiązań problemów. 

Wszystko zależy od wymagań danej firmy. Do branży najłatwiej jest wejść przez staże i praktyki, ale też różnie z tym bywa. Czasem decyduje osobowość kandydata i firma postanawia zainwestować w jego rozwój. 

Na początku nie wiemy, co chcemy robić i czasem trzeba się sparzyć lub robić coś, czego się nie lubi. I to też jest ważna wiedza, bo kiedy ktoś lubi backend, a niekoniecznie frontend, wie, w którą stronę iść. Trzeba próbować i zmieniać kierunek rozwoju, jeśli okaże się to konieczne.