Różnorodność projektów i mnóstwo wyzwań. Outsourcing nie taki straszny?

Paweł Pustelnik, Head of Delivery w Future Processing, opowiedział nam o tym, jak przebiegała jego ścieżka kariery w firmie, w której pracuje 15 lat. Zapytaliśmy go m.in. o to, dlaczego ceni outsourcing i jakie korzyści przynosi on pracownikom. – Ludzie cenią sobie pracę w takim otoczeniu, bo mogą się dzięki niemu rozwijać. Mówimy o kilkudziesięciu projektach realizowanych jednocześnie, co pozwala stale zdobywać wiedzę w czymś nowym – czy to domenie biznesowej, czy po prostu technologii – dodaje Paweł.

Czy wieloletnia praca z jednym klientem to zaleta? Czym dla pracownika różnią się projekty realizowane w modelu outsourcingu? Gdybyś był klientem, to na jakie aspekty współpracy zwracałbyś uwagę, szukając firmy, mającej stworzyć dla Ciebie oprogramowanie? Na te i na wiele pytań odpowiedzi znajdziecie poniżej. Zapraszamy!

Firma ma 20 lat, a ty pracujesz w niej 15. Opowiedz o początkach Future Processing.

O ile dobrze pamiętam, na samym początku było nas ośmioro. Nie mieliśmy biura i głównie pracowaliśmy zdalnie. Większość z nas była jeszcze na studiach albo je kończyła. Do Future Processing przyszedłem na praktyki, gdy kończyłem czwarty rok. Studiowałem automatykę, ale bardziej kręciła mnie informatyka. Po zakończonych praktykach pracowałem po kilka godzin dziennie, czyli tyle, na ile pozwalały mi studia. Cóż, można powiedzieć, że początki były bardzo skromne, porównując je z obecnym stanem firmy – własne budynki (FPark) oraz 800 osób na pokładzie…

Pamiętasz pierwszy projekt?

Miałem napisać wraper, który pozwalał na wystawienie jednej biblioteki, niezależnie od tego, czy miałeś video for linux, czy video for linux 2. Kolejnym zadaniem było utworzenie jednego elementu większego oprogramowania, które, co ciekawe, dopiero dzisiaj znalazło powszechne zastosowanie. Algorytm przeprowadzał analizę nagrań z kilku kamer, np. na lotnisku. 

Zadaniem było wykrycie nietypowych zachowań, takich jak pozostawienie bagażu czy wejście do niedozwolonych pomieszczeń. System w takiej sytuacji alarmował odpowiednią osobę. 

Dla kogo stworzyliście ten system? Jeszcze dziś wydaje się interesujący.

System stworzyliśmy dla klienta z Wielkiej Brytanii, który zainwestował swoje środki. Była to jedna z wielu jego inwestycji i trochę szkoda, że nie zakończyła się komercyjnym sukcesem. Być może rynek jeszcze wtedy nie miał silnej potrzeby korzystania z takich systemów.

Dzisiaj projekt ten na pewno kojarzyłby się z rozpoznawaniem twarzy i machine learningiem. Wtedy raczej używaliście określenia algorytm?

W tamtym czasie były to bardziej heurystyczne algorytmy, oparte nie tyle na uczeniu się na podstawie wzorców, ale były bardziej deterministyczne. Musieliśmy określić, jak dany algorytm ma zadziałać w każdej sytuacji. Rozpoznawanie twarzy polegało na analizie pewnej grupy elementów, które są unikalne dla każdego człowieka. Na podstawie tych czynników powstaje klucz twarzy, dzięki któremu jesteśmy w stanie określić do kogo ona należy. Unikalnymi elementami są m.in. podbródek i kości policzkowe. 

Te algorytmy szukały przykładowo najpierw oczu, a potem na tej podstawie identyfikowało się nos czy podbródek. W sumie, jeśli dobrze pamiętam, tych cech było siedem albo więcej. W projekcie byłem odpowiedzialny za obróbkę otrzymanych danych, czyli porównywanie, czy klucze pasują do siebie, a jeśli tak, to śledzenie rozpoznanej postaci.

Mówiliśmy o Twoim pierwszym projekcie, a teraz może opowiedz o najdłużej utrzymywanym projekcie w firmie. 

Z perspektywy klientów, których mamy, to będzie z 10-11 lat. Nie nazwałbym tego projektem, a bardziej współpracą, która tyle trwa i jest to grupa projektów. Wśród nich są zarówno takie, które tworzymy w stosunkowo młodych technologiach (node.js), jak i te sięgające daleko wstecz do czasów C++ czy .NET 2.0.

