inhire.ioBlogPraca w ITWywiad z Wiktorem Żołnowskim – co-founderem Pragmatic Coders

Wywiad z Wiktorem Żołnowskim – co-founderem Pragmatic Coders

Praca w IT
31/01/2019

Opowiedz proszę o Pragmatic Coders, kim jesteście, czym się zajmujecie?

Pragmatic Coders to Software House tworzący różnorodne produkty dla klientów z całego świata. W większości są to projekty dla branży FinTech, takie jak platformy inwestycyjne, giełdy kryptowalut, czy zdecentralizowane aplikacje inwestycyjno-finansowe. Jesteśmy także jedną z pierwszych w Polsce firm specjalizujących się w Blockchainie.

Dlaczego warto z Wami pracować?

Wyróżnia nas kultura organizacyjna, która opiera się o ciągły rozwój, dostarczanie profesjonalnych usług na najwyższym poziomie i tworzenie świetnego miejsca do rozwoju, w którym jak by nie było spędzamy prawie jedną trzecią naszego życia.

Mimo ciągłego wzrostu (jest nas już ponad 50 osób!) staramy się zachować to, co jest najlepsze w małych firmach, jednocześnie dbając o to, by nasz wzrost był odpowiednio zaplanowany i skoordynowany.

Czy możesz podać przykłady?

Mamy płaską strukturę w firmie, gdzie każdy może pogadać z founderami, każdy może mieć wpływ na rozwój firmy. Nie mamy kilku poziomów managementu a nasze decyzje w większości poparte są empirycznymi danymi, które zbieramy w sposób ciągły.

Jak wspomniałem, bardzo ważny jest dla nas rozwój współpracowników. W poniedziałki organizujemy tech talki, podczas których chętni mogą przedstawić swój temat i podzielić się wiedzą przy pizzy czy pierogach 😉 Raz na jakiś czas spotkania te przyjmują formę update’ów firmowych, gdzie omawiamy ostatnie zmiany w firmie i najbliższe wydarzenia tak, aby wszyscy w Pragmatic Coders wiedzieli, co w trawie piszczy.

Dlaczego zdecydowaliście się na współpracę z inhire.io?

Podoba nam się idea dopasowania oferty do kandydata i odwrotnie. Super, że staracie się poznać firmy, które zapraszacie do współpracy, zamiast uprawiać masową rekrutację.

Jaki macie dresscode i gdzie znajduje się Wasze biuro?

Dresscode? Tak, żeby było Ci wygodnie 🙂 Niektórzy chodzą na bosaka, innych spotkasz w śmiesznych kapciach. T-shirty z konferencji,  koszule, sukienki, krótkie spodenki, co kto lubi!

Nasze biura mieszczą się w Warszawie i Krakowie. Nasze warszawskie biuro znajduje się na 10. piętrze budynku Prosta Tower, skąd rozciąga się widok na panoramę miasta. Biuro w centrum ma swoje plusy – można dotrzeć tu bez większych problemów z każdej strony.

W Krakowie natomiast jeszcze przez najbliższe pół roku znajdziecie nas w budynku biurowym z przyjemnym ogródkiem (w którym często grillujemy) i widokiem na kopiec Kościuszki, położonym w malowniczej i spokojnej części Bronowic.

Jakich kandydatów aktualnie szukacie?

Szukamy przede wszystkim ludzi, którzy chcą się cały czas rozwijać. To, co się dla nas liczy, to pasja, chęć do rozwoju oraz umiejętność pracy zespołowej. Znaczna część naszego zespołu to bardzo doświadczeni Senior Developerzy. Zestawienie ich z trochę mniej doświadczonymi, jednak głodnymi wiedzy Regular Developerami, to wspaniała mieszanka dająca super efekty.  Obecnie poszukujemy specjalistów z obszarów takich jak:

  • C#/.Net
  • js
  • Blockchain
  • Java

Czym się zajmuje Pragmatic Coders wszyscy wiemy. Powiedz nam coś, czego jeszcze nie wiemy o Was?

Ze względu na to, że nie możemy chwalić się oficjalnie współpracą z naszymi największymi korporacyjnymi klientami, mało kto wie, że tworzymy software, którego efekty działania mają wpływ na życie wielu spośród nas. Platformy i rozwiązania, które tworzymy, często wspierają pracę wielu osób w firmach na całym świecie, z których produktów korzystamy na co dzień.

Czasem ciężko jest na pierwszy rzut oka dostrzec powiązanie np. pomiędzy budowaną przez nas platformą inwestycyjną skierowaną na rynek brytyjski, a ubezpieczeniem samochodu, które zawieramy w Polsce. Podobnie, pracując nad marketplace dla connectorów API nieoczywisty jest fakt, że to, co robimy, ma m.in. wpływ na to, jak szybko przyjedzie do nas zamówiony dzisiaj lunch z dostawą…

