W Packhelp nie boimy się szukać wyjątkowych rozwiązań — Arkadiusz Wasilonek

W pierwszym roku działalności zespołowi Zapakuj.to (zagraniczni klienci znają firmę pod nazwą Packhelp) udało się pozyskać takich klientów jak Poczta Polska, Uber, Nivea czy EA Games. Wszyscy skorzystali z produktu w postaci spersonalizowanych opakowań. W kilka minut mogli zaprojektować i zamówić pudełka z logo swojej firmy — z poziomu aplikacji webowej. Jak powstał pomysł na ten produkt?

Pomysł na stworzenie Packhelp powstał, gdy czterech znajomych z agencji interaktywnej miało za zadanie przeprowadzić kampanię marketingową. Do jej realizacji potrzebowali spersonalizowanych pudełek, więc zaczęli szukać możliwości wykonania ich w małym nakładzie. Niestety, nigdzie nie mogli znaleźć rozwiązania spełniającego ich oczekiwania — małego nakładu oraz możliwości samodzielnego stworzenia projektu opakowania. Tak narodził się pomysł rozwiązania problemu poprzez stworzenie odpowiedniej oferty.

Dziś Packhelp dociera do tysięcy klientów z Europy i za pomocą kreatora online pozwala w 10 minut zaprojektować dowolne opakowanie np. z logo firmy. Na przestrzeni kilku ostatnich lat, spółka rozrosła się do blisko pięćdziesięciu osób.

Packhelp to rentowna firma, która z pomocą inwestorów podbija kolejne rynki. Potrzebuje jednak doświadczonych developerów, którzy przełożą wizję na działający produkt. Arkadiusz Wasilonek, CTO Packhelp, którego zaprosiliśmy do wywiadu, odpowiedział nam na pytania dotyczące rekrutacji, ale też rozwoju firmy. Zobaczcie, jaką drogę przebyło Zapakuj.to, by stać się firmą z sukcesami na międzynarodowym polu.

Zacznijmy od początku historii Zapakuj.to, czyli od tego w jakiej technologii powstał? Powiedz proszę, jak wyglądał research technologiczny i czego się z niego dowiedzieliście?

Rozważaliśmy wiele technologii, szczególnie w zakresie backendowej warstwy m.in.: Node, PHP, Ruby on Rails czy Python — ale ostatecznie postawiliśmy na Railsy. Był to już znany framework, dojrzały, bardzo rozbudowany a przede wszystkim pozwalający na szybkie tworzenie aplikacji do prototypowania startupów. Chcieliśmy stworzyć szybko MVP produktu, dlatego do procesu składania zamówień i obsługi całego procesu, wykorzystaliśmy Spree Commerce, który także jest oparty na Railsach. To zaawansowany silnik udostępniający całe API ecommersowe, dzięki czemu już w pierwszym tygodniu pracy byliśmy w stanie zacząć pisać frontend do naszego sklepu. Co więcej, dzięki meta-programowaniu w Ruby mogliśmy dostosować każdy element silnika Spree pod nasze potrzeby.

Na zapakuj.to — z poziomu przeglądarki — możemy zaprojektować dowolne pudełko, a Wy zamówienie przetwarzacie i realizujecie. Z jakimi wyzwaniami spotkaliście się pracując nad elementem projektowania?

Zdecydowanie największym wyzwaniem było stworzenie interaktywnego kreatora opakowań, który będzie intuicyjny w obsłudze i umożliwia stworzenie designu z poziomu przeglądarki. Po stronie frontendowej zdecydowaliśmy się na użycie WebGL oraz Reacta. Efekt dla klientów jest imponujący, bo swój projekt mogą zobaczyć w wersji 3D, czyli dokładnie tak jak będzie wyglądało pudełko po złożeniu zamówienia.

Silnik, który jest otwarty w przeglądarce do edycji pudełka, może być również odpalony na backendzie, dzięki czemu jesteśmy w stanie zautomatyzować wiele procesów. Naszym celem jest rozwijanie automatyki jeżeli chodzi o procesy DTP’owe, żeby być światowym liderem dostarczania tego typu rozwiązań.

Na pewno korzystacie z wielu integracji z zewnętrznymi narzędziami. Jestem ciekaw, jakie narzędzia wybraliście?

