Partner serwisu
31 marca 2021

Przyszły Programista - Opinia i wywiad z Marcinem Kapelą, absolwentem Projektu

Kategoria: Aktualności

Czy uśmiechnięty farmaceuta, miłośnik crossfitu oraz literatury fantasy, od czasu do czasu stoicko zanurzający się w książkach rozprawiających o życiu i filozofii, może skutecznie nauczyć się programowania i połączyć dotychczasowe pasje? Okazuje się, że z Projektem "Przyszły Programista" odpowiedź jest twierdząca.

Przyszły Programista - Opinia i wywiad z Marcinem Kapelą, absolwentem Projektu

Marcin Kapela studiował farmację na Uniwersytecie Medycznym w Poznaniu zanim wziął udział w Projekcie "Przyszły Programista". W wywiadzie znajdziesz informacje o przebiegu rekrutacji do jego pierwszej pracy w branży IT. Odpowiedzi Marcina zawierają cenne wskazówki odnośnie nauki programowania. Rady naszego absolwenta pokazują, na co zwrócić uwagę na początku drogi do zostania programistą. O Projekcie "Przyszły Programista" opinie znajdziesz też tutaj.

 

Zapraszamy do zapoznania się z historią naszego absolwenta, który po 10 miesiącach wytężonej pracy zmienił swoje życie zawodowe o 180 stopni.

 

Rozmowa z absolwentem Projektu "Przyszły Programista"

Artur Nowakowski: Czy jako farmaceuta pracowałeś w swoim zawodzie?

Marcin Kapela: Tak, w sumie około 5 lat.

Dlaczego zdecydowałeś się wziąć udział w szkoleniu i wybrałeś Projekt “Przyszły Programista”?

O nauce programowania myślałem wcześniej, blisko rok, bo temat wydawał mi się niezmiernie ciekawy i rozwijający. Kupiłem nawet książkę do nauki Javy od podstaw. Jednak po miesiącu się poddałem, gdyż bez żadnego mentoringu nie potrafiłem poradzić sobie z tematem. Później przez sprawy osobiste temat trochę poszedł w odstawkę, aż tu nagle brat podzielił się ze mną pozytywną opinią o szkoleniu Przyszły Programista, na które niedawno się zapisał i ja też postanowiłem spróbować.

W naszym Projekcie szkolą się studenci po studiach inżynierskich i przedmiotach ścisłych. Czy według Ciebie studiowanie takich kierunków pomaga w nauce programowania?

Tego typu kierunki wymagają zdolności logicznego myślenia, które jest niezbędne w tym zawodzie. Łatwość lub przyjemność nauki przedmiotów ścisłych na pewno predysponuje do nauki programowania, dlatego jest to fajny wyznacznik.

Jakie języki i technologie poznałeś w trakcie szkolenia? Jakie aplikacje stworzyłeś w trakcie szkolenia? Z której aplikacji jesteś najbardziej dumny i która najwięcej Cię nauczyła?

Poznałem C++, PHP, MySQL, JavaScript, CSS, HTML, JAVA, GIT, C#.  Mój pierwszy poważny projekt to książka adresowa (C++). Dalej to:  - strona internetowa o sobie w WordPressie: www.marcinkapela.pl, - aplikacja webowa o finansach osobistych zbudowana w oparciu o framework MVC, - aplikacja pogodowa i klient pocztowy napisany w języku Java,  - gra typu ping-pong stworzona w C++. Dumny byłem ze wszystkich projektów, jednak największą wartość wyniosłem z code review z aplikacji pogodowej napisanej w Javie. Feedback od doświadczonej osoby trzeciej, która może spojrzeć na twój kod jest bezcenny podczas nauki. Jest to moim zdaniem najlepszy i najszybszy sposób nauki pisania dobrego kodu. W pracy zawodowej, taki code review staje się codziennością, przez co nauka nabiera naprawdę tępa.

Jakie widzisz plusy poznania tak wielu technologii? Jak szybko uczysz się teraz nowych języków i technologii? Czy masz poczucie, że teraz możesz stworzyć wszystko co sobie tylko wymyślisz?