Kolejną ciekawostką może być to, że jako jedna z pierwszych (według naszej wiedzy najprawdopodobniej pierwsza) firm w Polsce pracowaliśmy nad komercyjnymi produktami opartymi o technologię blockchain. Byliśmy prekursorami w tym obszarze w czasach, gdy wiedza na ten temat była bardzo trudno dostępna i sama technologia dopiero raczkowała.

W obszarze jakich technologii poruszacie się w Pragmatic Coders?

Od jakiegoś czasu w Pragmatic Coders staramy się być technologicznie-agnostyczni. Fajnie brzmi, jednak co to znaczy? Poruszamy się w wielu różnych technologiach. Zaczynaliśmy kilka lat temu od Python, Java i JavaScript. W tej chwili do tego stacku dołączyły m. in. takie języki programowania jak Go, C/C++, C# oraz frameworki takie jak Angular, React, Node.js.

To zapewne nie koniec naszego rozwoju. Taka rozbudowa zakresu technologii, którymi się posługujemy, jest spowodowana decyzjami o tym, w jakich domenach się poruszamy (Blockchain, FinTech). Wpływ na to mają także różnorakie wyzwania stawiane przed nami przez naszych klientów i oczywiście chęć rozwoju naszych programistów.

W tej chwili większość osób w Pragmatic Coders porusza się sprawnie w więcej niż jednej technologii. To oczywiście wcale nie znaczy, że trzeba być biegłym w wielu językach programowania, by się do nas dostać!

Jak wygląda proces wytwarzania software’u w Waszej firmie?

Tak jak większość firm dzisiaj stawiamy na Agile i Lean. Z tym, że u nas wygląda to trochę inaczej. Założyciele Pragmatic Coders mają za sobą blisko 10 lat pracy jako konsultanci pomagający organizacjom we wdrażaniu zwinnych praktyk wytwarzania oprogramowania.

Pragmatic Coders powstało z zamysłem bycia firmą modelową, w której Agile się nie wdraża, tylko która w oparciu o to podejście i wartości była budowana od pierwszego dnia.

Ponadto nazwa zobowiązuje – zawsze staramy się być pragmatyczni. Nie znajdziecie u nas dogmatyzmu i fanatyzmu metodycznego – to co robimy zawsze jest uzasadnione konkretnymi potrzebami.

Co do dobrych praktyk to stosujemy Continuous Delivery, Domain Driven Design, Test-Driven Development no i oczywiście wszyscy praktykujemy zasady Clean Code.

Jaki jest Twój pomysł na skalowanie zespołu oraz organizacji zatrzymując przy tym największe talenty, które często lubią być indywidualistami?

Staramy się, by nasze zespoły zawsze były względnie małe i cross-funkcjonalne. Nawet w przypadku klienta, dla którego pracuje w sumie 21 osób, mamy w tej chwili 5 zespołów 3-5 osobowych, które pracują mocno niezależnie. Dzięki stosowaniu dobrych praktyk wspomnianych wcześniej, a zwłaszcza Continuous Delivery, nie ma problemu z synchronizacją pracy tam, gdzie się ona przecina pomiędzy zespołami.

Nie zgodzę się z tym, że “największe talenty często lubią być indywidualistami”, a przynajmniej nie zgodzę się z interpretacją indywidualisty jako “osoby, która woli pracować samodzielnie, a nie w zespole”. W naszej ocenie popartej doświadczeniem, największe talenty to liderzy, którzy nie tylko są świetni technicznie, ale potrafią też pracować zespołowo, budować zespoły i wewnątrz nich wyłaniać kolejnych liderów.

Wytwarzanie produktów softwarowych to nie tylko kodowanie. W zasadzie samo pisanie kodu to tylko mała część tego, co powinien wiedzieć programista. Te wszystkie dobre praktyki, o których wspominaliśmy, nie powstały dlatego, żeby jednej osobie łatwiej się pracowało nad kawałkiem kodu. Kluczem do dostarczania wartości biznesowej w IT jest możliwość długofalowej pracy nad rozwojem produktu i skalowaniem tej pracy w miarę potrzeb.

Jak wygląda rekrutacja do Pragmatic Coders z perspektywy CTO? Jakie kompetencje i umiejętności cenisz najbardziej?

Staramy się by nasz proces rekrutacyjny był efektywny zarówno z naszej perspektywy, jak i z perspektywy kandydatów.