Rozwijamy nasze aplikacje, jak i cały biznes w duchu Data Driven Development. Staramy się podejmować decyzje w oparciu o dane. Korzystamy z wielu narzędzi, jeżeli chodzi o analitykę naszego serwisu. Jednym z naszych celów było wykorzystanie narzędzia Segment.io, do którego wysyłamy eventy analityczne, a następnie wysyłane są one dalej do innych narzędzi typu Google Analytics oraz AutoPilot. Największą zaletą jest to, że Segment działa jak system proxy, który jest w stanie te same eventy przesłać do dowolnej ilości integracji. Dzięki temu jesteśmy w stanie połączyć wiele zewnętrznych systemów z poziomu Segmentu, bez kodowania ich po naszej stronie. Nasze podejście było takie, żeby zrobić to w bardzo nowoczesny sposób, sprytny i mało wymagający ze strony programistycznej.

W jednej z ofert pracy przeczytałem, że waszym celem jest stworzenie światowej klasy produktu. Co to oznacza? Czym jest światowej klasy produkt?

Wychodzimy z założenia, że produkt klasy światowej powoduje, że droga do nabycia go i korzystania z niego jest prosta, przy oczywiście możliwie najwyższej jakości, o którą starannie dbamy. Wchodząc w szczegóły, warto zaznaczyć, że nie jesteśmy typowym SaaSem. Jakość w naszym rozumieniu odnosi się zarówno do aplikacji, jak i fizycznego produktu, który trafia do klienta. Nie bez powodu podkreślamy, że do korzystania z naszego kreatora nie potrzeba umiejętności grafika czy DTPowca. Dzięki małym nakładom trafiamy również do jednoosobowych firm e-commerce, co zobowiązuje nas do zbudowania aplikacji możliwie jak najbardziej intuicyjnej. Nie każdy przedsiębiorca musi obsługiwać programy graficzne.

Stąd też nasza troska o klienta oraz gotowość do wyjścia naprzeciw oczekiwaniom rynku. Trafiamy do bardzo zróżnicowanych klientów, a co za tym idzie — musimy odpowiadać na różne potrzeby. Dlatego mamy również dział Packhelp Pro, który zajmuje się projektowaniem i realizacją zamówień niestandardowych.

Czym różni się praca nad produktem globalnym od pracy nad produktem lokalnym?

Różnica jest dramatyczna. Z perspektywy dewelopera każda funkcja musi być przystosowana do wielu języków, które obsługujemy, a obsługujemy ich siedem: polski, niemiecki, angielski, czeski, włoski, hiszpański i francuski. Funkcjonalność każdej strony może różnie wyglądać w różnych językach. Ten sam tekst w różnych językach może się drastycznie różnić pod względem długość. Do tego dochodzą oczywiście inne czynniki, bardziej formalne — prawo, księgowość, czy podatki. No i tworzenie globalnego produktu wiąże się także z poznaniem różnic kulturowych, które wpływają na sposób sprzedaży. Musimy wyczuć każdy rynek, zrozumieć jego specyfikę. Z tego względu ostatnio powitaliśmy w naszym zespole nowych country managerów w Niemczech oraz Hiszpanii — osoby, które pomogą nam lepiej poruszać się w tych konkretnych krajach.

Skoro rozmawiamy o ekspansji, wróćmy na chwilę do historii Packelp. Jak wyglądały zmiany wewnątrz firmy? Jak się rozrastała?

Zaczynaliśmy jako sześcioosobowy zespół, który pracując w jednym mieszkaniu przełożył wizję na produkt w najprostszej postaci. Po zbudowaniu pozycji na polskim rynku, skierowaliśmy się ku Europie.