Im więcej technologii się zna, tym więcej widzi się możliwości i jest się bardziej otwartym na nowe rzeczy. Języki czy technologie same w sobie mają wiele wspólnych cech, więc czas na naukę następnych maleje wykładniczo. Czasami wystarcza przejrzenie tylko oficjalnej dokumentacji.  Zgłębiając coraz bardziej świat IT człowiek coraz bardziej zdaje sobie sprawę, jak ten świat jest złożony i rozbudowany. Zdaje sobie również sprawę, że każda technologia ma jakieś ograniczenia lub przewagi nad innymi, dzięki czemu nie zamykamy się w obrębie jednego języka czy frameworka. Stworzenie czegokolwiek faktycznie wiąże się tylko z kwestią czasu zrozumienia technologii, których nie znasz, a potrzebujesz. Póki co zdarza mi się to cały czas.

Czy miałeś chwile zwątpienia, że programowanie nie jest dla Ciebie i jeśli tak, to jak sobie w takich sytuacjach poradziłeś?

Pierwsze spotkanie z “nierozwiązywalnym” bugiem na pewno takie było. Przespanie się z problemem wystarczyło, a gdy już raz sobie poradzisz, potem wiesz już co robić. Rozwiązywanie takich problemów jest niesamowicie satysfakcjonujące. Im trudniejszy problem, tym większą radość daje jego rozwiązanie. Jest to bardzo uzależniające. W pracy poznałem też metodę debugowania z wykorzystaniem żółtej kaczuszki (polecam wyszukać w Google).

Z jakich powodów zdecydowałeś się szukać pracy jako programista PHP i czy jesteś zadowolony ze swojej decyzji?

Rodzaj technologii czy języka w pierwszej pracy nie miał dla mnie większego znaczenia, bo wszystkie coś fajnego w sobie mają moim zdaniem, choć bardziej kręciły mnie backendowe technologie. Pierwszą pracę, żeby się “zahaczyć” było podobno najtrudniej znaleźć, więc też nie chciałem specjalnie wybrzydzać.  Programista PHP był moją pierwszą poważną ofertą pracy, z tego też powodu, że poznański rynek pracy obfituje w oferty pracy w tym języku. Jestem bardzo zadowolony między innymi przez zespół, w którym pracuję. Poza ciekawą i satysfakcjonującą pracą, dobra atmosfera pracy jest dla mnie tu niezbędna. Niedawno zaczęliśmy piwkowy cykl spotkań, który odbywa się po pracy. Ostatnio tematem przewodnim było nasze IDE, (pluginy, skróty klawiszowe ułatwiające pracę), a na następnym mamy poruszyć temat zaawansowanego GIT’a. Bardzo mi odpowiada ta rozwojowa atmosfera.

Powiedz proszę o swoich poszukiwaniach pracy po ukończeniu Projektu. Na jakie stanowiska aplikowałeś? Na ilu byłeś rozmowach rekrutacyjnych, jak długo szukałeś pracy i jak wypadłeś na rozmowach rekrutacyjnych? Czy uważasz, że zostałeś dobrze przygotowany do tych rozmów?

Aplikowałem globalnie na wszystkie stanowiska. Frontend, backend, Java, JS, PHP, C#, C++, junior, mid, senior. Może czasami nie było sensu, ale wysłanie CV kosztuje niewiele wysiłku. Samo poszukiwanie zajęło mi około 5 tygodni, w tym przez 3 tygodnie wysyłałem CV z błędnym numerem telefonu. W moim przypadku poszło dosyć gładko, bo już za pierwszym razem.  Czy dobrze zostałem przygotowany do rozmów?  Pracuję jako programista, więc: tak. Mój przyszły szef był na pewno pozytywnie zaskoczony znajomością wzorców projektowych oraz poziomem refaktoryzacji kodu, które na kursie są przerabiane.  Moja opinia o projekcie Przyszły Programista jest taka, że kurs dobrze przygotowuje do przyszłej pracy. Jej znalezienie mówi tu samo za siebie. 