Na początku zazwyczaj pytamy kandydatów o przykłady ich kodu, którymi chcieliby się pochwalić lub dajemy im zadanie do zakodowania. Jeśli ktoś ma większe doświadczenie, to zaczynamy proces od krótkiego (30 minut) technicznego hangout, podczas którego rozmawiamy o technologii i prosimy by kandydat coś zakodował. Kolejnym etapem jest rozmowa rekrutacyjna (około 2 godziny). Podczas rozmowy również kodujemy.

Oceniamy między innymi:

  • Umiejętności techniczne i znajomość danej technologii.
  • Znajomość dobrych praktyk wspomnianych wcześniej. W zasadzie większość kandydatów, którzy prawidłowo i efektywnie stosowali TDD podczas kodowania na rozmowie rekrutacyjnej, dostawało od nas ofertę pracy. To oczywiście tylko korelacja a nie efekt przyczynowo-skutkowy.
  • Umiejętność kodowania i posługiwania się narzędziami – w tym samym IDE. Przykładowo – historia pokazuje, że małe szanse ma u nas osoba, która intensywnie posługuje się myszką podczas kodowania.
  • Culture Fit – to też bardzo ważny aspekt, który staramy się dobrze wybadać w trakcie rozmowy.
  • Do tego od seniorów wymagamy też umiejętności liderskich przynajmniej na podstawowym poziomie.

Poprzeczka jest dosyć wysoko, jednak zachęcamy wszystkich do udziału w rekrutacji. Bez względu na decyzję, zawsze staramy się dawać kandydatom feedback. Mamy też kilka success stories, gdzie kandydaci, którzy nie przeszli podczas pierwszej rozmowy, po nadrobieniu zaległości opisanych w feedbacku dostali się do nas kilka miesięcy później.

Jeśli miałbyś udzielić jednej rady odnośnie rozwoju i kariery nowicjuszom z szeroko rozumianego IT byłoby to… ?

Jeśli ma to być tylko jedna rada to: nie skupiajcie się tylko i wyłącznie na technologii. Programowanie to dziedzina znacznie szersza niż znajomość języka programowania czy frameworka. Im wcześniej zaczniecie czytać o dobrych praktykach i je uskuteczniać (zwłaszcza Clean Code i TDD), tym szybciej będziecie robić postępy.

W jaki sposób osoby techniczne komunikują się z biznesem? Jaka jest częstotliwość tej komunikacji?

Nasze zespoły pracują bardzo blisko klientów i ich biznesu. Staramy się być partnerami dla biznesu. Okazji do komunikacji z biznesem jest zazwyczaj dużo, niemniej jednak dbamy o to, by ta komunikacja przebiegała w sposób ustrukturyzowany, nie utrudniający pracy. Po to stosujemy m. in. Scrum.

Które z nadchodzących zmian technologicznych oraz społeczno-biznesowych będą Twoim zdaniem najbardziej wpływać na biznes Pragmatic Coders oraz w jaki sposób?

Blockchain już mocno wpłynął na naszą firmę. Ta technologia wzbudziła duże zainteresowanie wśród prawie wszystkich naszych współpracowników – nie tylko tych, którzy pracują nad projektami bezpośrednio związanymi z tą technologią.

Myślę, że kolejnymi obszarami, które mogą mieć wpływ na nas, będzie rozwój AI i Machine Learning. Uważnie obserwujemy też to, co się dzieje w temacie komputerów kwantowych i paradygmatu programowania kwantowego.

Co do zmian społecznych – dzięki nowym technologiom i automatyzacji życie ludzi na całym świecie staje się coraz łatwiejsze i cieszymy się, że możemy być tego częścią. Coraz głośniej mówi się o dochodzie minimalnym wynikającym ze zmniejszającej się ilości miejsc pracy.

Z czasem może okazać się, że pracować będą tylko ci, którzy są prawdziwymi pasjonatami. Dlatego w Pragmatic Coders już dziś stawiamy na ludzi z pasją, którzy kochają to, co robią.

Jakie blogi czytasz regularnie? Czy jest może książka, która szczególnie zapadła Ci ostatnio w pamięci?

Od dłuższego czasu nie śledzę jakichś konkretnych blogów. Sugestie google news oraz kontent polecany przez znajomych w sieciach społecznościowych w zupełności mi wystarczają, by wyrobić sobie własną opinię na różne tematy. Niemniej jednak staram się czytać (lub słuchać audiobooków) co najmniej dwie książki miesięcznie. Ostatnio są to książki głównie poświęcone strategii i rozwojowi biznesu.

Co do książek, które poleciłbym każdemu programiście, to na pierwszych miejscach od lat niezmiennie plasują się:  “Clean Code: A Handbook of Agile Software Craftsmanship” (Robert. C. Martin) i “Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation” (Jez Humble). To absolutnie konieczne pozycje dla programistów.