inhire.ioBlogPraca w ITOd programisty PHP do CTO w Polcode

Od programisty PHP do CTO w Polcode

Praca w IT
28/04/2021

Jerzy Zawadzki 16 lat temu rozpoczął swoją przygodę z programowaniem w PHP, a od prawie 4 lat zajmuje stanowisko Chief Technology Officera. Ponadto cały czas jest aktywnie kodującym Senior Symfony Developerem. W wywiadzie opowiada nam między innymi o swojej drodze zawodowej, o tym jak zarządza specjalistami IT i do czego w Polcode wykorzystywany jest „Event Storming”.

Jak to się stało, że z programisty PHP stałeś się CTO Polcode?

Z Polcode jestem związany od ponad 12 lat, z czego pierwsze osiem byłem na stanowisku  programisty. Przez te lata miałem możliwość poznania większości typów projektów i technologii, z którymi mamy do czynienia w firmie. Pierwszych kilka lat spędziłem pracując nad projektami e-commerce budowanymi na Magento, a ostatnie nad systemami SaaS opartymi na Symfony.

Mógłbym w tym miejscu opowiedzieć o klasycznej ścieżce kariery – od programisty, poprzez awans na seniora, aż do objęcia stanowiska CTO – ale ja chyba tego tak nie odczułem. Przede wszystkim może dlatego, że cały czas jestem programistą – ta część mojej drogi się jeszcze nie skończyła.

Prawie 4 lata temu objąłem funkcję CTO, co było początkiem całkiem nowej przygody i owszem, koduję trochę mniej niż kiedyś, ale nadal jest to moje „ja”. Jeśli miałbym odpowiedzieć jednym słowem co sprawiło, że powierzono mi taką rolę – postawiłbym chyba na zaangażowanie. Od zawsze aktywnie uczestniczyłem w inicjatywach wewnątrz i na zewnątrz firmy oraz starałem się ją ulepszać. Razem z nową nazwą stanowiska otrzymałem (wraz z dużym kredytem zaufania) możliwość samodzielnego podejmowania decyzji w zakresie technologii.

Jak na co dzień wygląda Twoja praca w Polcode?

Zaczyna się pewnie jak u każdej innej osoby w tej branży – od kawy,  a  cała reszta różni się w zależności od dnia 🙂

Oprócz moich głównych obowiązków, czyli szeroko pojętego zarządzania zmianami technologicznymi, pojawiają się też bieżące sprawy.

Niekiedy może to być spotkanie z potencjalnym albo aktualnym klientem i odpowiedź na pytanie, jak technologia może pomóc w jego biznesie. Czasami są to zadania związane z rekrutacją do naszego zespołu, a innym razem wsparcie któregoś z zespołów projektowych.

Jakie wyzwania ma przed sobą Chief Technology Officer w Polcode?

Jeśli popatrzymy na dowolny software house to w każdym istnieją 3 niezmienne składniki: Ludzie, Technologia, Projekty. Wpływają one na siebie nawzajem: Ludzie mają umiejętności i doświadczenie w pracy z Technologiami, które pozwalają nam tworzyć dobre Projekty.

Tak jak Project Managerowie mają swój “Żelazny Trójkąt” zarządzania (“zakres – budżet – czas”), tak to jest mój. Na każdym z jego wierzchołków, jak i na krawędziach pojawiają się wyzwania: jak zatrudnić najlepszych Ludzi, na jakich Technologiach powinniśmy się skupić, jak powinniśmy tworzyć Projekty.

Wszystkie te wyzwania będą zwielokrotnione, jeśli weźmiemy pod uwagę rozmiar naszej firmy – pod kątem liczby programistów, liczby projektów czy mnogości technologii, z którymi mamy do czynienia – PHP, Magento, Ruby, Python, React – a to tylko kilka wybranych. Te technologie nie stoją w miejscu, a powiedziałbym nawet, że ich rozwój jest szybszy niż kiedykolwiek do tej pory.

Dlaczego postanowiłeś rozwijać się w obszarze Symfony? Jaka jest przewaga tego frameworka nad innymi?

Wybrałem Symfony z trzech powodów

Po pierwsze, język w którym został napisany – PHP. To język stworzony do programowania webowego, najbardziej popularny, a jego ostatnie lata – zwłaszcza wersje 7 i 8 – to niesamowity rozwój i bardzo duży krok naprzód. Zacząłem z nim pracę 16 lat temu i to była chyba najlepsza decyzja, jaką mogłem podjąć.

Po drugie, architektura. Architektura, która czerpie z najlepszych, sprawdzonych wzorców, a do tego jest bardzo elastyczna. N a Symfony możemy patrzeć zarówno jak na cały framework, jak i na zbiór niezależnych komponentów. Pozwala to stworzyć każdy typ projektu: od małego API, poprzez rozbudowany SaaS, aż po nawet nowy framework.

