Do początkujących: popełnianie błędów jest normalne. Jak zacząć programować
Filip Mamcarczyk po nauczeniu się podstaw JS dostał pierwszą pracę w agencji reklamowej. Dzięki niej rozwinął umiejętności HTML i CSS w praktyce, choć brakowało mu zadań związanych z JavaScriptem i podstawami programowania. – Spędzałem wieczory po pracy na samodzielnej nauce, refaktorze starych firmowych projektów, czytaniu kodu innych programistów i programistek. Po roku pracy w agencji zwiększyłem swoje umiejętności i postanowiłem aplikować na ambitniejsze stanowisko w firmie Codewise – opowiada.
O początkach w programowaniu rozmawiamy z współtwórcą kanału na YT Jak zacząć programować.
Spis treści
Gdy chciałeś wejść do branży IT usłyszałeś radę, że naukę powinieneś zacząć od tworzenia stron internetowych. Czego nauczyłeś się podczas tworzenia pierwszych stron?
Przede wszystkim zrozumiałem, że tworzenie stron i programowanie to nie czarna magia. Wcześniej żyłem w przekonaniu, że tymi tematami mogą zajmować się tylko osoby siedzące “w komputerach” od małego albo geniusze matematyczni.
Dziś zacząłbyś inaczej czy skorzystał z tamtejszej rady dot. tego, jak wejść do branży?
Zdecydowanie skorzystałbym z rady ponownie i zaczął od frontendu! Czuje się w nim jak ryba w wodzie, a przez jego tempo rozwoju co chwilę otrzymuję dawkę nowych wyzwań. Gdybym jednak mógł coś zmienić, to pewnie wcześniej zainteresował bym się tym, jak działają inne gałęzie IT takie jak Backend czy DevOps. Pomimo tego, że nie widzę siebie w innej roli, to wiedza z odmiennych obszarów bardzo rozwija programistyczne horyzonty.
Z tamtejszej perspektywy, rynek pracy doceniał znajomość tworzenia stron internetowych? Pracodawcy takich umiejętności szukali wśród juniorów?
Tak, bardzo doceniał! Wiele osób wspomina ten okres (2015) jako czas rekrutacji “na puls” (“Chcecie pracować w IT? Macie puls? To super, zaczynacie jutro!”). Oczywiście jest to lekka przesada, ale wtedy wystarczyło znać podstawy tworzenia stron, żeby dostać dobrze płatną, rozwojową pracę bez doświadczenia. Obecnie sytuacja dla osób wchodzących w rynek jest dużo trudniejsza. Ze względu na zwiększenie stosunku podaży do popytu na juniorów wymagania wobec potencjalnych juniorów poszły w górę. Nic w tym dziwnego, bo skoro kandydatów i kandydatek jest więcej to większość z nich trzeba, mówiąc dość brutalnie, odsiać. Sam wzrost podaży był efektem popularyzacji programowania i uświadamiania społeczności, że nie jest ono czarną magią.
Przykładowo – na studiach budownictwa lądowego mieliśmy 6-cio osobową paczkę. Po tym jak udało mi się dostać pracę w IT znajomi stwierdzili, że również spróbują swoich sił. Obecnie troje z nich pracuje od kilku lat jako programiści. Pewnie wiele osób z ich otoczenia również stwierdziło “Hej, może uda mi się dostać pracę w IT bez doświadczenia?”. Takie osoby szukały nauczycieli, co z kolei generowało popyt na szkoły programowania i bootcampy. Te z kolei wrzucały ogrom pieniędzy w marketing i narrację typu “I Ty możesz zarabiać 15k!” (niestety bardzo często po to żeby rekrutować jak najwięcej kursantów i kursantek). I tak, w przeciągu kilku lat ilość osób zainteresowanych przebranżowieniem rosła wykładniczo.
Rynek IT za tym nie nadążył – potrzebował głównie specjalistów i specjalistek z większym doświadczeniem a nie osób, w których rozwój trzeba zainwestować dodatkowy czas i zasoby. Do tego pandemia, cięcia kosztów, wdrożenia zdalne – wszystko to sprawiło, że ilość ofert dla juniorów bardzo spadła, więc ostatecznie o pierwszą pracę w IT trzeba było czasami walczyć naprawdę długo. Na szczęście sytuacja zaczyna się nieco wyrównywać, a ludzie bardziej racjonalnie podchodzą do kwestii przebranżowienia.
Na kanale Jak zacząć programować opowiedziałeś o swoich początkach w IT, ale też o tym, jak poszła pierwsza rozmowa rekrutacyjna. Otrzymałeś wtedy konstruktywny feedback, dzięki któremu dowiedziałeś się, co zrobić, żeby dostać pierwszą pracę?
Niestety nie, dostałem po prostu odpowiedź z decyzją i podziękowanie. Jednak sam przebieg rekrutacji dał mi dość oczywiste wskazówki – poszło mi dobrze z pytaniami o HTML i CSS, ale całkowicie wyłożyłem się na zadaniach z JS. Był to jasny sygnał, że muszę go ogarnąć chociaż w podstawowym stopniu, żeby móc dostać pierwszą pracę w IT. Jednocześnie sama rekrutacja była dla mnie kopniakiem motywacyjnym, bo zobaczyłem, że nauka HTML i CSS nie poszła na marne!
Jak wyglądały dalsze losy Twojej ścieżki kariery?
Po nauczeniu się podstaw JS dostałem pierwszą pracę w agencji reklamowej. Dzięki niej miałem okazję jeszcze bardziej rozwinąć swoje umiejętności HTML i CSS w praktyce, ale bardzo brakowało mi zadań związanych z Javascriptem i podstawami programowania. Spędzałem wieczory po pracy na samodzielnej nauce, refaktorze starych firmowych projektów, czytaniu kodu innych programistów i programistek. Po roku pracy w agencji zwiększyłem swoje umiejętności i postanowiłem aplikować na ambitniejsze stanowisko w firmie Codewise.
Dostałem wymarzoną pracę, w której spędziłem 5 następnych lat, poznałem wspaniałych ludzi, stworzyłem świetne projekty i niezwykle rozwinąłem się jako programista i człowiek. Jako że 5 lat to na rynku IT bardzo długi okres czasu to postanowiłem wyfrunąć z gniazda i spróbować nowych wyzwań. Jednym z nich było założenie kanału na YouTube. Na Jak Zacząć Programować już od ponad roku staramy się wraz z moim kolegą Kacprem pomóc ludziom, którzy na początku kariery borykają się z podobnymi problemami, co ja 7 lat temu.
Jak wyglądają przygotowania do każdego odcinka? Jak wybieracie tematy i wykonujecie research pod niego?
Tematy wybieramy kierując się pytaniem: “Jaki odcinek przyniesie naszym widzom najwięcej wartości? Jaki film pomógłby nam, gdybyśmy byli na ich miejscu i dopiero stawiali pierwsze kroki w nauce programowania?”. Słuchamy też naszej społeczności i idziemy za ich cennymi radami. Research różni się w zależności od odcinka – najczęściej opowiadamy o tym, co już wiemy i bardzo dobrze rozumiemy, ale i tak musimy to przygotować w przyjemnej i przystępnej formie, dlatego rozpisujemy sobie scenariusze, które redagujemy przed nagraniem.
Często robimy tzw. “live codingi”, czyli odcinki, w których kodujemy i staramy się linijka po linijce tłumaczyć widzom, co się dzieje. W ich przypadku zdarza się, że idziemy na żywioł i nie mamy ustalonego scenariusza, bo chcemy pokazać jak naprawdę wygląda programowanie – zdarzają się błędy, literówki i długie rozkminy, ale dzięki temu nie zakłamujemy rzeczywistości. Bardzo zależy nam, żeby początkujący programiści i programistki zrozumieli, że popełnianie błędów jest normalne.
Jak wyglądały początki kanału? Gdzie szukaliście zainteresowanych, jak promowaliście odcinki, jak i zachęcaliście do dołączenia do Waszej społeczności?
Na początku podzieliliśmy się linkiem do naszego kanału ze znajomym i przesłaliśmy go na kilku grupach facebookowach związanych z programowaniem. Na start przygotowaliśmy kilka filmów z odpowiedziami na pytania, które non-stop przewijają się przez te grupy – “Od czego zacząć naukę?”, “Czy warto?”, “Czy warto iść na studia?”, więc kanał całkiem szybko zaczął zbierać subskrybentów. Systematycznie dodawaliśmy nowe materiały i ciągle dzieliliśmy się nimi na grupach, więc przez pierwsze miesiące większość wyświetleń na YT pochodziła z zewnętrznych serwisów (ludzie klikali np. w ww posty na Facebooku, albo Linkedinie). YT polubił nas bardziej dopiero po kilku miesiącach, przez co nasze filmy zaczęły pojawiać się wyżej w wynikach wyszukiwania.
Pamiętasz jakiś przełomowy moment w swojej ścieżce kariery? Może projekt, którym mogłeś się pochwalić znajomym?
Na myśl przychodzą mi dwa momenty:
- pierwsza rekrutacja (ta, której nie przeszedłem) – pomimo tego, że nie udało mi się dostać pracy to poczułem, że jest ona w zasięgu ręki. Musiałem tylko wykazać się cierpliwością i poświęcić jeszcze trochę czasu na naukę. Przed rekrutacją bardzo ciężko było mi zwalidować czy wszystkie pogłoski o tym, że “dostanie się do IT jest możliwe bez studiów” są prawdą. Znajomi i rodzina bardzo odradzali mi samo rozpoczynanie nauki, nie mówiąc o próbie przebranżowienia się. Wszystkie rekrutacje i ostateczne dostanie się do pierwszej pracy trzymałem w tajemnicy aż do podpisania pierwszej umowy!
- udana rekrutacja do Codewise – pomimo tego, że kilka lat temu dostanie pracy w IT nie było aż tak ciężkie, to sama rekrutacja do Codewise była trudna. Ze względu na popularność tej firmy grupa kandydatów również była bardzo liczna, dlatego rozpierała mnie duma, kiedy przeszedłem rekrutację i po raz kolejny zrozumiałem, że stać mnie naprawdę na wiele.
Opowiedz o procesie rekrutacyjnym do Codewise. Z ilu etapów się składał? Co Ciebie zaskoczyło w nim?
Proces był dość standardowy:
- Rozmowa telefoniczna (screening) – sito, na którym odpali kandydaci i kandydatki z bardzo małą wiedzą.
- Rozmowa techniczna – rozwiązywanie zadań na żywo.
- Rozmowa z team leaderem – sprawdzenie, czy kandydat pasuje do firmy pod kątem umiejętności miękkich i rozmowa o finansach.
Najbardziej zaskoczył mnie fakt, że rozmowa techniczna bardziej przypomniała pair programming, a nie odpowiadanie na serię przygotowanych wcześniej pytań. Dyskutowaliśmy o potencjalnych rozwiązaniach, dzieliliśmy się swoimi doświadczeniami a w przypadku braku wiedzy w danym obszarze tłumaczyliśmy sobie wzajemnie dany mechanizm. Co ciekawe, jedną z osób, która mnie wtedy rekrutowała był Kacper Sokołowski, z którym obecnie prowadzimy Jak zacząć programować.
Co Twoim zdaniem ma największy wpływ na rozwój programisty? Niektórzy mówią, że czas na naukę, a niektórzy że wspierające otoczenie doświadczonych kolegów i koleżanek.
Według mnie największy wpływ na rozwój programisty czy programistki ma konsekwencja i systematyczność. Dlaczego? Bez nich wszystkie pozostałe bodźce nie mają znaczenia. W skali roku osoba ucząca się codziennie przez godzinę najczęściej osiągnie lepszy efekt niż inna osobą ucząca się jedynie w soboty przez 8 godzin. Oczywiście wsparcie doświadczonych kolegów i koleżanek jest niezwykle przydatne, ale ponownie – musimy aktywnie z niego korzystać!
Masz jakiś plan na siebie? Wiesz, w którym miejscu chciałbyś być za kilka lat?
Podobno mam całkiem dobre zadatki na rolę leaderską/managerską – (będąc bardzo nieskromnym) nie przeczę temu. I faktycznie, dostałem już parę ofert pracy dla team leadera, jednak chciałbym pewnie przejść na pracę na pół etatu. Nie wyobrażam sobie lidera, który jest dostępny dla swojego zespołu tylko przez pół miesiąca, albo pół tygodnia, dlatego na ten moment postanowiłem rozwijać się dalej jako programista.
Poza etatem będę kontynuował rozwijanie kanału i społeczności – sprawia mi to niezwykle dużo radości i jednocześnie zmusza do ciągłego rozwijania się!
Filip Mamcarczyk. Kiedyś studiował budownictwo, ale jako przedstawiciel pokolenia #yolo postanowił olać studia i nauczyć się programowania na własną rękę. Udało mu się, dlatego niezwykle cieszy się, gdy może pomóc innym początkującym. Od ponad 5 lat pracuje jako Frontend Developer. W wolnych chwilach planszówkuje, czyta i biega – głównie na tramwaj numer 52 albo wzdłuż Wisły.
Zdjęcie główne artykułu dzięki uprzejmości Ng-Poland.