search check home clock-o tag tags chevron-left chevron-right chevron-up chevron-down twitter facebook github rss comment comments terminal code

Wywiad z Piotrem Kowalskim – blogerem, youtuberem i organizatorem WarsawJS

Wywiad z Piotrem Kowalskim – blogerem, youtuberem i organizatorem WarsawJS

Dzisiejszy wpis będzie inny. Do tej pory na blogu można było głównie przeczytać o różnych sposobach stosowania technologii webowych. Dzisiaj, chciałbym przedstawić jedną z najbardziej pozytywnych postaci polskiej sceny webdevowej, którą miałem okazję niedawno poznać osobiście, Piotra Kowalskiego.

Dzień dobry Piotrze, serdecznie dziękuję za przyjęcie zaproszenia do wywiadu. Na początek może opowiesz kilka słów o sobie. Skąd się wzięło Twoje zainteresowanie webdevelopmentem?

Piotr Kowalski - organizator WarsawJS

Cześć Piotr! Jest mi bardzo miło, że do mnie napisałeś. Zacznijmy od początku. Pochodzę z małego miasta na wschodzie naszego pięknego kraju - Hrubieszów. Pierwsze moje próby tworzenia stron internetowych wzięły się od długiego przesiadywania przed komputerem, kiedy nie miałem jeszcze internetu. Czas zabijałem konfiguracją programów, których miałem dużo zainstalowanych dzięki płytom z gazet.

Jednym z nich był MS Word, w którym to tworzyłem pierwsze strony internetowe. Jak się tworzy strony internetowe w Wordzie? Bardzo prosto. Tworzysz dokument i zapisujesz go jako Strona sieci Web. Program generuje dokument HTML oraz obrazki wraz z definicją wyglądu w pliku CSS. I voilà! Twoja pierwsza strona internetowa jest gotowa.

Po kilku takich stronach, zostałem opiekunem szkolnej strony internetowej, bo jako jedyny w liceum potrafiłem "tworzyć strony". Niestety nie umiałem wtedy jeszcze programować. Przyszły wakacje i postanowiłem, że nauczę się tworzyć strony internetowe pisząc kod. Kupiłem mini-książeczkę, dzięki której poznałem piękny świat kodowania. Zrozumiałem go na tyle, że jeszcze szybciej mogłem rozwijać swoje umiejętności. Programowanie bardzo mi się spodobało. Mogłem zbudować stronę internetową (taką jaką chciałem) wpisując tylko znaki z klawiatury. Mogłem stworzyć "coś" z niczego. Niesamowite!

Jak określiłbyś swoją karierę. Czy jest coś czego do tej pory nie zrealizowałeś, a chciałbyś zrobić?

Moja kariera zawodowa zaczęła się w wieku 18 lat. Pierwszego dnia pracy idąc do biura, nie wiedziałem jeszcze czy zdałem egzamin dojrzałości. Moją pierwszą firmą była największa wówczas agencja interaktywna Hypermedia, w której nauczyłem się tworzyć bardzo szybko strony internetowe - klienci nie lubili czekać.

Po 3 latach zmieniłem pracodawcę, który to posiadał inny model działalności. Rozwijało się swój produkt - aplikację IPLA. Mogłem skupić się wtedy na dopieszczaniu swoich rozwiązań, analizie wydajności oraz pisaniu testów i dokumentacji.

Studia dały mi dużo informacji na temat inżynierii oprogramowania. Staram się ciągle rozwijać kładąc duży nacisk na dobre praktyki poparte wzorcami projektowymi realizując przy tym rożnej wielkości projekty informatyczne.

Jestem bardzo zadowolony z przebiegu mojej obecnej kariery. W pierwszej firmie dostałem mocno w kość - musiałem nauczyć się pracować w stresie oraz w grupie. W drugiej, nauczyłem się skupiać na analizie i poprawnym kodzie.

Kilka lat temu zmieniłem swoją koronną dyscyplinę jako było programowanie na rzecz managementu zostając tym samym kierownikiem działu w którym pracowałem jako developer.

Obecnie uczę się zarządzać 10-osobowym zespołem programistów. Pierwsze pół roku, po nominacji na to stanowisko, było dla mnie najgorsze. Czułem jak serce mi pęka, kiedy to podczas dnia pracy nie miałem czasu na programowanie. Odbijałem to sobie wielogodzinnym przesiadywaniem przed komputerem we własnym mieszkaniu, gdzie tworzyłem projekty dla siebie, aby ciągle się rozwijać jako programista. Nie chcę przestać kształcić się jako programista, ponieważ programowanie mnie fascynuje. Kocham programować i chcę się ciągle rozwijać jako software engineer.