Co to zmienia dla firmy? Czy wieloletnia praca z jednym klientem to zaleta?

Od początku staraliśmy się nawiązywać długofalowe relacje, co jest najbardziej optymalne z ekonomicznego punktu widzenia. Jeśli taka firma ma nowe projekty, to oszczędzamy czas na poszukiwania nowego zleceniodawcy. Z drugiej strony, klient oszczędza, bo nie musi szukać dostawcy. Zaletą jest także podobna kultura, to, jak się dogadujemy, budujemy partnerskie relacje, lepiej rozumiemy jego biznes, wiemy z wyprzedzeniem, jakie są jego potrzeby. Z punktu widzenia osób zaangażowanych w projekty dla klienta oznacza to większą przewidywalność i możliwości wpływania na decyzje. 

Skoro jesteśmy przy temacie klientów, to odczarujmy outsourcing, bo w takim modelu także pracujecie. Czym dla pracownika różnią się projekty realizowane w modelu outsourcingu?

Powiedziałbym, że pracujemy głównie w modelu outsourcingowym. Moim zdaniem takie projekty nie różnią się specjalnie od projektów realizowanych wewnętrznie w ramach jednej organizacji. Z punktu widzenia zespołu developerskiego celem jest dostarczenie rozwiązania dla biznesu, którym może być ktoś z wnętrza organizacji. W przypadku outsourcingu, mamy zazwyczaj klientów z UK czy krajów Europy Zachodniej. Oznacza to pracę z klientem, który znajduje się w innej lokalizacji, posługuje się innym językiem i wywodzi się innego kręgu kulturowego. 

Z moich doświadczeń wynika, że ludzie cenią sobie pracę w takim otoczeniu, bo mogą się dzięki niej rozwijać. Istotne jest także to, że w przypadku outsourcingu dla firmy takiej skali jak nasza, mówimy o kilkudziesięciu projektach realizowanych jednocześnie, a to pozwala ludziom na stałe zdobywanie wiedzy w czymś nowym – czy to domenie biznesowej, czy po prostu technologii. Warto także podkreślić, że outsourcing nie oznacza body leasingu – przykładowo u nas zwykle klient outsourcuje projekt IT i naszym zadaniem jest zebranie wymagań, stworzenie architektury, dobranie zespołu i finalnie dostarczenie rozwiązania.

Jakie firmy zazwyczaj korzystają z wynajęcia zespołów IT? To raczej startupy czy korporacje? Z czego to wynika?

Prawdę powiedziawszy, to nie ma wyraźnej granicy. Moim zdaniem to od danego dostawcy zależy, w jaki rynek klientów celuje i na czym chce się skupiać. Część firm preferuje współpracę ze startupami, a część działa szerzej z większymi firmami. W naszym przypadku wypracowaliśmy „The Future Processing Way”, który bardziej odpowiada średnim i większym organizacjom, aniżeli początkującym startupom. Ciekawym rodzajem klienta są też wydzielone części lub oddziały większych korporacji, które zostały powołane do życia w formie bliskiej startupom. Mają one zapewnione finansowanie na swoje działania typu R&D ze strony organizacji matki i szukają sprawdzonych partnerów IT.

Bardzo dobrze pracuje się nam z takimi firmami, bo od samego początku możemy uczestniczyć w procesie developmentu, a nasi ludzie mogą rozwijać się w najnowszych technologiach. Myślę, że można przyjąć założenie, iż początkujące startupy szukają raczej niewielkich dostawców, specjalizujących się technologicznie. Większe firmy czy bardziej doświadczone startupy preferują z kolei firmy takie jak nasza, z którymi można związać się na dłużej.

Co myślisz o jakości projektów – to jeden z najczęstszych zarzutów dotyczących pracy jako outsource’owany programista. To nie jest tak, że tacy programiści to ludzie od “czarnej roboty”? 

Pewnie wszystko zależy od tego, z jakim outsourcingiem mamy do czynienia. W naszym przypadku wiele projektów, które realizujemy, to dostarczanie produktu typu „green field”. Klienci przychodzą do nas, abyśmy stworzyli dla nich oprogramowanie, które ma im zapewnić przewagę na rynku i tutaj nie ma mowy o słabej jakości. Taki produkt nie spełniałby ich oczekiwań. 

