Od czego zacząć swoją przygodę w branży IT? Rozmowa z Jackiem Hrynczyszynem, Java Developerem
– Polecam każdemu naukę języka Java. Szczególnie warto spróbować, kiedy jest się młodszym, w liceum lub na studiach — wtedy do trzydziestki lub nawet szybciej można zostać seniorem, a wiadomo, z czym to się wiąże. Jeśli komuś spodoba się programowanie, czeka go świetlana przyszłość — uważa Jacek Hrynczyszyn, który przebranżowił się z inżyniera na programistę. A po zaledwie roku został midem.
Spis treści
Cześć! Podobno Twoja przygoda z programowaniem zaczęła się od… spotkania na siłowni. Opowiesz tę historię naszym Czytelnikom?
Tak, to prawda. Jak się chodzi na siłownię o stałej porze, to często spotyka się tych samych ludzi. Poznałem tam kolegę, który okazał się menadżerem w firmie IT. Wymienialiśmy się doświadczeniami z naszych branż i stanowisk – ja opowiadałem mu o tym, jak wygląda praca inżyniera jakości w firmie produkcyjnej, on przybliżył mi świat IT. Spodobała mi się perspektywa zostania programistą, ale nie wiedziałem, od czego zacząć. Kolega polecił mi język Java, w którym sam programował.
Dlaczego byłeś niezadowolony z poprzedniej pracy?
Poprzednia praca była bardzo interesująca i dawała możliwość wykazania się. Niestety, żeby wykonywać ją dobrze i realizować założone cele, trzeba było zostawać dłużej i pracować w nadgodzinach. Szczególnie będąc niedoświadczonym inżynierem, można było łatwo dać „wejść sobie na głowę”. Dodatkowo dojazd do fabryki zajmował mi codziennie czterdzieści minut, a powrót nawet do godziny. Na początku myślałem, że się przyzwyczaję, ale na szczęście w porę uświadomiłem sobie, ile wolnego czasu tracę na nadgodziny i dojazdy.
Jak podszedłeś do zadania związanego z przebranżowieniem? Miałeś ułożony plan, czy działałeś spontanicznie?
Ustaliłem sobie plan, w którym założyłem, że powinienem się uczyć minimum godzinę dziennie w tygodniu i dwie godziny w weekendy oraz że muszę opanować Javę, SQL i Springa. Oczywiście nie było tak kolorowo. Do nauki też traciłem zapał. Zdarzały się dni, a nawet tygodnie, że nie siadałem do programowania w ogóle.
Z jakich materiałów korzystałeś w nauce Javy? Które okazały się najbardziej pomocne?
Zacząłem od darmowego kursu na Udemy — Java Tutorial for Complete Beginners, dzięki któremu zrozumiałem podstawy Javy oraz programowania obiektowego.
Następnie zacząłem czytać książkę Java. Rusz Głową! od Heliona w celu utrwalenia wiedzy. Na późniejszym etapie zrobiłem kurs od M. Zelenta na YT z relacyjnych baz danych — jest super, bo oprócz teorii zawiera też praktyczne ćwiczenia. Z tutoriali nauczyłem się o kolekcjach i testowaniu jednostkowym, na końcu wziąłem się za Springa i Hibernate. Polecam wyszukiwać darmowe materiały z YT — wśród youtuberów jest duża konkurencja, dzięki czemu robią coraz lepsze wideo. Do trenowania algorytmów używałem takich stron jak hackerrank.com oraz codingbat.com.
Czy wykształcenie inżynieryjne pomogło Ci w jakiś sposób w nauce programowania?
Inżynier, żeby rozwiązać problem, powinien bardzo dobrze zrozumieć proces oraz czynniki wpływające na niego. Tak samo było podczas mojej nauki programowania — nie wystarczyło mi połowiczne zrozumienie tematu, czytałem więcej i więcej, aż czułem, że jestem w stanie wytłumaczyć własnymi słowami dane zagadnienie.
Co spodobało Ci się w języku Java?
Java jest językiem obiektowym, obiekty są reprezentacją klas. Łatwo było mi zrozumieć ten paradygmat, ponieważ wystarczyło wziąć przykłady ze świata rzeczywistego, np. klasa Animal może mieć atrybuty — masa czy gatunek oraz metody — ryczenie, przemieszczanie się. Dla każdego zwierzęcia (obiektu) atrybuty mogą mieć inne wartości, a metody mogą mieć różne zachowanie w zależności od wartości parametrów.
Dodatkowo raz napisany kod można wykorzystywać w wielu miejscach. Dużą zaletą kodowania w Javie jest też ogromna społeczność pełna wspierających się specjalistów oraz fakt, że jest to bardzo popularny język. To sprawia, że z dużym prawdopodobieństwem inni programiści już wcześniej napotkali większość problemów i ich rozwiązania można znaleźć na Stack Overflow.
Jak oceniasz stopień trudności tego języka?
Wydaję mi się, że w porównaniu do języków nieobiektowych Java jest trudniejsza.
Po jakim czasie uznałeś, że jesteś gotowy na swoją pierwszą pracę w IT?
Długo wydawało mi się, że nie byłem gotowy. Po około 1.5 roku zacząłem wysyłać CV. Teraz po czasie myślę, że mogłem szybciej zacząć chodzić na rozmowy, wtedy wiedziałbym, jakie mam braki i na czym powinienem się skupić.