Gdybym miał wybrać coś czego jeszcze nie zrealizowałem a chciałbym, to jest kilka rzeczy. Niektóre są tylko takim pobożnym życzeniem inne faktycznym celami które do których dążę. Wymienię tylko 3 pierwsze:

  1. Od zawsze uczenie ludzi sprawiało mi frajdę. Cieszy mnie stan kiedy mogę dzielić się swoją wiedzą z innymi. Dlatego też obecne stanowisko kierownika sprawa mi frajdę. Jaram się kiedy mogę uczyć swój zespół dobrych praktyk albo sprzedawać im ciekawostki z dziedziny front-endu. Jestem mega-geekiem i dobrze mi z tym. Chciałbym spróbować swoich sił jako zawodowy trener, który poprowadzi grupę osób od kompletnego zera do sytuacji w której zaczną programować zawodowo. Może wkrótce się to spełni z uwagi na projekt Reaktor PWN, który ma na celu realizację intensywnych kursów nauki programowania dla początkujących.
  2. Uwielbiam tematykę bezpieczeństwa. W swoim księgozbiorze posiadam wiele książek na ten temat. Lubię słuchać o różnych możliwościach analizy danych. Chciałbym kiedyś spróbować swoich sił jako pentester. Kiedyś odbyłem szkolenie z analizy bezpieczeństwa aplikacji webowych, po którym zacząłem inaczej patrzeć na wytwarzane oprogramowanie. Po szkoleniu analizowałem swój kod i stwierdziłem szybko, że można było go napisać lepiej. Zbytnio ufałem użytkownikowi. Nie wolno wam powtarzać tego błędu. Jako front-end developer, a na pewno jako back-end developer, trzeba zawsze sprawdzać dane które przychodzą od użytkownika przed wykorzystaniem ich w systemie.
  3. Tworzenie filmów na YouTube sprawia mi wielką frajdę. Mam swój kanał gdzie od kilku lat tworzę filmy o programowaniu. Moim marzeniem jest mieć swój program telewizyjny gdzie uczyłbym ludzi, jak to nauka programowania może przydać się w życiu każdemu człowiekowi.

W chwili obecnej pracujesz jako Kierownik Działu Aplikacji Webowych w Cyfrowym Polsacie. Czy możesz opowiedzieć o specyfice swojej pracy? Czy kierownik jest kimś w rodzaju Team Leadera czy bardziej jest to Head of Development?

Pracuję jako kierownik zespołu front-endowców. Mój dział jest jednym z czterech w Pionie Projektów Internetowych. Zajmujemy się utrzymaniem aplikacji IPLA na wielu platformach, m.in. standardowa strona internetowa (wkrótce będzie to aplikacja SPA) ale także aplikacje na telewizory oraz kina domowe.

Jestem odpowiedzialny za rozwój technologiczny zespołu. Opiekuje się działem także od strony kadrowej np. akceptuję urlopy. Jestem bardziej kimś w rodzaju lidera a nie bossa - dbam o zespół i razem z nim się rozwijam. Czasami jestem w stanie wspomóc go programistycznie i razem z nim tworzyć software. Robię to z przyjemnością, jeśli tylko czas mi na to pozwala.

Przejdźmy teraz do Twojej postaci jako organizatora konferencji? Jak to się stało, że zacząłeś organizować meetupy WarsawJS? Na czym polega różnica między WarsawJS a meet.js, bo wiem, że wiele osób jeszcze myli te spotkania?

WarsawJS - meetup dla programistów frontendChwila chwila... nie konferencji tylko meetupów! Czym to się różni? W moim odczuciu tylko czasem trwania. Na spotkania WarsawJS Meetup przychodzi zawsze ponad 120 osób. Na niektórych konferencjach w których brałem udział liczba uczestników była mniejsza. Meetup trwa około 3 godziny podczas których słuchamy 3 prelegentów. Po części oficjalnej znakomita większość zostaje na tzw. networking. Sądzę, że gdybyśmy przedłużyli spotkanie do np. 8 godzin (zaczynając od rana) organizując tym samym większą liczbę prelekcji, to takie wydarzenie można było by śmiało nazwać konferencją. Jak widać różnica niewielka. Stąd też wiele ludzi nie widzi tej różnicy nazywając organizowane przez nas spotkania "konferencjami". Brzmi dumnie!

Wszystko zaczęło się kilka lat temu, kiedy to wraz z paczką znajomych stwierdziliśmy, że w stolicy brakuje regularnych spotkań dla programistów JavaScript. Istniały spotkania meet.js jednak nie były one regularne, a tego społeczność oczekiwała. Ludzie lubią regularność. Wiedzą, że co miesiąc będzie spotkanie WarsawJS Meetup bez względu na to, czy pada śnieg, czy przygrzewa słońce i tak meetup się odbędzie.

Nie czuję się dobrze, kiedy ktoś myli organizację WarsawJS z meet.js. Fakt, że obie organizacje skupiają ludzi na spotkaniach około front-endowych może mylić, jednak chciałbym rozwiać w tym momencie wszelkie wątpliwości: poza tematyką, nie ma żadnej części wspólnej między tymi dwoma organizacjami.

Spotkania meet.js istnieją na rynku chyba od 2011 roku i to może powodować wśród programistów pomyłkę, że WarsawJS - które powstało w 2014 roku - jest jakimś brandem czy coś w tym rodzaju. NIE JEST. Jesteśmy kompletnie niezależną organizacją, która ma w statucie inne cele.