W jakiej firmie pracujesz i jak przebiegała rekrutacja na stanowisko, na które aplikowałeś?

Pracuję w jednej z poznańskich firm tworzących i rozwijających aplikacje internetowe.  Najpierw dostałem test online do rozwiązania, który trwał 60 minut - na rozmowie dowiedziałem się, że tykający czas miał tylko wywołać presję czasu i tylko tyle. 70% z pytań z testu to były zagadki logiczne.  Jedno z zadań otwartych polegało na refaktoryzacji podanego kodu pod kątem wzorca projektowego strategia. Drugie z zadań otwartych dotyczyło ułożenia zapytania do bazy danych, aby otrzymać wynik z kilku tabel o niepowtarzalnych rekordach. Ostatnie zadanie otwarte wymagało ułożenia prostego wyrażenia regularnego. Po tygodniu zostałem zaproszony na rozmowę kwalifikacyjną. Trwała ona półtorej godziny. Na starcie zostałem poinformowany, że najważniejszą dla nich cechą jest umiejętność logicznego myślenia, reszty zawsze mogę się douczyć.  Dostałem do rozwiązania zadanie nazwane przez mojego przyszłego szefa "algorytmem skoczka" (próbowałem odnaleźć je w Google, ale bezskutecznie). W skrócie polegało ono na tym, że dostałem rozrysowany na tablicy graf słupkowy, który był planszą dla naszego skoczka. Skoczek ów, według pewnego algorytmu miał skakać na następne słupki. Musiałem opracować schemat, według którego skoczek znajdzie się na najdalszym słupku i wykona jak najmniejszą liczbę skoków. Następnie rozmawialiśmy luźno na temat wzorców projektów, po czym miałem dokładnie opisać wzorzec fabryki oraz sytuacje w jakich może być przydatny. Na koniec dostałem do refaktoryzacji prostego if'a. Miałem to zrobić tak, aby inny programista bez zastanowienia wiedział o co w nim chodzi. O PHP nie zostałem zapytany ani razu.  

Co należy do Twoich obowiązków? Jak Ci się tam pracuje oraz czy praca daje Ci satysfakcję?

Jestem w zespole rozwijającym aplikację do zarządzania i grania na giełdach kryptowalutowych. Wraz ze swoim seniorem tworzymy część backendową nowych funkcjonalności zgodnie z życzeniami klientów. Do tej pory mam na koncie złożony system subskrypcji pisany od podstaw wraz z wykorzystaniem bramek płatności walutowych i kryptowalutowych. Aktualnie jesteśmy w trakcie implementacji API nowej giełdy. Jest to bardzo satysfakcjonująca i ciekawa praca. Opisując ją bardziej szczegółowo. Raz na dwa tygodnie spotykamy się z klientami, żeby omówić postęp prac, problemy, nowe funkcjonalności (można to też nazwać sprintami). Na podstawie tych spotkań tworzymy listę tasków /zadań, które dzielą naszą pracę na mniejsze etapy. Następnie dzielimy się nimi lub wykonujemy je po kolei. Gdy uda nam się wykonać wszystkie taski i przygotować dokumentację, frontendowcy na jej podstawie przygotowują część frontową dla naszej nowej funkcjonalności. Tak gotową aplikację wrzucamy na specjalny serwer testowy pierwszej instancji, by sprawdzić, czy wszystko działa. Po odpowiednich poprawkach aplikacja wrzucana jest na serwer testowy drugiej instancji, gdzie testów dokonują klienci i sugerują inne poprawki. Jest to moment konfrontacji wyobrażenia klientów o nowej funkcjonalności wraz z gotowym produktem, więc bywa tu różnie. Kiedy klienci zaakceptują nową funkcjonalność, dopiero wtedy jest ona integrowana z produkcyjną wersją aplikacji.

przyszły programista opinie

Jak dobrze Projekt “Przyszły Programista” przygotował Cię do wykonywania zawodu programisty oraz czy Twój przełożony jest zadowolony z Twojego przygotowania do pracy jako programista?

