Do podjęcia pracy przekonał mnie zaangażowany CTO. Historia Emila Maraszka
Emil pierwsze projekty realizował jeszcze w technikum. Gdy znalazł pierwszą pracę w IT – zwiedziony niespełnionymi obietnicami przełożonego, odszedł, by przez pięć lat działać na rynku jako freelancer. Dziś uważa, że szybciej i więcej nauczyłby się, gdyby wcześniej trafił do takiej firmy jak alterpage.
Zapytaliśmy go o to, jak określiłby idealny zespół developerów. – Znam sytuacje, w których cały zespół zostawał po godzinach, tylko i wyłącznie po to, żeby wspólnie rozwiązać problem, z którym zmagał się jeden z jego członków. Takich ludzi poszukujemy właśnie do alterpage – powiedział nam w rozmowie. Poznajcie historię Emila Maraszka, Senior Backend Developera w alterpage.
Spis treści
Jak wyglądały początki Twojej przygody z programowaniem?
Swój pierwszy komputer dostałem w wieku 11 lat. Pamiętam, że ogromne wrażenie zrobiło na mnie to, że odkrywanie jego możliwości dzięki interfejsowi systemowemu było bardzo intuicyjne. „Przeklikałem się” dosłownie przez wszystkie dostępne foldery i aplikacje systemowe. Co ciekawe, wrażenia nie zrobiły na mnie programy takie jak Paint czy Saper, którymi fascynowała się większość moich rówieśników. Swoją motywację w poznawaniu komputera upatrywałem w tym, żeby zrozumieć do czego można wykorzystać dostępne narzędzia. Chciałem wiedzieć w jaki sposób usprawniają one pracę ludzi, dla których zostały stworzone. Ciekawiło mnie jakie możliwości daje system operacyjny; czym jest i jak wyglądają jego zakamarki, których na pierwszy rzut oka nie widać. Godzinami siedziałem nad odkrywaniem funkcjonalności i zastosowań pakietu MS Office.
Regularnie kupowałem czasopismo „Komputer Świat”, dzięki któremu zetknąłem się z zagadnieniem archiwizacji danych, optymalizacji systemu operacyjnego itp. Pewnego dnia zupełnie przypadkiem, obejrzałem w telewizji program o aplikacjach internetowych i przypuszczeniu jak w najbliższych dekadach mogą one zmienić świat. Był to czas, gdy internet dopiero wchodził do mieszkań zwykłych Kowalskich, jednak ze względu na koszty, nie wszyscy mogli sobie na niego pozwolić.
To zazwyczaj fragment w historii programisty, który właśnie złapał przysłowiowego “bakcyla”.
Zacząłem szukać informacji na temat tego czym jest sieć, jak działają przeglądarki internetowe i jakie dane wyświetlają. W ten sposób dowiedziałem się o istnieniu języka html, którego szybko zacząłem się uczyć na własną rękę. Kolejnym krokiem było zdobywanie wiedzy na temat JavaScriptu, CSS, PHPa i baz danych. Po skończeniu gimnazjum bez namysłu zdecydowałem, że swoją edukację zwiążę ze swoimi zainteresowaniami i w ten sposób wylądowałem w technikum informatycznym. Poziom szkoły do której trafiłem był nawet wysoki jednak dla mnie wiedzy było za mało.
Dostępność materiałów z roku na rok poprawiała się jednak pochodzę z małej miejscowości i zarówno mnie, jak i rodziców nie stać było na książki, podobnie jak na stałe łącze internetowe w domu. Radziłem sobie więc w inny sposób – w szkole pobierałem z internetu tutoriale zarówno w języku polskim, jak i angielskim, które drukowałem w domu i to na ich podstawie tworzyłem kolejne linijki kodu. Kod powstawał w oparciu o aplikację imitującą serwer na systemie Windows. Można więc powiedzieć, że programowałem bez internetu. Nie zrażałem się tym, że nie robiłem postępów zbyt szybko. Z jednej strony miałem dostęp do wiedzy, z drugiej nie do końca wiedziałem co mogę z nią zrobić. Eksperymentowałem więc właściwie każdego dnia stając przed coraz to nowymi trudnościami.
Mam świadomość, że moja pasja programowania spowodowała, że koszty ponosiłem w innych sferach życia, np. takich jak relacje międzyludzkie. Ciężka praca zaowocowała jednak tym, że na koniec szkoły zarobiłem pierwsze poważne pieniądze, pisząc na zaliczenie system osobom, których umiejętności były zbyt małe, żeby skutecznie zakończyć edukację. Dzięki temu nawiązałem głębsze relacje z wieloma osobami, z którymi kontakt utrzymuję do dziś. Warto dodać, że dzięki zarobionym środkom, spłaciłem kredyt rodziców, którzy znaleźli się w trudnej sytuacji finansowej.
Jak znalazłeś pierwszą pracę w IT? Czego w niej się nauczyłeś?
Po skończeniu technikum od razu rozpocząłem poszukiwanie miejsca, w którym mógłbym uczyć się od bardziej doświadczonych programistów i wykorzystywać zdobyte do tej pory umiejętności, do tworzenia projektów komercyjnych, mających zastosowanie w codziennej pracy użytkowników. Trafiłem do zespołu składającego się z trzech developerów (w tym mnie). Naszym zadaniem było zaprojektowanie i wdrożenie „reużywalnego” systemu do zarządzania treścią (CMSa), tak żeby firma mogła niskim kosztem i nakładem pracy „produkować” strony internetowe dla szerokiego grona odbiorców. W bardzo krótkim czasie okazało się jednak, że wspomniani programiści opuścili firmę i „zespół” zaczął składać się tylko z jednej osoby, ze mnie. Zostałem sam na placu boju, jednak jak już wcześniej wspomniałem na myśl o tym, co jest do zrobienia nie ugięły mi się kolana, lecz zmotywowałem się do cięższej pracy.
Miałem świadomość, że moje doświadczenie w zakresie stosowania wzorców i standardów projektowych jest zerowe. Nie wiedziałem, jak powinno wyglądać i jak realizuje się tego typu zadania w innych firmach. Lekcja jaką dostałem w tym miejscu pozwoliła mi więc na rozwinięciu poczucia odpowiedzialności i samodzielności. Po skończeniu projektu i braku perspektyw na zbudowanie zespołu przez właściciela firmy, zdecydowałem o odejściu i realizacji własnego pomysłu, którym było… zbudowanie własnego CMSa do stron internetowych sprzedawanych zespołom muzycznym, dla których realizowałem projekty jeszcze w czasach technikum. Tak zrodził się mój mały biznes, który prowadziłem 5 lat jednocześnie kształcąc się i podpytując developerów pracujących w różnych firmach jak wygląda u nich praca. Przez ten okres, nieustannie się rozwijałem poznając coraz to nowe języki i aspekty programowania.
Wielu początkujących wątpi w swoje umiejętności – pamiętasz moment, w którym zrozumiałeś, że programowanie to dla Ciebie coś więcej niż praca?
To zależy, jak rozumiemy słowo „praca”. Jeśli traktujemy je jako zajęcie zarobkowe to prawda jest taka, że programowanie nigdy nią dla mnie nie było. Projekty realizowane na własne potrzeby służące mojemu rozwojowi również można sklasyfikować jako „pracę”, co prawda pozbawioną wynagrodzenia, ale jednak „pożerającą” czas. Zarówno w trakcie pracy zarobkowej, jak i programując na własne potrzeby nigdy nie odczuwałem, że pracuję. Czas przy programowaniu zawsze pędzi dla mnie z prędkością światła. Programowanie nigdy mnie nie męczy. Bierze się to z tego, że od zawsze lubiłem coś wytwarzać, a poprzez efekty swojej pracy mieć wpływ na dane procesy, branżę.
Lubię być twórcą, spełnia mnie to, że mogę w pewnym aspekcie zmienić świat poprzez np. ułatwienie życia innym. Powiem też coś co obecnie nie jest popularne: nie pracuję dla pieniędzy, chociaż oczywiście codziennie korzystam z tego, że je zarabiam. Nie chodzi więc o to, że chcę pracować za darmo, jednak nie jest to czynnik determinujący moje podejście do wykonywanej pracy. Kiedy zaczynałem interesować się programowaniem, rynek nie był tak zwariowany jak obecnie, a zapotrzebowanie na programistów było o wiele mniejsze. Miałem jednak przeczucie, że koncentrując się na rozwijaniu umiejętności w tej branży, nigdy nie będę mieć problemu ze znalezieniem pracy.
Jak trafiłeś do alterpage? Jak wyglądał Twój proces wdrożenia, pierwszy miesiąc, rok?
Ciężko w to uwierzyć, ale alterpage przykuło moją uwagę… swoim logo. Przed rebrandingiem, który firma przeszła w 2020 roku, miało ono kolor niebieski, który jest moim ulubionym. Zdecydowałem, że pomimo małego doświadczenia i mając świadomość, że przede mną jeszcze sporo nauki, wyślę CV na stanowisko Backend Developera. Rekrutacja podzielona była na dwa etapy. Pierwszy, czyli spotkanie, odbyło się w siedzibie firmy, a obecni na nim byli CTO i główny project manager (obaj pełniący funkcje członków zarządu i posiadający równe udziały). Podczas rozmowy zaimponowała mi wiedza CTO, a także jego podejście, które pełne było pasji i zaangażowania. Wiedziałem, że podobnie jak ja, nie traktuje programowania wyłącznie jako formy zarobkowania, ale że również w czasie wolnym rozwija się, zdobywając nową wiedzę.
Co jeszcze Cię zaciekawiło?
Przedstawiona została mi jasna ścieżka rozwoju – technologie, w których firma pracuje i które z sukcesem chce w przyszłości rozwijać. Zależało mi na tym, żeby poznać właśnie te aspekty, ponieważ chciałem uniknąć rozczarowania jakim były doświadczenia związane z moją poprzednią pracą. Co prawda alterpage w tamtym czasie dopiero tworzyło zespół i budowało swoją pozycję na rynku, jednak projekty, które realizowali były różnorodne i atrakcyjne z perspektywy wyzwań jakie ze sobą niosły. Dokładając do tego fakt, że nigdy nie ciągnęło mnie do pracy w korporacji (mam na ten temat bardzo skrajne zdanie) zdecydowałem, że po otrzymaniu pozytywnej decyzji, spróbuję swoich sił i przyjąłem propozycję. Oczywiście odpowiedź od alterpage nie była jedyna, jednak osoby, które brały udział w procesie mojej rekrutacji w innych firmach sprawiały wrażenie bardzo niekompetentnych.
Jak wyglądały pierwsze dni w nowej pracy?
Przez pierwsze dni byłem cieniem swojego przełożonego (CTO), który programował na moich oczach, odsłaniając przede mną całe flow wytwarzania oprogramowania, zapoznawał z aktualnymi ustaleniami projektowymi, narzędziami i wdrażał w procedury zarządzania projektem i codziennego funkcjonowania firmy. Na bieżąco odpowiadał też na moje pytania, co było dla mnie o tyle cenne, że pewne nieznane mi dotąd kwestie były wyjaśniane od razu i to w kontekście prac, które aktualnie były realizowane. Po tak intensywnym początku otrzymałem własne stanowisko pracy, a CTO zaczął przydzielać mi pierwsze zadania. Przez cały czas asystował mi gdy pojawiała się taka potrzeba. Był bardzo zaangażowany, nawet wówczas gdy w mojej ocenie byłem już w pełni samodzielny – w wolnym czasie sprawdzał mój kod i dawał do niego swoje uwagi/komentarze, wskazując co można by zrobić jeszcze lepiej. Tak jak wspomniałem, był prawdziwym pasjonatem.
Kolejne miesiące i lata to zwiększanie odpowiedzialności i wychodzenie ze skóry Juniora. Dzięki poczuciu tego, że zespołowi zależy na moim rozwoju i tego, że wszyscy są ze sobą na dobre i na złe, strach przed odpowiedzialnością był stosunkowo mały. Wiedziałem, że w razie problemów, zawsze znajdzie się ktoś, kto pomoże naprawić kod lub znaleźć przyczynę problemu. Ponieważ w alterpage pracuję już prawie 6 lat widziałem jak proces wdrażania zmieniał się na przestrzeni lat i zdecydowanie stwierdzam, że standardy w tym zakresie nie tylko zostały utrzymane, ale też z roku na rok są podnoszone. Obecnie sam czynnie biorę udział we wdrażaniu, mając w pamięci wzorce CTO, z którym przyszło mi pracować w pierwszych dniach w firmie.
Jak dbałeś na początku, a jak dbasz o swój rozwój dzisiaj?
Przede wszystkim nie zwalniam tempa. Jestem świadomy, że developer tak jak prawnik, lekarz czy chociażby księgowy, musi być na bieżąco z nowinkami, których każdego dnia pojawia się wiele w różnych aspektach. Nie chodzi oczywiście o to, żeby ślepo od razu stosować to co jest nowe. Jednak trzymanie ręki na pulsie i monitorowanie rozwoju np. nowego frameworka umożliwia łatwiejsze rozpoczęcie korzystania z niego wówczas, gdy stanie się on popularny i wspierany gremialnie przez społeczność.
Z jakich materiałów korzystasz i gdzie zdobywasz wiedzę?
Koncentruję się na specjalistycznych portalach, forach i grupach tematycznych, w których znajdują się ludzie mający już kilkuletnie doświadczenie i będący na poziomie rozważań jak nowa technologia może zostać wykorzystana i jakie zalety będą płynęły z jej stosowania. W takim otoczeniu o wiele łatwiej dyskutować i spierać się, zamiast tłumaczyć (np. początkującym) po co dana technologia została stworzona i jakie może mieć ona przełożenie na obecne rozwiązania. Poza dostępem do darmowej wiedzy, uczestniczę również w miarę potrzeb w kursach i czytam książki, które są w pełni sponsorowane przez firmę. W wymiarze wnoszenia przez członka zespołu nowej wiedzy, budżet przyjęty na tego typu elementy procentuje każdego dnia.
Co uważasz dzisiaj za swój największy sukces? Najtrudniejszy projekt, a może było to coś zupełnie innego?
Nie wiem, czy będę wiarygodny jak powiem, że największym sukcesem, jest to, że pracuję w firmie, która nie podcina mi skrzydeł. Mam możliwość wpływania na stack technologiczny, tworzenie architektury projektu i doprecyzowania jego założeń. Nie dostaję więc z góry zadań, których kurczowo mam się trzymać, pełniąc rolę wykonawczą. To mi przypada rola setupowania, projektowania i ustalania kluczowych kwestii. Tak szerokie możliwości sprawiają, że każdego dnia przychodzę do pracy pełen zapału i energii do podejmowania strategicznych decyzji. Sprawia mi to niesamowitą przyjemność, ale wiem, że jest to efekt ponad 6-letniej współpracy i tego, ile wysiłku kosztowało mnie to, że jestem właśnie w tym miejscu, w którym jestem.
Przez ten czas znacząco się rozwinąłem i podniosłem kwalifikacje – nauczyłem się Redisa, Elastic Search, frameworka Phalcon, tworzenia architektury aplikacji, zarządzania czasem, działań dotyczących kontroli ryzyka, wykorzystania serwerów na potrzeby komercyjne, konfigurowania środowisk, czy chociażby stosowania wzorców projektowych. Dla wielu moich znajomych (w tym programistów) to, że pracuję w tej samej firmie tak długo jest kompletnie niezrozumiałe.
Doceniam jednak to, że zostałem obdarzony bezgranicznym zaufaniem, mam bezpośredni kontakt z zarządem, który radzi się mnie w kluczowych kwestiach i że (co najważniejsze) znalazłem miejsce, w którym czuję się dobrze i w którym jestem doceniany za codzienny wkład w rozwój firmy. Decyzja o zmianie pracy wynika często z różnych powodów, do których zaliczyć można np. brak rozwoju, mało ambitne projekty, słabo nakreślona ścieżka kierunku, w którym podąża firma, czy niekompetentny zespół. Żaden z wymienionych elementów nie występuje w alterpage, więc odpowiedź jest oczywista.
Co mógłbyś doradzić początkującym programistom – jak mogą pomóc sobie w rozwoju ścieżki kariery?
Rozwój najszybciej dokonuje się w środowisku komercyjnym. To w nim pojawiają się wyzwania i problemy, obok których nie można przejść obojętnie, ponieważ klient wymaga, a zespół czeka na Twój udział. Projekty komercyjne mają też tę zaletę, że ich realizacja ma uzasadnienie biznesowe. Zostaną one wdrożone, a korzystać z nich będą użytkownicy docelowi. Osoba stawiająca pierwsze kroki nie musi więc tracić czasu na wymyślanie sobie zadań, na podstawie których będzie się rozwijać, tylko od razu przejdzie do rozwiązywania rzeczywistych problemów. Należy więc śmiało ruszyć na rynek pracy z wiedzą, którą się ma, w poszukiwaniu miejsca, w którym są otwarci ludzie posiadający doświadczenie i różne spojrzenie na te same kwestie.
Wielu juniorów od miesięcy szuka pracy, co coraz bardziej zniechęca ich do branży IT.
Uważam, że nawet jeżeli trochę czasu zajmie znalezienie tego wymarzonego miejsca do budowania umiejętności, to już same procesy rekrutacyjne pozwolą nauczyć się technik stosowanych przez pracodawców i zadań weryfikujących umiejętności. „Zahaczając się” na pokładzie agencji interaktywnej, software house’u czy trafiając do działu IT w firmie nie zajmującej się stricte programowaniem, trzeba wyczuć czy mamy otwarte pole do popełniania błędów i jakie jest nastawienie liderów zespołu do nauki. Firma nie powinna blokować rozwoju i nie ganić za potknięcia, które na początku są czymś normalnym.
Junior nie powinien być również skupiony wyłącznie na pieniądzach i mieć głębokie pokłady zapału. Programista musi posiadać też pewien zestaw cech, które są kluczowe w osiągnięciu sukcesu, w tym przede wszystkim dużo pokory i wiary w samego siebie. Nie może się bać, ponieważ jest to zawód, charakteryzujący się dużą presją. Wynika ona głównie z wynagrodzeń, które niekiedy są lwią częścią kosztów kadrowych przedsiębiorstw.
Co z perspektywy czasu zmieniłbyś w swojej ścieżce kariery? Co zrobił inaczej?
Niewiele, ponieważ uważam, że dobrze pokierowałem swoją karierą i jej rozwojem. Uważam jednak, że błąd popełniłem po odejściu z pierwszej pracy, która jak wiemy nie spełniała moich oczekiwań. Zrażony niezrealizowanymi obietnicami pracodawcy stwierdziłem, że nie zaufam kolejnemu i rozpocząłem naukę na własnych błędach bez zespołu, w pojedynkę. Przez 5 lat sprzedawania swoich usług i autorskiego rozwoju (pomimo sporadycznego kontaktu z innymi programistami) zrobiłem na pewno mniejszy progres niż gdybym był częścią doświadczonego zespołu. W tym kontekście uważam, że bardzo ważne było dla mnie rozpoczęcie pracy w alterpage i codzienna współpraca w projektach z różnymi ludźmi. Nie jestem więc zwolennikiem pracy zdalnej, ponieważ uważam, że ma ona negatywny wpływ na tempo zdobywania wiedzy i jakość nabywanych umiejętności.
Jakie masz wyobrażenia na temat idealnego teamu, pracy w zespole?
Idealny zespół nie istnieje, ale należy robić wszystko, żeby wokół jednej idei (wytwarzania jak najlepszego oprogramowania) zebrać ludzi, którzy chcą się nieustannie rozwijać i podnosić poprzeczkę, a także czują odpowiedzialność za wspólny cel i pracę, którą razem wykonują. Wiem, że takie zgrane zespoły istnieją. Ze swojego podwórka znam sytuacje, w których cały zespół zostawał po godzinach, tylko i wyłącznie po to, żeby wspólnie rozwiązać problem, z którym zmagał się jeden z jego członków. Takich ludzi poszukujemy właśnie do alterpage; zaangażowanych, mających własne zdanie i chcących brać udział w rozwoju firmy, który ma duży potencjał do wygrywania coraz ciekawszych projektów wymagających wykorzystania wydajnych, nowoczesnych technologii.
Emil Maraszek. Senior Backend developer w alterpage. Pasjonat nowych technologii, backendowych i nie tylko. Miłośnik programowania w języku PHP. Nieustannie uczy się czegoś nowego i prototypuje rozwiązania, które z sukcesem wdraża w wersji produkcyjnej. W wolnych chwilach lubi uciec od zgiełku na swoim rowerze, w kolorze niebieskim (w którym ma 90% posiadanych rzeczy).