Byłem kilka razy na meet.js i wiem, że tematyka jest zawsze front-endowa. I super. Na WarsawJS rozmawiamy jednak tylko o JavaScript (oraz o skillach miękkich, a to zawsze się przyda). Jako organizacja, która ma nazwę miasta w swojej nazwie, nie mamy ambicji uruchamiać naszej inicjatywy w innych miastach. Z tego co wiem, meet.js działa szerzej i ma swoje filie w innych miastach. Świetnie. Choć nie wiem, czy to dobry pomysł. Jest popularna reguła nazewnictwa meetupów. Do nazwy miasta dodaje się końcówkę JS i tak np. mogło powstać GdyniaJS, LublinJS. Jest jak jest. Żyjemy w symbiozie i chyba jest dobrze.

Powiedz coś więcej na temat WarsawJS. Czy organizujecie coś jeszcze poza meetupami? Kto jest za odpowiedzialny za całą organizację?

Organizacja WarsawJS posiada 2 inicjatywy: comiesięczne spotkania spędzone na rozmowie, tj. WarsawJS Meetup, ale także szkolenia dla początkujących oraz średnio-zaawansowanych programistów, czyli WarsawJS Workshop, gdzie uczymy się programować z użyciem nowych frameworków oraz bibliotek. Tutaj często spełniam się w roli trenera, co mnie niezmiernie cieszy z uwagi na to, że lubię przekazywać swoją wiedzę innym.

Podczas całego dnia warsztatów nagrywamy wywiady z uczestnikami oraz trenerami. Poniżej przykład filmu z 8-mej edycji:

I tak od prawie 3 lat organizujemy wydarzenia z moją partnerką życiową Kasią Grabowską oraz moim kolegą Piotrem Zientarą jako organizacja WarsawJS.

Nie spotkałem się, aby ktokolwiek przygotowywał reklamy każdego meetupu w formie video. Skąd taki pomysł? Skąd bierzesz inspiracje na kolejne zajawki?

Wszystko zaczęło się od pomysłu organizowania spotkań dla społeczności. Jako osoba odpowiedzialna za całe zamieszanie, stwierdziłem, że czas pogodzić się z tym, że będzie mnie obserwowało dużo nieznajomych mi osób. Podobna sytuacja ma miejsca na YouTube. Stąd też pewnego dnia stwierdziłem, dlaczego by nie pokazać światu swojej gadającej głowy, która zaprosi na spotkanie. Pierwsze co mi wpadło do głowy to film w formie krótkiego przemówienia. Nagrywanie pierwszego zaproszenia było dla mnie i Kasi mega męczące. Musieliśmy przemeblować nasze malutkie mieszkanie, tak aby w tle było jednolite tło i dobre oświetlenie. Słońce które zachodziło wcale nie pomagało. Wyszło kiepsko, ale jak to przysłowie mówi: pierwsze śliwki robaczywki. Nie załamywałem się tylko zakasałem rękawy i szedłem dalej.

Uważam, że zaproszenie społeczności tylko poprzez stworzenie wydarzenie w mediach społecznościowych, które to zawiera suchy tekst to zdecydowanie za mało, aby zainteresować ludzi przyjściem. Gdy wydarzenie jest czymś więcej niż tylko spotkaniem przy piwku, trzeba podejść poważnie do tematu zapraszania gości. Przykładem niech będzie ślub. Przyszli nowożeńcy zapraszają gości osobiście wręczając im zaproszenie w formie karteczki z wypisanym imieniem i nazwiskiem. To bardzo miła forma, która podnosi rangę wydarzenia. Tym samym zaproszeniami wideo, chciałem podnieść prestiż spotkań WarsawJS.

Realizacja takich filmów to świetna frajda, która mocno pożera czas. Jednak aby osiągnąć dobry efekt, trzeba się temu poświęcić. Często zdarza się, że cała produkcja 2 minutowej zapowiedzi zajmuje mi około 12 godzin, z czego 2-3 godziny to samo nagrywanie, a reszta to montaż - czyli moja ulubiona część produkcji. Odkryłem drugą miłość poza programowaniem. Uwielbiam siadać do montowania. Nie muszę tutaj być perfekcyjnie dokładny tak jak przy kodzie. Sekunda w jedną czy w drugą stronę nie zrobi wielkiej różnicy na końcowym efekcie.

Przy pracy jako montażysta, ale także jako reżyser i aktor, pomaga mi zespół redakcji w Cyfrowym Polsacie (czyli tam gdzie pracuje). Często przechadzam się długim korytarzem do pokoju redakcyjnego (w którym czuję się coraz pewniej) aby zobaczyć jak pracują operatorzy. Całym zespołem opiekuje się Ewelina. To ona bardzo często daje mi wskazówki co należy poprawić w zapowiedzi, aby były one jeszcze lepsze. Niestety, kiedy idę do mojej mistrzyni po feedback, to materiał jest już opublikowany. Nie ma wtedy już możliwości wprowadzenia poprawek bez wgrania nowego filmu. Liczba poprawek jest zwykle duża. Nie martwi mnie to. Wręcz przeciwnie. Cieszę się, że pomimo tego, że film mi się podoba to mam jeszcze wiele rzeczy do ulepszenia.

Wdrażanie ulepszeń nakręca mnie oraz motywuje do działania. Staje się coraz to lepszym graczem w dziedzinie produkcji filmów.