Próg wejścia na rynek moim zdaniem jest zachowany, choć na początku bardzo szybko trzeba się nauczyć i tak wielu nowych rzeczy. Oprócz języka programowania, bardzo często korzysta się z frameworków, które często tworzą własny styl pisania kodu. Jest ich bardzo dużo, ale warto znać co najmniej jeden wcześniej. Podstawą pracy z aplikacjami webowymi jest też praca z dockerem, którego też warto wcześniej opanować. Największym atutem kursu jest na pewno wyrobienie dobrych nawyków pisania czystego kodu oraz przyswojenie sobie zagadnień z wzorców projektowych, na co mój przełożony zwrócił szczególną uwagę. 

Które z poznanych na szkoleniu rzeczy najbardziej przydają Ci się teraz w pracy?

Wszystkie mają wartość i trudno mi to ocenić. Aktualnie korzystam na pewno z PHP, SQL’a, GIT’a, zasad pisania czystego kodu i wzorców projektowych.

Jak dużo wolnego czasu masz w tygodniu pracując jako programista i czy jest to wystarczająca ilość, aby móc jednocześnie realizować swoje pasje oraz poświęcać czas swojej rodzinie i przyjaciołom?

Jestem zatrudniony na etat, więc każdy mniej więcej wie ile pochłania to z dnia. Wydaje mi się, że kwestia wolnego czasu to raczej istota jego organizacji, a nie rodzaju wykonywanej pracy. Mój czas pracy faktycznie jest dość elastyczny. Mogę czasami posiedzieć trochę dłużej, by innego dnia posiedzieć trochę krócej. Mam też dwugodzinne okienko rano, w którym powinienem pojawić się w pracy. Najbardziej jednak cieszę się z wolnych wszystkich weekendów i świąt, co nie było takie oczywiste w pracy farmaceuty.

Jak oceniasz swoją wiedzę i umiejętności programistyczne w porównaniu do programistów, którzy przed rozpoczęciem pracy w branży IT studiowali Informatykę?

Faktycznie studia informatyczne dają lepszą znajomość podstaw z branży IT oraz większy wachlarz technologii. Z zazdrością czasami słucham o Asemblerze czy pisaniu kodu na kartce papieru. Wszystko jednak da się nadrobić.

Jakie są według Ciebie pozytywne i negatywne aspekty pracy programisty?

Pozytywy: satysfakcja z pracy, nieustanne rozkminy i rozwój, a także wolne weekendy i święta. Negatywy: czasami jak się pali termin, to trzeba posiedzieć dłużej w pracy; brak ruchu bywa zabójczy dla kondycji i zdrowia, więc niezbędne jest planowanie sobie dodatkowej aktywności fizycznej.

Co byś powiedział osobom, które rozważają rozpoczęcie nauki programowania i chcą zostać programistą? 

Jak nie spróbujesz, to się nie przekonasz. Wyobrażenia często mijają się z rzeczywistością. Just do it.

Dołącz i Ty do fascynującego świata IT!

Spodobał Ci się powyższy wywiad? Chcesz zostać profesjonalnym programistą dla którego programowanie stanie się pasją? Jesteś inżynierem lub absolwentem studiów ścisłych? Jeśli odpowiedziałeś 3xTAK, to możesz wziąć udział w rekrutacji do Projektu „Przyszły Programista”!

Jeśli przejdziesz wymagającą rekrutację, a następnie ambitne szkolenie, to droga do świata IT stanie przed Tobą otworem! Wejdź teraz na stronę rekrutacji do Projektu a następnie wyślij swoje CV na dole strony w formularzu i przekonaj się, czy nadajesz się na programistę!

Satysfakcjonujących Wyzwań!

Artur Nowakowski z Zespołem Projektu „Przyszły Programista”

P.S.

Jeśli natomiast chcesz sprawdzić jak dobrym programistą mógłbyś być, to przejdź na stronę z raportem i pobierz darmowy raport, który dla Ciebie przygotowano.

Sprawdź – Jak dobrym programistą mógłbyś być!

źródło: inf. prasowa
fot. PrzyszłyProgramista.pl
ZAMKNIJ X
Strona używa plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies. OK, AKCEPTUJĘ