Moim zdaniem wiele firm outsourcuje tworzenie oprogramowania do Polski właśnie dlatego, że nasi programiści stawiają na jakość i tym się wyróżniają. Czasem jest tak, że przejmujemy produkt rozwijany wcześniej – czy to wewnętrznie przez klienta, czy w innych lokalizacjach – i jakość tego produktu bywa różna. Naszym zadaniem jest poprawa zastanego stanu. 

Czym różnią się, dla pracownika, formy zatrudnienia – time&material i fixed price? 

Rozumiem, że mówimy tutaj o formach współpracy między klientem a dostawcą? Z punktu widzenia pracownika nie są to istotne różnice, choć może to wynikać ze specyfiki naszej firmy i tego, jak pracujemy. Dla nas niezależnie od tego, jaki model umowy został zawarty, staramy się po prostu robić swoją pracę najlepiej, jak potrafimy. Oczywiście, z punktu widzenia organizacji, znacznie większe ryzyka mogą wystąpić w przypadku umowy typu fixed price, niemniej są one wkalkulowane w nasz biznes. Nam zależy przede wszystkim na tym, aby budować dobre relacje. W praktyce może się zatem zdarzyć, że przekroczymy terminy danego projektu i nawet jeśli nie będą nam grozić konsekwencje prawne dla kontraktu typu time & material, będziemy się starać, by jak najszybciej wyprowadzić projekt na prostą i pomóc klientowi. 

W przypadku zlecenia przez klienta realizacji danego projektu, programista otrzymuje pełny brief i realizuje zadanie, czy uczestniczy w procesie pozyskiwania informacji o tym, jakie założenia ma spełniać projekt?

Zależy to od zleceniodawcy i projektu, z którym się do nas zgłasza. Ostatnie lata pokazują, że coraz więcej klientów korzysta z usług naszego działu Analysis & Design i wówczas to nasi analitycy, wraz z osobami z zespołu, uczestniczą w procesie pozyskiwania informacji na temat przyszłego projektu. Często przybiera to formę warsztatów, które trwają do kilku dni i mają miejsce albo w siedzibie naszej firmy, albo u niego na miejscu. Zwykle bardziej preferowana jest druga opcja, ponieważ pozwala ona zespołowi zapoznać się z użytkownikami systemu, zrozumieć problem, z którym mierzy się i dość szybko wejść w domenę biznesową.

Moim zdaniem to istotne także z punktu widzenia motywacji osób w zespole – z większym zapałem tworzy się oprogramowanie, na które ktoś czeka i wiemy, jak może mu ono pomóc.

Wielu programistów obawia się zapisów w umowie dotyczących zakazu konkurencji, który wstrzymuje ich przyszłą karierę. Jak reagujesz na tego typu pytania?

Staram się zawsze podchodzić do takich spraw pragmatycznie i zrozumieć drugą stronę. W przypadku organizacji najważniejsze jest to, aby chronić swój biznes. W praktyce oznacza to, że firma ponosi koszt zdobycia danego klienta i nie chciałaby, aby ktoś najpierw pracował dla niego, a potem przykładowo zaczął współpracować z nim samodzielnie. Z drugiej strony mamy przecież wolny rynek i nie możemy jawnie zakazywać współpracy danej osoby z innymi podmiotami. Dla nas kluczowe jest upewnienie się, że zabezpieczamy nasz portfel partnerów, a w pozostałych kwestiach staramy się być elastyczni.

outsourcing

Gdybyś był klientem, to na jakie aspekty współpracy zwracałbyś uwagę, szukając firmy, mającej stworzyć dla Ciebie oprogramowanie?

Od początku staraliśmy się nawiązywać trwałe relacje, co jest najbardziej optymalne z ekonomicznego punktu widzenia. Jeśli taka firma ma nowe projekty, to oszczędzamy czas na poszukiwania nowego klienta. Z drugiej strony, on też oszczędza, bo nie musi szukać dostawcy. Zaletą jest także podobna kultura, to, jak się dogadujemy, budujemy partnerską relację, lepiej rozumiemy jego biznes, wiemy z wyprzedzeniem, jakie są jego potrzeby. Z punktu widzenia osób zaangażowanych w projekty, oznacza to większą przewidywalność i możliwości wpływania na jego decyzje. Klient, który długo z nami pracuje, ma do nas większe zaufanie i włącza nas w swoje procesy decyzyjne, a to dla ludzi jest ważne i wpływa pozytywnie na motywację i chęć pracy dla niego.