Może kiedyś nagram jakiś film pełnometrażowy? Kto wie. Już pierwsze pomysły padły. Jednym z nich jest stworzenie filmu o programiście. Nie wiem jak duże zainteresowanie by było. Może gdyby w takim filmie zagrali jacyś znani aktorzy pokroju Tomka Karolaka to film odniósł by sukces. Nie wiadomo. Czas pokaże.

Kilka tygodni temu wysłałeś do wielu blogerów pytanie odnośnie optymalizacji treści blogów pod kątem SEO. Padło też pytanie o statystyki blogów. Czy udało Ci się uzyskać odpowiedzi na wszystkie nurtujące pytania i co możesz powiedzieć o obecnym stanie polskiej blogosfery webowej?

Wpadłem na pomysł, aby jakoś skomunikować polskich blogerów (napisałem tylko do wybranych ze względu na czas - nie chciałem poświęcać go dużo, aby dotrzeć do wszystkich). Napisałem maila do 15 blogerów do których kontakty miałem "pod ręką".

Liczba blogów jakie przeszukałem była większa. Jednak nie mogłem nigdzie znaleźć innej formy kontaktu z blogerami, niż wypełnianie formularza kontaktowego. W dzisiejszych czasach uważam taką formę komunikacji za przeżytek i nie mam zamiaru z niej korzystać.

W niektórych przypadkach, aby znaleźć kontakt do blogera przechodziłem następującą ścieżkę. Na blogu brakuje kontaktu bezpośredniego, ale są linki do profili w mediach społecznościowych. Profil na GitHubie jest formą profilu społecznościowego. Po wejściu na GitHuba szukałem maila po lewej stronie, tj. w opisie profilu użytkownika. Gdy brakowało maila (no bo po co go podawać) w takim wypadku szukałem repozytorium, którego autorem źródeł był jego właściciel (czyli moja "ofiara"). Klonowałem repozytorium do
katalogu tymczasowego. Uruchamiałem w nim polecenie git log, aby pokazać wszystkie rewizje wraz ze szczegółami. Wtedy moim oczom ukazywał się adres mailowy. Mission completed!

Ale po co napisałem do 15 obcych mi ludzi? Miałem 3 kwestie:

  1. Pierwszy temat to SEO. Chciałem poznać jakie doświadczenia posiadają autorzy blogów, czyli Ci którym powinno mocno na tym zależeć. Kilka dni wcześniej napisałem obszerny artykuł (18 stron A4 efektywnie zapisanych i gotowych do druku) na temat SEO. Chciałem rozwinąć ten artykuł, aby zrobić z niego przewodnik albo nawet e-book. Miałem w planach współpracę z innymi blogerami, jednak nikt nie odczytał tak mojego przekazu. Nawet Ty Piotrze 🙂

    Wielu blogerów instaluje wtyczkę Yoast SEO w WordPressie i to koniec znajomości zasad zw. z SEO. A szkoda. Nie zawsze możemy użyć WordPressa.

  2. Drugą kwestią był nurtujący mnie problem: jaki format adresu URL wybrać tworząc bloga, subdomena czy podkatalog? Odpowiedź zazwyczaj była jedna z tych dwóch opcji: "nie ma znaczenia" albo "nie wiem". Także chyba nie ma znaczenia gdzie umieścisz swojego bloga.

    Ty, Piotrze w swojej odpowiedzi poruszyłeś ciekawy temat, że gdyby blog dostępny był jako podkatalog, to szata graficzna powinna być taka sama jak strona główna. Fakt. Możesz mieć rację. Jednak ja mam w podkatalogu "blog" zupełnie inną aplikację i nie obeszło się bez ostrego aliasowania na serwerze. Chyba lepiej było na początku, kiedy to blog był dostępny na subdomenie.

  3. Ostatnim punktem w mailu było pozyskanie informacji, czy obecne statystyki mojego bloga uderzyły w jakiś limit. Pisałem artykuły co 2 dni. Jednak liczba czytających utrzymywała się ciągle na tym samym poziomie. Dziwiło mnie to i chciałem podzielić się swoimi doświadczeniami z kolegami po fachu. Wszyscy mówili jednogłośnie, a niektórzy nawet odwdzięczali się swoimi statystykami, uświadamiając mnie, że mój blog jest mało popularny. Nie wiem z czego to wynika. Może właśnie z tego powodu, że zbyt często publikuję? Czytelnicy mogą sobie myśleć, że skoro posty są tak często to pewnie ich napisanie nie zajmuje dużo czasu w takim razie są one mało wartościowe. Zonk. Duża pomyłka.

    Podczas tego 2-miesięcznego maratonu mało spałem i poza pracą, pisałem bloga i montowałem filmy na potrzeby WarsawJS. Był to ciężki okres dla mnie i Kasi. Od czerwcowej edycji WarsawJS Meetup, podczas której dowiedziałem się, że ludzie mogą inaczej patrzeć na moją pracę postanowiłem, że nie będę pisał częściej artykułów niż jeden na tydzień. Ostatnio porwał mnie wir pracy i artykuły są jeszcze rzadziej, ale chyba świat się nie zawali. Dodam, że każdą wolną chwilę poświęcam na budowanie kilku nowych artykułów, a gdy skończę to będzie petarda.