Skład założycieli do dzisiaj pozostał niezmieniony. Zaczęliśmy powiększać nasz zespół, który aktualnie liczy ponad 50 osób. Przenieśliśmy się do nowego biura, które urządziliśmy na własny sposób. Skalowanie firmy jest zawsze wyzwaniem, na każdym etapie pojawiają się zupełnie inne problemy. Przede wszystkim słuchamy zespołu i wspólnie analizujemy naszą sytuację, rozwiązujemy problemy, czy myślimy jak pójść o krok dalej. Nie chcemy tworzyć struktury, która jest mało elastyczna, dlatego wykorzystujemy podejście znane z innych startupów (m.in. Spotify) zwane Gildiami. Umożliwia nam to zachowanie płaskiej struktury oraz daje autonomiczność zespołom. Dzięki temu są wstanie wziąć na siebie większą odpowiedzialność za podejmowane decyzje i nie czekać na aprobatę z góry. W sytuacji, w której zostanie popełniony błąd, nie szukamy winowajców tylko wyciągamy wnioski, dzięki czemu osoby szybciej się uczą niż w standardowych strukturach hierarchicznych.

Dla firmy takie podejście umożliwia szybsze reagowanie a co za tym idzie szybszy rozwój biznesu.

A jak wyglądało zatrudnienie i wdrożenie kolejnych pracowników?

W rekrutacji zwracamy taką samą uwagę na umiejętności techniczne, jak i na osobowość kandydata/ki. Nasza wymarzona persona, to osoba o umiejętnościach T-shaped. Oznacza to, że jest ekspertem w swojej dziedzinie i posiada też podstawową wiedzę na tematy poboczne (np. ekspert backend/RoR z podstawową wiedzą frontendową i devopsową). Dotykając tematu osobowości, najważniejsza kwestia to umiejętność komunikacji!

Staramy się być transparentni, mieć spisane informacje, jak technicznie nowe osoby powinny wejść do naszego projektu, w jaki sposób sterować systemami, którymi operujemy. Nie chcemy, żeby nowa osoba poświęciła aż dwa tygodnie na przystosowanie się, ale by od samego początku była w stanie wnieść coś do naszego projektu — nawet gdyby miało to być rozwiązywanie najmniejszych problemów. Od razu wtedy dowiaduje się więcej na temat naszej strategii produktowej i planów na przyszłość. Uważamy, że każdy w Packhelp powinien mieć możliwość zgłoszenia swoich pomysłów na rozwój firmy. Do tego dochodzi oczywiście integracja z grupą, bo niezwykle ważne jest, aby w firmie wiedzieć, z kim się na co dzień pracuje.

Nad czym jeszcze pracujecie? Czym miałyby się zajmować osoby, które miałyby dołączyć do waszego teamu?

Cały czas pracujemy nad wprowadzeniem nowych produktów na naszą stronę. Szukamy developerów, którzy rozwinęliby nasze edytory, dzięki czemu strona będzie jeszcze prostsza i jeszcze bardziej intuicyjna. Dodatkowo rozwijamy wszystkie procesy związane z analityką, integracjami zewnętrznymi typu CRM, automatyzacją wszystkich naszych procesów związanych z drukiem.

Jak wygląda proces wdrażania nowej funkcji? W jaki sposób to przebiega? Jak decyzja o jej wdrożeniu jest konsultowana z resztą załogi?

Tak jak wspomniałem, każdy w firmie może zgłosić inicjatywę. Na podstawie priorytetów staramy się ułożyć koncepcję wdrażania ich krok po kroku. Inicjatywa jest później opisywana, powstają do niej makiety uxowe, design i jest to wyceniane. Potem staramy się je wkomponować w konkretny deadline w Gildii, do której ten temat należy. Każda gildia posiada swój plan, który jest potem dzielony na sprinty. Wykorzystujemy narzędzia takie jak: Asana, Jira, Confluence do planowania prac. Do komunikacji wewnętrznej używamy Slacka, który jest zintegrowany m.in. z GitHubem, dzięki czemu możemy też bez problemu pracować zdalnie.

W decyzji o zmianie miejsca pracy często ważnym elementem jest możliwość rozwoju. W jaki sposób rozwijają się programiści u was w firmie?

Staramy się zatrudniać osoby, które nie są zamknięte w jednym języku programowania albo pracujących tylko we front lub backendzie. Interesują nas osoby, które w jednej dziedzinie są ekspertami, ale mają szeroką wiedzę na temat programowania i są w stanie szybko uczyć się nowych rzeczy. Staramy się nie zamykać ludzi w konkretnych projektach i nie trzymać ich w jednych ramach. Chcemy, aby każdy z naszych programistów poszerzał zakres swojej wiedzy. Dajemy możliwość pracy naszym programistom przy zagadnieniach, które są dla nich nowe, ale pod opieką seniorów, którzy dobrze znają się na rzeczy i chętnie pomagają wdrożyć się w temat.