Po trzecie: Symfony jest dla mnie przykładem bardzo dobrego zarządzania projektem open source. Core team bardzo dużą wagę przykłada do działań związanych z tzw. “Developer experience”, czyli tego, jak ten framework jest odbierany przez osoby, które z niego korzystają. Te działania widać np. w prostocie instalacji, jakości dokumentacji czy nawet drobnych rzeczach, jak podpowiedzi błędów w tekstach (np. gdy zrobiło się literówkę). Te elementy są bardzo ważne zwłaszcza dla osób, które pierwszy raz na oczy widzą Symfony.

Na jakie kompetencje kładziecie nacisk w Polcode i z jakimi potrzebami biznesowymi jest to związane?

Pomijając kompetencje typowo techniczne, różne dla każdej technologii, wymieniłbym na pewno 3 umiejętności miękkie:

  • Umiejętność szybkiego uczenia się – pozwala to zarówno na bycie na bieżąco z technologią, jak i łatwiej zrozumieć problem klienta. W software house mamy do czynienia z różnymi branżami i domenami – przez te “kilka” lat pracowałem z m.in. branżą sportową, modową, chemiczną, prawniczą. Każda jest inna, każda ma swoje specyficzne elementy – ogromną część naszej pracy stanowi właśnie poznanie ich i nauka specyficznych dla nich rzeczy.
  • Analityczne myślenie i skuteczne rozwiązywanie problemów, bo technologia jest tylko narzędziem. Nie wystarczy mieć młotek, trzeba jeszcze wiedzieć gdzie uderzyć.
  • Jesteśmy zespołem w większości (aktualnie w 100%) zdalnym więc “last but not least”: dbałość o komunikację w zespole. Ta komunikacja, a dokładnie jej brak może być powodem największych problemów w projektach – dużo groźniejszych od tych spowodowanych przez sprawy techniczne.

Jak z Twojej perspektywy wygląda zarządzanie specjalistami IT?

W mojej opinii na to zarządzanie składają się trzy główne elementy: zarządzanie oczekiwaniami, łączenie potrzeb i zaufanie. Czego oczekujemy od osoby na danym stanowisku i czego ta osoba oczekuje od nas. Połączenie potrzeb klienta i projektu z potrzebami każdego członka zespołu, np. w sferze ciągłego rozwoju umiejętności. Zaufanie, które spaja obie te rzeczy

Czasami, jak to w każdej organizacji, w tej relacji mogą pojawić się zgrzyty, ale wychodzę z założenia, że nigdy nie dzieje się to bez konkretnego powodu. To może być brak którejś z kompetencji, o których mówiłem wcześniej, lub np. problemy w komunikacji. Jeśli stworzymy odpowiednie środowisko do współpracy, rozwoju i usuniemy te przeszkody, to wtedy dzieje się magia.

Jak w Polcode wygląda praca z klientami i czy Wasi specjaliści IT mają bezpośrednią styczność z klientem? Czy jest coś czym wyróżniacie się od innych Software House’ów? 😉

Tak, nasi specjaliści mają bezpośredni kontakt z klientem i uważam to za jedną z naszych najważniejszych zalet. Wynika to przede wszystkim z różnorodności klientów i projektów, z którymi mamy do czynienia  – aby móc jak najlepiej wesprzeć ich od strony technicznej konieczna jest bliska współpraca i dobra komunikacja.

Klienci to doceniają. Minął już czas (w Polcode zresztą nigdy w ten sposób to nie funkcjonowało), w którym jakikolwiek software house mógł być taką zamkniętą skrzynką: dostać specyfikację projektu, zamknąć się na kilka miesięcy i oddać po tym czasie gotowy projekt.

Trafiają do nas klienci np. szukający pomocy w rozwoju aplikacji, którzy są zaskoczeni, kiedy pytamy o ich cele biznesowe w bliższej i dalszej perspektywie. Mają doświadczenie z innymi Software Housami, które nigdy nie zadały tego pytania. Dziwi mnie to, bo przecież wszystkie nasze działania, aż do najniższego poziomu, czyli napisania pojedynczej linii kodu, powinny być tym podyktowane.

Współpraca powinna się zacząć od samej definicji problemu lub celu biznesowego, z którym przychodzi klient. Zrozumienie go, znalezienie dla niego rozwiązania, przeprowadzenie klienta przez cały proces – to najtrudniejsza część naszej pracy. I wymaga ona bezpośredniej komunikacji.

Pomaga w tym nasze doświadczenie i metody, z których korzystamy. Ostatnio coraz częściej sięgamy m.in. po Event Storming. Metoda ta, w formie warsztatów z klientem, pozwala na zobrazowanie procesów biznesowych, które później przekuwamy na implementację.

Ostatni klient, z którym miałem przyjemność odbyć takie warsztaty, był nią zachwycony  – stwierdził, że proces, który modelowaliśmy miał od dawna w głowie, ale nigdy nie udało mu się go tak dobrze odwzorować “na papierze”. Dzięki tej metodzie nie tylko my poznajemy domenę, ale sam klient lepiej ją poznaje, widzi możliwości rozwoju oraz jej słabe punkty. Po takich warsztatach kodowanie to czysta przyjemność.

Sprawdź kogo rekrutuje Polcode 

Czytaj także –