Maila zakończyłem pomysłem stworzenia panelu dyskusyjnego, albo nawet całego wydarzenia WarsawJS Meetup traktującego o tym jak to jest być polskim blogerem front-endowym. Szaleństwa związanego z tym pomysłem nie było. Tylko kilku osobom pomysł się spodobał. A szkoda, bo wydaje mi się, że pomysł mógłby spodobać się publiczności. Wydarzenie, gdzie w jednym miejscu dostępni są ulubieni blogerzy to według mnie świetna sprawa. No trudno. Może kiedyś wrócę do tego pomysłu, a może po prostu zapytałem w nieodpowiednim momencie (był to początek wakacji).

Co sądzisz o polskiej blogosferze? Czy masz swoich faworytów, których polecasz każdemu?

Hmmm, trudne pytanie. Generalnie jestem zadowolony, że powstaje coraz to więcej blogów technicznych w języku polskim. Uważam, że angielski to podstawa naszej komunikacji, jednak jesteśmy Polakami i warto pisać artykuły dla developerów naszej narodowości. Utarło się, że polskie artykułu zawierają błędy, są stare - przedawnione, albo w ogóle nie są pomocne. Jest to straszne generalizowanie z którym się kompletnie nie zgadzam.

Dużą robotę zrobił Bartek Dybowski, który stworzył agregat - Polski Front-end - gdzie dodał kilkadziesiąt blogów, traktujących po polsku o front-endzie. Ludzie z branży mają teraz jedno miejsce które przeszukują podczas porannej kawy. Dobry pomysł. Mam tylko nadzieje, że nie będę musiał kiedyś płacić za to, że jestem na tej liście, ze swoim blogiem i kanałem YT 🙂

Generalnie lubię czytać blogi, które mają dobrą kolorystykę. Jest to dla mnie mega ważne z powodu słabego wzroku. Nie lubię wpatrywać się w małe literki, szarego koloru które są na białym tle. Taka sytuacja nie powinna mieć miejsca. Niestety jest to sprawdzone przez mnie empirycznie. Wystarczy, że szybkie przeszukanie blogów dodanych do polskifrontend.pl, aby znaleźć takie, które nie świecą przykładem optymalizacji dla osób gorzej widzących.

Odnośnie szaty graficznej to jest mi ona obojętna, ponieważ najważniejszy jest kontrast. Zerknij na mojego bloga. Używam fontu w rozmiarze 18px i nie uważam, że jest to za dużo. Istnieje takie narzędzie, które mierzy jaki jest kontrast między dwoma kolorami. Oczywiście najlepsza jest para czarny na białym, ale niektórzy nie chcą używać zwykłego czarnego na rzecz delikatnie jaśniejszego. Nie ma problemu. Ważne jest aby zachować zdrowe rozsądek i dobrać odpowiedni (większy niż 5) współczynnik kontrastu oraz odpowiednio duży font.

Lubię czytać krótkie artykuły które coś wyjaśniają, ale też lubię czytać kompleksowe przewodniki, które spokojnie mogłyby być e-bookami. No dobrze konkrety.

Dla początkujących polecam:

Dla zaawansowanych polecam:

Dla wszystkich polecam:

Jakie masz plany na przyszłość? Planujesz wystąpić na zagranicznej konferencji poza Polską?

Moje plany powiązane są z misją uczenia ludzi. Jakiś czas temu ruszył projekt Reaktor PWN w którym będę uczestniczył w roli trenera. Nie zamykam się jednak na tą jedną szkołę. Może za jakiś czas uda mi się rozwinąć WarsawJS do takiego poziomu, aby organizacja posiadała możliwość szkolenia ludzi początkujących albo nawet coś w rodzaju oferty premium, aby podnieść umiejętności zaawansowanych developerów. Obecnie wszystko jest w fazie rozmyślań.

Nie mam w planach występowania na zagranicznych konferencjach. Przygotowując się do każdej prelekcji wkładam mnóstwo energii. Wiem, że na prelekcję mówioną w języku angielskim musiałbym poświęcać jeszcze więcej czasu. Wolę go zainwestować w coś innego. Jest dużo prelegentów anglojęzycznych - nie trzeba się pchać tam, gdzie jest już dobrze.

Poza programowaniem jakie masz inne pasje w swoim życiu. Co Ciebie interesuje?

Gdy nie siedzę przy komputerze to uprawiam sport. Jeżdżę na deskorolce - mam przerobionego skateboarda na cruisera. To takie hobby z dzieciństwa. Od kilku lat biegam ze swoją partnerką Kasią. Bieganie mocno mnie odstresowuje dając siłę na realizację kolejnych pomysłów. Gdyby kogoś interesowały moje rekordy to swoje dokonania rejestruję na Endomondo. Co jakiś czas razem z moją towarzyszką życia przemierzamy "świat" konno. Filmy z takich podróży znajdują się na Kasi kanale na YouTube.

Nie jestem wielkim fanem podróżowania po świecie. Oglądam "Świat na Fazie" i widzę często jak jest w innych krajach. Zmienia się moje zdanie na temat niektórych. Oczywiście kiedyś może pojadę w takie miejsca, które trzeba po prostu zobaczyć. Mowa tutaj np. o 7 cudach świata.