Na pewno zdarzają się dni powiedzmy… “wolniejsze”, kiedy developerzy nie mają dokładnie określonych celów. Wtedy realizujecie jakieś odłożone na bok projekty?

U nas nie ma wolniejszych dni, w których nie wiadomo co robić — jest zupełnie odwrotnie, ale staramy się wygospodarować dni, w których programiści mogą robić projekty na własną rękę. W tym roku na przykład w Halloween, każda osoba mogła zrealizować własny pomysł.

Packhelp ze startupu przerodził się w prężnie działającą firmę. Powiedz co ma z korporacji? Jakie cechy?

Na pewno podchodzimy do biznesu bardzo analitycznie. Monitorujemy wszystkie dane i na ich podstawie podejmujemy decyzje, w którym kierunku powinniśmy zmierzać. Wszystkie nowe rozwiązania, które wprowadzamy, są przez nas dokładnie zbadane i zmierzone – chcemy mieć wiedzę na ten temat, zanim zaczniemy zajmować się tym w praktyce. Nie chcemy być niemile zaskoczeni, wolimy mieć świadomość tego, co może przynieść nam dany efekt. Programista, który wpadł na jakiś pomysł, ma jasny feedback, co może to przynieść, jakie są tego wady i jakie zalety.

Muszę też przyznać, że zmiany w Packhelp są dość dobrze przyjmowane i ma to związek z transparentnością i podejściem założycieli, że to ludzie tworzą firmę, a nie tylko jej ‚właściciele’. Dzięki temu zachowujemy klimat małego startupu przekształcając się w coraz większą firmę.

Ilu pracuje u was juniorów? Jak wygląda ich ścieżka kariery?

Od kiedy Packhelp powstał, zatrudniliśmy trzech juniorów i każdy z nich uczył się programowania od nas od zera. Dwoje z nich w poprzednim roku zajęło bardzo silne pozycje w firmach deweloperskich, bardzo mocno się rozwinęły. To, co je łączy, to to, że każda z nich całkiem niedawno wkroczyła w świat programowania. Teraz chcemy stworzyć zespół seniorów, aby później mogli do niego dołączyć juniorzy, którzy będą przy nich nabierali doświadczenia i uczyli się tego zawodu. Zdecydowanie obecna kompozycja zespołu to seniorzy, co tworzy idealne środowisko do przyjęcia pod skrzydła juniorów i midów.

Apropos budowania zespołu, to słyszałem kiedyś takie stwierdzenie i chciałbym na koniec zapytać czy się z nim zgadzasz. CTO powinien być najgorszym programistą w zespole?

Moim celem jako CTO jest dbanie o prawidłową architekturę systemu, ograniczenie długu technologicznego, bezpieczeństwo aplikacji oraz właściwe procesy projektowe. Do tego dochodzi część managerska, czyli dbanie o zespół i powiększenie go w ramach potrzeb (rekrutacja), budowanie właściwej komunikacji a czasami rozwiązywanie konfliktów.

Uważam, że CTO powinien mieć szeroką wiedzę w zakresie technologii i móc zweryfikować pracę wszystkich osób w zespole. Dlatego powinien być doświadczonym programistą, ale zatrudniać ludzi, którzy są ekspertami, by zaufać im i umożliwić autonomię w podejmowaniu decyzji.


Arkadiusz Wasilonek. Jeden z założycieli Packhelp, gdzie jako CTO jest odpowiedzialny za strategię zespołu IT. Ma ponad 15 lat doświadczenia w branży informatycznej, głównie jako architekt aplikacji, full-stack developer oraz osoba odpowiedzialna za budowę zespołów programistycznych, Mentor w organizacjach non-profit. Absolwent wydziału Informatyki Uniwersytetu Warszawskiego. Na komunię dostał komputer i tak już wyszło.

Patronujemy

 
 
Polecamy
Programiście trudno znaleźć pracę w Japonii. Historia Grzegorza Chuchro