PHP

Z jakimi wyzwaniami mierzą się PHP Developerzy? Wywiad z Jakubem Pokornym

kodowanie w php na macbooku

W dzisiejszym cyfrowym świecie, gdzie strony internetowe i aplikacje internetowe odgrywają kluczową rolę, język PHP jest jednym z najbardziej rozpoznawalnych narzędzi dla programistów. W rozmowie z Jakubem Pokornym PHP Developerem w Massive Pixel Creation zapytaliśmy o początki kariery w PHP, wyzwania wiążące się z programowaniem w tym języku oraz indywidualnym podejściu do codziennych obowiązków.

Jak zainteresowałeś się programowaniem w PHP? Co zmotywowało cię do rozpoczęcia kariery w tej dziedzinie?

jakub pokorny profilowe

U mnie akurat historia jest raczej prostolinijna, w technikum przy e.14 uczyli nas webówki, w tym właśnie PHPa. Chciałem wcześnie zacząć pracę, a wiedząc, że frontend to nie moja bajka, w ostatnim roku przyłożyłem się do nauki PHPa będącego wówczas najoczywistszą opcją.

Motywacją był fakt, że byłem na kierunku informatycznym i raczej byłem świadom, że studia to spora inwestycja czasu, która niekoniecznie musi się przełożyć na dobrą pracę. Dlatego postanowiłem spróbować szybciej wejść w branżę tak, żeby po 3 latach, które poświęciłbym na studia, miał już 3 lata doświadczenia. Myślę, że to był mój motor napędowy 😉

Czy możesz opisać trudny projekt lub problem, który napotkałeś w swojej karierze programisty PHP? Jak sobie z nim poradziłeś?

Ciężko namierzyć jeden duży problem, który spędzałby mi sen z oczu na tyle długo, żeby pojawiał się w głowie kiedy tylko usłyszę słowo „problem” :). Wydaje mi się, że moja kariera zawodowa składała się głównie z wielu małych i średnich problemów, ale gdybym miał przytoczyć jeden, który pochłonął najwięcej czasu, to przychodzi mi do głowy stworzenie modułu związanego z DNSem do starej linuksowej biblioteki z dokumentacją porozsiewaną po różnych stronach w stylu 2005.

Problem polegał na tym, że ta aplikacja była oparta na plikach tekstowych z luźną strukturą, którą musiałem odpowiednio interpretować i modyfikować. Temat ciężki jak na juniora wówczas, ale rozwiązaniem było rozbijanie problemów na mniejsze, aż wszystko spięło się w całość.

Czy jesteś zaangażowany w jakieś społeczności programistów PHP lub projekty open-source? W jaki sposób udział w tych działaniach wpłynął na Twój rozwój zawodowy?

Aktualnie raczej programuję tylko komercyjnie, zdarzało się kontrybuować do projektów opensource, ale raczej wynikało to z pracy na nich w większych projektach i podrzucaniu błędów, które znalazło się w trakcie pracy. Jeśli chodzi o społeczności PHP, to w moim przypadku jestem tylko na paru grupach na Facebooku, ale szczerze mówiąc, polskie grupy nie należą do tych najbardziej ożywionych. Najciekawsze rozmowy raczej pojawiają się w DMach z innymi developerami, których już poznałem w trakcie pracy.

Czy kiedykolwiek zdarzyła Ci się sytuacja, w której musiałeś blisko współpracować z osobami nietechnicznymi (np. klientami, PM-ami)? W jaki sposób skutecznie przekazywałeś im kwestie typowo techniczne?

Tu szczerze przyznam, że w tej kwestii wypadam raczej słabo :). W aktualnej pracy całkiem często miałem okazję rozmawiać z osobami nietechnicznymi, jednak moją wadą jest to, że lubię mówić mocno technicznie i zagłębiać się w szczegóły. PM często musiał mnie w takich rozmowach stopować i zawracać na dobrą ścieżkę. Tak więc moja rada jest taka — znajdźcie sobie takiego PMa ;).  

Jak podchodzisz do rozwiązywania problemów i debugowania w swojej pracy programistycznej PHP? Czy możesz podzielić się przykładem, w którym z powodzeniem rozwiązałeś złożony problem?

Taak, znam osoby, które lubią tę część bardziej od regularnego programowania przez wzgląd na satysfakcję, jaką może to dawać. Jestem w stanie to zrozumieć dlatego, że w dużym stopniu na rynku PHP i w dużym segmencie webówki lwia część pracy opiera się na nauce danego schematu i wdrażaniu go w wielu projektach, co może być powtarzalne. 