Od jakiegoś czasu (już prawie 3 lata) wchodzę w świat multimediów, nagrywając i montując różnego rodzaju materiały wideo. Sprawia mi to frajdę ale i wypełnia czas, który nie spędzam na programowaniu. To też pewnego rodzaju hobby.

Lubię czytać książki techniczne. Pomimo tego, że mam 2 czytniki e-booków (jeden kupiłem dawno temu a drugi wygrałem) to i tak papieru nic nie zastąpi. Moje biblioteka liczy pewnie coś koło 100 książek. Trochę się tego nazbierało. Nie wiem czy przeczytałem połowę z nich.

Na koniec wywiadu chciałem Cię zapytać o rady jakie mógłbyś zasugerować osobie, która dopiero zaczyna swoją przygodę z Front-endem.

Od jakiegoś czasu front-end sie podzielił, na część prezentacyjną oraz na część "programistyczną". O co chodzi? Warstwa prezentacyjna to HTML + CSS oraz obrazki, ikonki i cały stuff, a warstwa programistyczna to JavaScript i jego wykorzystanie w celu implementacji logiki biznesowej. Wiele osób zna bardzo dobrze HTML i CSS ale słabo JavaScript. Aby zacząć być front-endowcem to najłatwiejszą drogą jest nauczyć się HTML + CSS oraz mniej więcej orientować się w JavaScript.

Jest pewien problem. Programistów z takimi umiejętnościami jest dużo.

Ci którzy już napisali swoje (pocięli odpowiednią ilość layoutów) szukają nowych wyzwań jako programiści JavaScript. Tacy developerzy wykorzystują HTML i CSS w mniejszym stopniu (o ile w ogólę muszą), bardziej skupiają się na analizie i architekturze aplikacji.

Programowanie w JavaScript jest proste. Dlaczego tak mówię? Bo składnia jest prosta. ES2015 wprowadza wiele nowych ułatwień stąd też pisanie w JSie jest bardzo przyjemne.

Jednak pisanie dobrego kodu to już co innego. Wytwarzanie oprogramowanie to skomplikowany proces. Trzeba pisać kod tak, aby był on "testowalny", tj. można było napisać inny kod, który przetestuje ten pierwszy. Oprogramowanie musi być wydajne. Trzeba zabezpieczyć się przed danymi wejściowymi, przed dziwnymi interakcjami użytkowników. Pomimo tego, że nasze urządzenia mobilne czy laptopy są coraz szybsze, to optymalizacja aplikacji dalej jest w cenie. I nie zanosi się na to, żeby było inaczej. Nie możemy pozwolić, aby aplikacja sieciowa była podatna na problemy z siecią. Aplikacja musi być responsywna nie ważne co się będzie z nią działo. Do tego się dąży. Tutaj dopiero zaczyna się programowanie.

Bardzo się cieszę, gdy ludzie wybierają od razu tą drugą ścieżkę, tj. zajmują się analizą wymagań, projektowaniem systemów (mniejszych lub większych). Tacy specjaliści na rynku pracy są bardzo pożądani. Zwykli front-endowcy mają trudniej. Łatwiej jest nauczyć się HTML + CSS. Wiele osób z takimi umiejętnościami szuka pracy, stąd też jest duża konkurencja i aby się przebić, trzeba czymś zaskoczyć pracodawcę.

Aby szybko wejść do świata IT należy mieć opiekuna. Tak będzie wygodniej. Wszystkim. No może opiekun będzie "tracił" czas na wprowadzenie świeżaka, ale i jemu się to opłaci za jakiś czas. Oczywiście samemu też można dość do poziomu zdobycia pracy zawodowej, jednak wtedy musi w Wiśle więcej wody upłynąć.

Drugą bardzo ważną rzeczą, jest tworzenie projektów. Twórz projekty i wrzucaj je na GitHuba. Niech inni widzą, że się rozwijasz. GitHub jest też takim archiwum. W nim trzymasz projekty. To z niego można wyczytać Twoją historię. Pierwsze projekty są kiepskie? Nie usuwaj ich. Po kilku latach zobaczysz jak się rozwinąłeś. Pracodawca to też zobaczy. Wzbudzasz większe zaufanie na rozmowie o pracę, kiedy przedstawiasz swoją pracę w postaci projektów, bo wtedy człowiek, który Cię rekrutuje widzi, że faktycznie przesiedziałeś mnóstwo czasu nad analizą kodu. Widać wtedy, że musisz lubić to co robisz, że sprawia Ci to satysfakcję bo w przeciwnym przypadku, nie dałbyś rady siedzieć przy komputerze z obowiązku (zmęczenia psychicznego nie da się oszukać).

Trzecia i ostatnia rada to pokazanie się światu. Im szybciej poznasz więcej ludzi z branży tym lepiej. Sieć kontaktów zawsze Ci pomoże.

Szukasz pracy? Napisz do kilku znajomych, może coś słyszeli. Powiedz, że gdy znajdziesz pracę z ich pomocą to otrzymają od Ciebie dobre whisky. W każdym większym mieście w Polsce są meetupy. Uczęszczaj na nie. Jeśli w Twoim mieście takiego nie ma? Załóż je. Spotykajcie się choćby w 5 osób. Z biegiem czasu liczba osób wzrośnie. Ludzie zobaczą, że robicie coś fajnego, to będą chcieli się dołączyć.