Zwróciłbym uwagę na poziom doświadczenia w projektach: ilu jest seniorów, midów, juniorów. Przyjrzałbym się doświadczeniu w różnych technologiach, zarówno nowych, jak i starych. Czy to jest wyważone, czy może im czegoś brakuje i czy musielibyśmy im to zapewnić. Myśląc przyszłościowo, ważne jest to, aby pracownicy mogli rozwijać się w firmie. Zwróciłbym mocno uwagę, czy mogłaby się dopasować do tego, jak ja pracuję. 

Jakimi wartościami kierujesz się, realizując projekty?

Przede wszystkim bardzo ważne jest to, żebyśmy otwarcie się komunikowali. Bo możemy używać super narzędzi, ale bez otwartości i bycia szczerym wiele nie zdziałamy. Przez tyle lat pracy z klientem wiemy, że jest to bardzo istotny element. Dlatego staramy się być bardzo transparentni i otwarci. 

Pracujesz w firmie, która realizuje projekty od A do Z. Jakie korzyści realizacja takich projektów przynosi pracownikowi?

Na pewno w projekcie od A do Z jesteśmy w stanie dobrze poznać specyfikę danego projektu. Począwszy od zapoznania się ze specyfiką biznesu, przez wdrożenie produktu aż do jego utrzymania. To jest bardzo cenne, bo pozwala lepiej realizować inne projekty. Dodatkowo mnogość tematów, która pojawia się w tak dużym projekcie, daje niesamowite ilości wiedzy i doświadczeń. W jednej firmie mogą być zarówno projekty krótkie, trzymiesięczne, jak i długie, takie trzyletnie. Dzięki nim możemy mierzyć się z różnymi problemami.

Przy takich projektach na pewno pojawia się nuda. Jak sobie z nią radzisz? 

W Future Processing w takiej sytuacji wybiera się tzw. reassignment, czyli możliwość zmiany projektu. Mamy kilka sposobów na zmianę, ale wszystko sprowadza się do tego, że pracownik musi powiedzieć, co chce robić, co mu nie gra, czego nie chce, a czego potrzebuje więcej. Gdy zbierzemy takie informacje, to sprawdzamy, jakie mamy aktualne tematy, gdzie możemy taką osobę dopasować. Patrzymy też co mamy teraz w lejku, może taka osoba przyda się przy nowym projekcie i staramy się te dwie rzeczy pogodzić. Oczywiście nie zawsze jesteśmy w stanie od razu zareagować na takie potrzeby, ale w perspektywie kilku miesięcy jesteśmy w stanie przeprowadzić takie zmiany. 

Jest to krótkofalowy koszt dla organizacji, ale zwraca się w dłuższym horyzoncie. Dzięki temu, że jesteśmy dużą organizacją i prowadzimy kilkadziesiąt projektów naraz, to jestem przekonany, że ktoś wśród nich znajdzie coś dla siebie. Nikt nie musi się nudzić, czy wypalać w niedopasowanym dla niego czy niej projekcie.

Pracownik, który często zmienia projekt, nie jest narażony na negatywną opinię kadry zarządzającej?

Jeśli ktoś często zmienia projekty, ale dobrze się w nich sprawdza i wykonuje dobrą robotę, to możemy się tylko z tego cieszyć. Jednak z doświadczenia wiem, że ludzie nie chcą szybko zmieniać projektów. Gdy ktoś wejdzie w projekt i znajdzie coś dla siebie, to mocno wdraża się w temat i zazwyczaj w nim zostaje. Czasem projekt bardzo pasuje danej osobie pod kątem technologicznym, a czasem po prostu tak dobrze pracuje mu się z ludźmi w teamie, że nie odczuwa potrzeby zmiany.

Ze strony firmy staramy się zachowywać zespoły po zakończonym projekcie i dobierać nowe tematy pod kątem dopasowania do nich – tak, aby, jeśli to możliwe, nie rozbijać zgranych i sprawdzonych w bojach teamów. Nie ma też oczywiście nic złego w tym, że gdy projekt kończy się po roku, a dana osoba chce coś zmienić i spróbować czegoś nowego. Wówczas szukamy dla niej czegoś nowego. Jest to wartościowe, bo są to kolejne doświadczenia i taka osoba jest bardziej cenna dla organizacji.

Mnogość projektów to zaleta dla osób, które szukają swojego tematu? 

Tak, zdecydowanie jest to zaleta. Firma rozwija się, pojawiają się nowi klienci i tych możliwości rozwoju jest coraz więcej. Możemy projekt dopasować pod osobę, pod jej styl pracy. Jeśli przykładowo chce rozwijać projekt typu „green field”, tworzyć coś w nowych technologiach, to znajdzie się dla niej taka opcja. Ktoś może woleć pracować ze starszymi technologiami, jako support i dla takiej osoby też znajdziemy miejsce. Aby unikać nieporozumień, staramy się dopasowywać technologie pod konkretne osoby, a liczba projektów i ich różnorodność sprawia, że takie dopasowania są możliwe.