Ja raczej nie należę do tych osób, przez wzgląd na ilość włosów, którą można przy tym stracić 🙂 i ciężką estymację czasu, jaki w debugowanie trzeba włożyć. Chciałbym przytoczyć jakiś dobry przykład, gdzie problem zamykał się w samym PHP, ale najczęściej spotykanymi przeze mnie problemami były te na granicy DevOps / PHP gdzie dużą rolę odgrywały konfiguracje czy to nginx, firewalla, czy to niekonwencjonalne podejście klientów do wykorzystania danych funkcjonalności ;). 

Jeśli chodzi o złożony problem, to myślę, że dobrym przykładem mogłaby być funkcjonalność narzędzia, które pisałem na wewnętrzne potrzeby firmy. Jedną z funkcjonalności była możliwość instalowania na serwerze i zarządzania modułami napisanymi przez firmę. Problem polegał na tym, że u niektórych kolegów funkcjonalność listująca zainstalowane moduły nie działała, nie informując o błędzie, jaki wystąpił. Do problemu doszedłem, lokalizując moduły, które powodowały problem, instalując wszystkie po kolei.

Problemem okazało się to, że niektóre moduły używają tych samych nazw funkcji w globalnym namespace, czego PHP nie lubi (co wymuszał system, do którego moduły pisaliśmy). Rozwiązałem ten problem tworząc osobny skrypt php, który zwracał w czytelnym formacie dane o module i uruchamiałem go w osobnej instancji PHP.

Czy kiedykolwiek byłeś mentorem lub szkoliłeś młodszych programistów? Na jakim poziomie było wtedy Twoje doświadczenie i jakie umiejętności lub wiedzę im przekazałeś? 

Jeśli w pracy, to raczej pomoc sprowadzała się do pojedynczych sytuacji. Nigdy nie przydzielono mi roli mentora czy opiekuna nad juniorem. Natomiast tu nieustannie próbuję namówić znajomych na IT 🙂 i aktualnie uczę dwoje z nich (i których serdecznie pozdrawiam 😉 również na PHP Developerów. Aktualnie jestem na midzie i planuję doprowadzić ich do opanowania podstaw jednego z frameworków MVC, co przy dobrych wiatrach uda się osiągnąć do końca wakacji.

Jak radzisz sobie z konstruktywną krytyką lub informacją zwrotną na temat swojej pracy? Czy musiałeś jakoś „dojrzeć” do tego, czy jednak od początku przyjmowałeś feedback jako coś normalnego? 

Przyznam, że akurat z feedbackiem było różnie. Prawda jest taka, że mało osób lubi dawać negatywny feedback i raczej spotykałem się z kudosami. Na juniorze było dużo nauki, która bezpośrednio wiązała się z otrzymywaniem feedbacku, lecz na juniorze nie odbierałem tego jako „negatywny” feedback a część nauki. 

W kolejnej firmie był większy nacisk kładziony na dzielenie się feedbackiem i tam krytyka była już związana nie tylko z programowaniem i do takiej faktycznie musiałem się przyzwyczaić :). Warto jednak nadmienić, że zwykle wiąże się to z dużą życzliwością, dlatego też nie jest to coś, czego trudno się nauczyć.

Jak utrzymujesz motywację i inspirację w swojej karierze programisty PHP? 

Tu być może kontrowersyjna kwestia, ale w moim wypadku wynika z dobrego work-life balance. Staram się rzeczywiście wychodzić z pracy i zajmować swoimi hobby. Wydaje mi się, że dzięki temu mogę utrzymać swoje zdrowie i motywację na dobrym poziomie, a następnego dnia do pracy wrócić wypoczęty :).

Co uważasz obecnie za największe wyzwanie lub trend w rozwoju PHP? Czy można przygotować się jakoś na takie zmiany?

Wydaje mi się, że największym wyzwaniem aktualnie jest to, że PHP wypadł z łask FAANGa ;). I oczywiście to, że wszelkie nowe rozwiązania w całym IT do PHPa trafiają później, przez wzgląd na to, że ich użycie opiera się na SDKach pisanych przez społeczność. Tak naprawdę w przypadku PHPa moim zdaniem największe zmiany związane są z rozwiązaniami wprowadzanymi do szerszej publiki przez największe frameworki, takie jak Laravel czy Symfony. Moją radą na przygotowanie się na to jest śledzenie rozwoju właśnie tych 2 frameworków. 


Jakub Pokorny. Programista backendowy z 4-letnim doświadczeniem komercyjnym w PHP. Z wykształcenia technik informatyk. Pracujący głównie w frameworku Symfony i Laravel oraz frameworkach opartych na ich elementach. Z doświadczeniem w Vue, Deno oraz dockerze. Obecnie PHP Developer w Massive Pixel Creation.

Zdjęcie główne pochodzi z unsplash.com

Redaktor współpracująca

Od trzech lat pracuje jako copywriterka, aktualnie zajmuje się tworzeniem treści dla branży IT oraz militarnej. Miłośniczka robienia szczegółowego researchu.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/wyzwania-php-developera" order_type="social" width="100%" count_of_comments="8" ]