Kiedyś napisałem artykuł o tym jak zacząć programować. Niech uzupełni on moją wypowiedź. W artykule tym jest podział na typu ludzi pod kątem biegłości technicznej, które zaczynają swoją przygodę z programowaniem.

Słowo podziękowania

Piotrze, bardzo się cieszę, że zaprosiłeś mnie do tego wywiadu. Jest to mój pierwszy wywiad w życiu - więc nigdy go nie zapomnę. Pytania były bardzo interesujące. Mam nadzieje, że moje wypowiedzi również. Starałem się, aby nie były długie, jednak jak widzisz pióro mam lekkie. Dlatego też założyłem bloga, bo poczułem, że mogę dużo pisać. Lubię dzielić się wiedzą jaką posiadam.

  • fajny wywiad! dzięki za polecenie mojego bloga i serwisu polski front-end 😉 Piotrze, bez obaw – nie planuję wprowadzania płatności 😀

  • fajny wywiad!

    Słowa podziękowania należą się @piotr_nalepa:disqus który ułożył świetne pytania!

    dzięki za polecenie mojego bloga i serwisu polski front-end 😉

    Jestem tego zdania, że dobre rzeczy trzeba polecać.
    Zrobiłeś wartościowy projekt – wielu ludzi przyzna mi rację.

    Piotrze, bez obaw – nie planuję wprowadzania płatności 😀

    Ufff… Czasami boje się tych pomysłów, które pojawią się w głowach autorów projektów, które zaskoczyły 😅

  • w sumie to początkowo myślałem o tym żeby może jakoś to monetyzować w przyszłości ale szczerze mówiąc to pomysł aż tak bardzo nie chwycił żeby to miało sens (projekt ma sporo mniej odwiedzin niż mój blog więc potencjał nie jest duży jak na razie)… teraz myślę, że lepiej jak to będzie darmowe – z samego faktu istnienia tego projektu mogę mieć korzyści na innych polach 😉

  • Zgadza się! Korzyści z realizacji projektu nie zawsze muszą być materialne.
    Podoba mi się to myślenie, ze względu na to, że jest bliskie mojemu podejściu.

    Ludzie bardzo często wszystko przekładają na pieniądze… jeśli zawsze tylko pieniądze były by na pierwszym miejscu to nie powstało by wiele świetnych narzędzi.

  • Może to też wynika z tego, że stanowi on swego rodzaju proxy między RSS a blogiem docelowym? W pewnym momencie ludzie po prostu dodają blog docelowy do swojego czytnika RSS.
    Generalnie, dzięki Twojemu projektowi poznałem wiele ciekawych blogów, które staram się teraz śledzić 🙂

  • pewnie tak, dlatego będę chciał na jesieni ten projekt mocniej rozwinąć (konta użytkowników dające znacznie więcej możliwości itp.) – tak żeby było bardziej warto z tego korzystać 😉

  • WarsawJS to bez wątpienia najlepiej organizowany, regularny, meetup na jakim miałem przyjemność być. Warto od czasu do czasu przyjechać/przylecieć do Warszawy tylko by wziąć udział w spotkaniu. @piecioshka:disqus dzięki za polecenie bloga i życzę dalszych sukcesów!

  • Bardzo dziękuję za ciepłe słowa 😉

    Staramy się zawsze podchodzić poważnie do organizowania czegokolwiek, czy to meetupów, czy workshopów. Zapraszamy na kolejny meetup – WarsawJS Meetup #36 – który odbędzie się już za 2 dni – 9 sierpnia w Warsaw Spire na pl. Europejskim. Będzie można podczas niego wygrać darmowy bilet na konferencję CSS Mińsk JS. Szczegóły podczas wydarzenia!

    Zawsze powtarzam jedno: „Dobre rzeczy trzeba chwalić.”. Stąd też Twój blog @michal_zalecki:disqus został wymieniony!

  • Radek

    Piotrek popraw linki blogów, nie wszystkie chodzą po ssl, a ty dałeś je wszystkie po ssl i przeglądarka „głupieje” 🙂

  • mm1992

    Panie Piotrze, co Pan miał na myśli, pisząc o opiekunie? Chodziło o opiekuna w ramach stażu lub praktyki w jakiejś firmie, czy może o znajomym będącym programistą z dłuższym doświadczeniem?
    A jeżeli to drugie, to jakie „korzyści” mógłby mieć taki opiekun-znajomy? Jedyna sytuacja, w jakiej mogę sobie to wyobrazić, to jeśli uda mu się znaleźć pracę dla wprowadzanego kolegi w tej samej firmie, a właściwie to chyba jedynie w tym samym zespole. W każdym innym przypadku możemy mówić o jedynie przyjacielskiejypomocy – czego absolutnie nie można przekreślać, ale w takim wypadku nie mówimy o relacji biznesowej (korzyść za korzyść – niekoniecznie finansowa ale jednak korzyść).

  • Jestem przekonany, że tutaj chodzi o osobę, która będzie mentorem. Czyli o osobę, która posiada wiedzę i w ramach obowiązków zawodowych (i nie tylko) wprowadza mniej doświadczonych programistów w nowinki technologiczne; motywuje do rozwoju i pomaga rozwiązać problem, np. stosując tzw. pair-programming. Dzięki temu, osoby mniej doświadczone mają dodatkowe bodźce do rozwoju. Z mojego doświadczenia, mentor poza ewentualną satysfakcją z tego, że nauczył kogoś wystarczająco dużo, nie będzie miał namacalnych korzyści. Jedyną korzyść jaką widzę to, że dzięki temu taki „świeżak” nie będzie spowalniał pracy całego zespołu (a wręcz taka osoba może sama motywować innych do rozwoju).

  • Czas idzie do przodu. Kwestia kilku (-nastu) miesięcy jak blogerzy przejdą na HTTPS.
    Pełne przejście z HTTP na HTTPS zajęło mi sumarycznie około 2 godzin!

    Może warto abym opisał jak mi się udało? Hmm, a może po prostu zostawię tu link do pomocnego artykułu:
    https://support.cloudflare.com/hc/en-us/articles/217471977-How-to-install-an-Origin-CA-certificate-in-NGINX

  • Pisząc „opiekun” mam na myśli osobę bardziej doświadczoną, która opowie o branży, opowie jak się pracuje, opisze charakterystyki firm, modele współpracy, pokaże wzorce projektowe, generalnie będzie służyć dobrą radą… no i najważniejsze – pomoże rozwiązywać problemy techniczne!

    Samemu, kiedy rozwiązuje się problem, brakuje kogoś, z kim można skonsultować zaproponowane rozwiązanie. Opiekun może stwierdzić, że problem nie leży dokładnie w tym miejscu w którym jest widoczny dla użytkownika (może to być problem serwerowy, albo bazy danych, albo jeszcze coś innego).

    Staż, czy praktyki, zawsze niosą za sobą istnienie „opiekuna”. Byłem nie raz takim opiekunem i widziałem, jak mój podopieczny rozwija się w zadowalającym tempie stwierdzając samemu, że woli uczyć się ze mną niż samemu, bo więcej jest w stanie się nauczyć w tym samym czasie.

    Doświadczony developer, który uczy jarząbka może nie ma natychmiastowych korzyści, jednak po kilku latach, junior stanie się regularnym developerem albo i seniorem i wtedy istnieje możliwość współpracy – wspólnym realizowanie projektów na boku IYKWIM.

    Oczywiście, kiedy nasz przyjaciel / kolega / znajomy prosi nas o pomoc to pomagamy z czystej dobroci serca – to jasne. Jednak za jakiś czas możecie wtedy współpracować i stworzyć razem firmę!

    – • –

    Zgadzam się z @piotr_nalepa:disqus, opiekun to taki mentor.

    Jedyną korzyść jaką widzę…

    Piotr, korzyści jest znacznie więcej! Nie patrz tak płytko 😉

    Jest taka prawidłowość, kiedy kogoś uczysz, to też się uczysz. Uczysz jak komuś wytłumaczyć w prostych słowach dane zagadnienie. Przecież nie chcesz się popisywać wiedzą przed jarząbkiem, który i tak mało pojmuje.

    No i najważniejsza sprawa:
    Jeśli kogoś uczysz, to musisz rozumieć zagadnienie na wyższym poziomie.

    Musisz być biegły, aby faktycznie z przekonaniem kogoś nauczyć nowej technologii.
    Mi od razu rzuca się w oczy kiedy ktoś nie jest do końca pewny tego co mówi a jednak próbuje kogoś tego nauczyć.

    Osobiście, uwielbiam uczyć ludzi, bo wiem, że jeśli ktoś zrozumiał to co powiedziałem, potwierdza moją znajomość danego tematu na wyższym poziomie. Poziomie nauczyciela.

    Pozdrawiam! 🖐

  • Wiem że to kwestia kilku (-nastu) miesięcy, sam ostatnio rozkminiłem jak można za nie wielkie pieniądze około 75zł/rok (aktualnie jest promka na hosting na którym można ręcznie instalować certyfikaty SSL wygenerowane na stronie za pomocą Let’sEncrypt) obsłużyć wszystkie swoje domeny w SSL, jeden minus tego rozwiązania to trzeba ręcznie co 3 miesiące odnawiać certy. Narazie na moje potrzeby sprawdza się super, dzięki temu rozwiązaniu przerabiam strony klientów na PWA dość niskim nakładem finansowym jeśli chodzi o same certyfikaty :-).

    „Pełne przejście z HTTP na HTTPS zajęło mi sumarycznie około 2 godzin!” jeśli masz dobrze napisaną stronę/app to przejście wraz z wygenerowaniem certyfikatu i instalacją na serwerze nie zajmie więcej niż 15 minut 🙂

  • Generowanie certyfikatów na friko jest tutaj: https://support.cloudflare.com/hc/en-us/articles/115000479507
    Oczywiście musisz korzystać z CloudFlare jako chmury cache-ującej, ale to chyba nie problem.

    jeśli masz dobrze napisaną stronę/app to przejście wraz z wygenerowaniem certyfikatu i instalacją na serwerze nie zajmie więcej niż 15 minut 🙂

    Dokładnie! „Jeśli” 😂

  • Inspirujący wywiad!