Porozmawiajmy o rekrutacji. W Future Processing macie 800 osób na pokładzie. Kogo jeszcze szukacie?

Stworzyliśmy solidne struktury pod to, aby nadal się rozwijać i powiększać. Staramy się rosnąć z głową, bo popełniliśmy po drodze parę błędów, kilka razy sparzyliśmy się, pewnie jak każda firma, która próbuje czegoś nowego. Obecnie szukamy konkretnych osób do projektów, przede wszystkim: developerów, QA, UX, DevOpsów, szukamy także liderów. Od początku ważne było dla nas to, aby zapewnić odpowiednią strukturę i procesy w organizacji pod dalszy wzrost, dzięki czemu teraz możemy skupić się powiększaniu zespołów developerskich i sprawnym wdrażaniu nowych osób do firmy.

Kandydatów dopasowujecie do projektów, które chcecie zrealizować? 

W trakcie rekrutacji przedstawiamy projekty, które są najbardziej prawdopodobne po stronie firmy, a jednocześnie badamy oczekiwania kandydata – w czym chciałby pracować, czego nie akceptuje, do czego dąży. Projekty, o których mu opowiadamy, mogą się zmieniać – czasami klient zrezygnuje lub zmienią się jego wymagania. Tak więc pojawia się mieszanka nowych i aktualnych projektów, które mają swoje potrzeby. Jeśli przeprowadzamy, przykładowo, rekrutację z Javy, to pokazujemy kandydatowi javowe projekty, nad którymi pracujemy.

Zazwyczaj omawiamy te, które są najbardziej prawdopodobne, ale otwarcie mówimy ludziom, że może być tak, iż trafią do innego z przedstawionych projektów. Gdy kandydat przyjdzie pierwszego dnia do pracy, to proces jego wdrażania jest dwutorowy.

Jak przebiega?

Z jednej strony nowy pracownik wdraża się w sam projekt, ale też przez pierwszy tydzień, dwa wdraża się do organizacji. Podczas rekrutacji sprawdzamy dopasowanie do kultury i też chcemy tę kulturę przedstawić nowej osobie w pigułce. Pokazujemy, jak działa nasz model biznesowy, jakie mamy wartości, dlaczego atmosfera jest dla nas ważna, jak się do siebie odnosimy, dlaczego zaufanie jest ważne itd. Oprócz tego jest też lider, który przedstawia i wdraża nową osobę do projektu. Bardzo zależy nam na tym, żeby nowa osoba czuła się w firmie dobrze i bezpiecznie oraz by od razu zgłaszała wszelkie uwagi lub pytania, jeśli tylko takie się pojawiają.

Co jest największą motywacją dla pracownika: finanse czy ciekawość projektów?

Moim zdaniem ciągle gonimy „świat zachodu”, więc finanse są ważne. W krajach Europy Zachodniej czy Stanach, gdy osiągasz pewien poziom, to już aspekt wyłącznie finansowy nie ma znaczenia i po prostu szukasz czegoś nowego. U nas jednak element finansowy jest istotny i staramy się zwracać na niego uwagę. Z drugiej strony patrzymy także na pozostałe, niefinansowe potrzeby danej osoby. Sztuka polega na tym, żeby żadnej ze stron równania nie zaniedbać.


Paweł Pustelnik. Head of Delivery w Future Processing. Od 2004 roku związany z Future Processing. Obecnie pracuje w roli Head of Delivery, gdzie odpowiada za realizację strategii oraz operacyjne działanie jednostki biznesowej Nearshoring. Wcześniej realizował projekty informatyczne dla klientów z rynków zachodnich, zaczynając od roli Software Developera, następnie pełniąc funkcje Team Leadera oraz Delivery Managera. W codziennej pracy stara się łączyć różne praktyki zarządzania, dopasowując je do konkretnego przypadku. Jest zwolennikiem klanowej kultury organizacyjnej, o której opowiada na konferencjach i spotkaniach branżowych. Swoim doświadczeniem dzieli się także chętnie na blogu www.okiemlidera.pl.

Zapraszamy do dyskusji

Patronujemy

 
 
Polecamy
Experiment, don’t argue! Prelegent pozitive technologies o eksperymentowaniu na produkcji