Praca w firmie produktowej a planowanie swojej kariery
Czy wybór pierwszego miejsca pracy ma znaczenie? O czym powinniśmy myśleć chcąc zaplanować swoją karierę? Czym różni się praca przy produkcie od pracy dla różnych klientów? Na te i inne pytania odpowiedzi udzielił Piotr Uryga.
Spis treści
Czy wybór pierwszej pracy ma wpływ na nasze dalsze losy w branży IT? Ważne jest to, czy pierwszą pracę znajdziemy w firmie produktowej, startupie, software housie czy w korporacji?
Najprościej byłoby powiedzieć, że tak, ale to naprawdę zależy od wielu czynników. Pierwszy aspekt, to czego dana osoba spodziewa się po pracy. W jakim kierunku ma zmierzać kariera danej osoby?
Jeśli naszym celem jest jak najlepiej płatna, angażująca i wymagająca praca, w której jako specjalista mamy największą szansę na tworzenie oprogramowania o wysokiej jakości, to zdecydowanie, im wcześniej trafimy do firmy z własnym produktem, tym lepiej dla nas.
Rodzaj firmy także ma znaczenie? Co juniorowi daje praca w firmie z własnym produktem?
Praca w firmie ze swoim produktem uczy nas zupełnie innych umiejętności. Nawet jako początkujący inżynier musimy operować w środowisku, w którym nie chodzi tylko o zrealizowanie jakiejś funkcjonalności. Celem zespołów jest stworzenie funkcjonalności, które przyniosą wartość dla produktu. Zespoły muszą wybrać, na czym się skupić w pierwszej kolejności, a często najważniejszą rzeczą jest zdecydowanie czego nie robić.
Wiadomo, że z perspektywy stawiania pierwszych kroków w karierze, to nie my będziemy podejmować wszystkie te decyzje, ale będziemy operować w środowisku i kulturze, która nas takiego podejścia uczy. Nauczymy się nie tylko technologii i dobrych praktyk kodowania, ale po prostu budować produkty. Nieprzypadkowo w Dolinie Krzemowej startupy zakładają często ludzie, którzy wcześniej pracowali w firmach produktowych.
A jeśli chodzi o jakość naszego kodu – pracując nad własnym produktem, a nie setkami dla różnych klientów, uczymy się tego, że im lepszy kod napiszemy tym łatwiej będzie całej organizacji?
Kolejna sprawa to jakość samego oprogramowania, nad którym pracujemy. Większość ludzi chce wykonać dobrze swoją pracę i być z niej dumnym. Tworzenie oprogramowania to trochę sztuka i chcemy być dumni ze swoich dzieł. Niestety często, gdy pracujemy w software house jakość jaka jest “wymagana” przez klienta, do “odebrania” zamówienia jest dużo niższa niż taka, z której jako inżynierowie czulibyśmy się dumni.
Im większa skala i im nasz produkt jest używany przez większą liczbę klientów, tym bardziej firmie opłaca się inwestować w jakość. Nawet olbrzymia inwestycja w nową technologię, wymiana całego tech stacku, czy optymalizacja wydajności, przy pracy nad produktem, który rozwijamy długofalowo ma sens i jest czymś naturalnym. Jest jednak czymś prawie niemożliwym do przeprowadzenia, gdy z naszego software’u korzysta tylko jeden klient.
Przekonałem się o tym na własnej skórze, gdy zdarzało mi się pracować w miejscach, gdzie nie było zgody na pisanie testów jednostkowych, bo było to uważane przez management za “zbędny koszt”. Inny przykład, to firma, która utrzymywała osobną wersję swojego “produktu” dla każdego klienta, ku olbrzymiej frustracji inżynierów. Po prostu nie opłacało się inwestować w konsolidację tych kilku wersji. W przypadku wdrożenia dla kolejnego klienta, kopiowano cały kod i dostosowywano go do wymagań klienta. Jeśli w Qualtrics byłoby takie podejście, to na pewno nie bylibyśmy w miejscu, w którym jesteśmy. Olbrzymi koszt utrzymania wielu podobnych do siebie kopii produktu, spowolniłby innowację, rozwój nowych funkcjonalności i zmniejszył możliwości wdrażania naszych rozwiązań dla kolejnych klientów.
Ostatni aspekt, na jaki trzeba zwrócić uwagę przy wyborze firmy produktowej, to to, że – musi ona rosnąć, czyli zdobywać nowych klientów i generować coraz większe zyski. Bycie częścią globalnego rynku, który rośnie 30-50-100% rok do roku, to niesamowite doświadczenie i zupełnie inne problemy do rozwiązania niż w firmie, która rośnie o 5%. Wiele procesów, problemów skali i rozwiązań musi być wymyślona na nowo, co kilka lat, nikt nie działa na zasadzie: “zawsze tak robiliśmy”.
Na co zwrócić uwagę aplikując do danej firmy z branży tech lub podczas rozmowy z headhunterem/rekruterem? O co pytać na rozmowie rekrutacyjnej, jeśli jesteśmy juniorem?
Warto sprawdzić, czy firma pracuje nad swoim produktem używanym na dużą skalę i na konkurencyjnym rynku. Jeśli tak, to musi zatrudniać świetnych ludzi (będziemy mogli się od nich nauczyć!), będzie rygorystycznie stosować praktyki inżynierskie i podejmować decyzje produktowe, które nie będą nas frustrować.
Jeśli firma nie pracuje nad takim produktem, to… najprawdopodobniej my sami, jako pracownik, będziemy produktem, a model biznesowy będzie polegał na sprzedaniu naszego czasu.
Dosyć łatwym sposobem na zorientowanie się w sytuacji (poza samym produktem) jest opis stanowiska i proces rekrutacji. Jeśli firma szuka bardzo konkretnych technologii, to najczęściej nie szuka inżyniera, tylko kogoś kogo czas może sprzedać już konkretnemu klientowi.
Jak przygotować się do znalezienia pierwszej pracy oraz do samego procesu rekrutacji w firmie produktowej? Co z perspektywy osoby prowadzącej rekrutację jest atrakcyjne i pozytywnie wpływa na decyzję o zatrudnieniu kandydata?
Wbrew pozorom wszystkie firmy FAANG i w ogóle firmy produktowe rekrutują bardzo podobnie i wcale się z tym nie kryją. Większość z nich wręcz publikuje dokładny opis rozmów i przykładowe pytania oraz materiały przy pomocy których się można przygotować. Przykład tu.
Jest to coś, co wymaga poświęcenia trochę czasu i jest bardzo trudne do przejścia bez przygotowania. Na naszym polskim rynku jest to raczej niepopularne, ludzie często nie widzą w tym sensu, bo “większość firm” tego nie wymaga. Wierz mi, naprawdę warto.
Junior to jednak tylko początek ścieżki kariery. Jak zadbać o to, by nie stać w miejscu i dążyć do awansu?
Trzeba poświęcać swój czas na rozwój, w branży możemy być dobrzy jeśli będziemy się rozwijać. Jest dużo łatwiej jeśli mamy pasję do tego, czym się zajmujemy. Wtedy rozwój idzie o wiele łatwiej.
Jeśli już pracujemy dla dobrej firmy produktowej, to świetnie. Jeśli nie i jesteśmy zatrudnieni w miejscu, gdzie nie ma wysokiej kultury inżynierskiej, ludzie zatrudniani są bez względu na kwalifikacje, powinniśmy zacząć myśleć o zmianach. Nawet jeśli jesteśmy w dobrej firmie, nie bójmy się zmiany chociażby zespołu, bo zmiana przynosi nowe doświadczenia, nowych ludzi, nowe wyzwania. To wszystko powoduje, że rozwijamy się zawodowo, zdobywamy nowe doświadczenia i dowiadujemy się o tym, co nas w pracy cieszy i w czym jesteśmy dobrzy.
Jak firma powinna dbać o to, by pracownicy rozwijali się i nie odchodzili z organizacji?
Wszystko zaczyna się od procesu rekrutacji. Wielokrotnie słyszałem od koleżanek i kolegów, że zdecydowali się przyjąć ofertę, bo “było się trudno dostać”. Jak zatrudniamy zdolnych ludzi, którzy chcą pracować z innymi dobrymi ludźmi, to często okazuje się, że mają pasję do swojej pracy i chcą się rozwijać. Najcenniejsza rzecz, którą możemy im wtedy dać, to czas na ten rozwój np. w postaci całego tygodnia w kwartale na nauczenie się dowolnej nowej technologii, frameworku, stworzenie prototypu, który ich zawsze interesował. Jest to model spopularyzowany przez Google, który również stosujemy w Qualtrics.
Odchodzenie z firmy, to znowu inny temat. Zakładając, że zatrudniamy świetnych ludzi i pracują oni w firmie, która dobrze sobie radzi, muszą czuć, że się z nią rozwijają. Większa odpowiedzialność pociąga za sobą większe wyzwania oraz większą skala budowanych rozwiązań. Oczywiście, to wszystko zda się na nic, jeśli Twój świetny zespół będzie czuł, że nie jest uczciwie wynagradzany za swoją pracę.
Da się po prostu zaplanować swoją ścieżkę kariery?
Pewnie się da i zdarzają się takie osoby, ale to raczej nadal rzadkość. W Polsce nie ma jeszcze na tylu przykładów i nawet kultury dzielenia się doświadczeniem przez osoby, które są dłużej w branży. Nawet jeśli byłoby to bardziej popularne, to przecież zaczynając karierę, możemy nie wiedzieć co w całej branży najbardziej się nam spodoba.
Jakbym miał komuś poradzić, jak zaplanować karierę, to po pierwsze spróbować trafić do miejsca, do którego ciężko się dostać, bo będzie to rzutowało na jakość ludzi, z którymi będzie pracować. Na pewno do miejsca, w którym będzie pracować nad produktem, który ma duże skalę/użytkowników/klientów. Tempo wzrostu firmy też jest bardzo istotne. Dopiero wtedy wraz z doświadczeniem możemy patrzeć na to, co nas bardziej bawi i w jaką stronę chcemy się rozwijać.
Od samego początku pamiętajmy, że nasze zarobki będą najistotniejsze w późniejszej fazie tej kariery. To wtedy różnice pomiędzy najlepszymi specjalistami, a tymi co najwyżej przeciętnymi są największe i mogą się różnić kilkukrotnie. Nie namawiam absolutnie do ignorowania wynagrodzenia w pierwszych pracach, ale podejmując decyzję pamiętajmy, że optymalizujemy nie początkowy etap, gdy różnice są rzędu 20%, ale ten gdzie są kilkukrotne.
Ostatnia rzecz, którą polecam robić, to próbować różnych rzeczy: czy to bycia managerem, czy zarządzania produktem. Jeśli tylko pracujemy w takim środowisku, to jest to świetna szansa do sprawdzenia, czy nie będziemy mieć jeszcze więcej frajdy z innej roli niż programista.
Pomówmy trochę o Twojej ścieżce kariery. Co Tobie dało największego boosta w karierze? Co sprawiło, że pierwszy raz poczułeś, że zrobiłeś coś o czym wcześniej nawet nie marzyłeś?
Zacznijmy od tego, że chciałbym, żeby ktoś porozmawiał ze mną o tym, tak jak ja teraz z Tobą. Coś takiego się zdecydowanie nie wydarzyło. Moja pierwsza praca w branży, to 2002 rok, czyli zaraz po bańce dot-com. W Krakowie rekrutowało tylko kilka firm. Po praktykach studenckich trafiłem do fantastycznego zespołu w Comarch. Po roku w Comarch przeszedłem do innej firmy, która zaoferowała mi pozycję Projektanta Oprogramowania (ależ byłem z siebie dumny!). Bardzo szybko byłem też technicznym liderem zespołu, a w międzyczasie mobilizowałem się do samorozwoju przez jak największą ilość certyfikatów. Mocno zainteresowałem się też powstającą dopiero wtedy krakowską społecznością Agile.
Pierwszy przełom, to było zdecydowanie przejście na “ciemną stronę mocy” i zostanie formalnie managerem. To była olbrzymia zmiana i pociągnęła za sobą decyzję przejścia do Sabre, gdzie chciałem się uczyć od bardziej doświadczonych liderów. Poznałem tam mnóstwo świetnych osób, inżynierów, rekruterów, pracowników HR, czy IT.
Natomiast cały czas wiedziałem, że chciałbym zrobić coś zupełnie nowego i pracować w takiej kulturze, w takiej organizacji i z takimi ludźmi o jakich opowiadałem wcześniej. Taka okazja nadarzyła się w Qualtrics i to był na pewno największy przełom w mojej karierze. Budowanie od zera głównego oddziału R&D w Europie firmy, która rośnie 50% rok do roku od wielu lat, w której mam możliwość pracować z jednymi z najlepszych ludzi w całej branży, obserwowanie jak w Krakowie zatrudniamy pierwsze 10, 50, 100 osób, to zdecydowanie był taki moment, o którym nawet nie marzyłem zaczynając swoją pracę 20 lat temu.
Czego dzisiaj byś nie powtórzył? Czy była jakaś decyzja, projekt, praca, którą pominąłbyś w swojej ścieżce kariery?
Jest taka jedna rzecz: w momencie gdy zostałem managerem wydawało mi się, że w końcu będę mógł skupić się “na jednej rzeczy”. Zostawię temat technologii i będę tylko zarządzał. Przez kilka lat dawało mi to fałszywy spokój sumienia, bo przecież jako manager “nie miałem czasu” na technologię. Cieszę się, że się w porę opamiętałem i zrozumiałem, że bycie liderem technicznym wymaga od nas właśnie bycia “technicznym”. Technologia nie jest najważniejsza w pracy managera, ale absolutnie niezbędna.
To, że jest to trudne i wymaga zaangażowania swojego własnego czasu. Całe szczęście lubię to, co robię.
Fotograf: Edyta Dufaj.
Piotr Uryga. Lider z 20-letnim doświadczeniem w branży. Absolwent krakowskiej Akademii Górniczo-Hutniczej na kierunku Computer Science. Cztery lata temu założył główne biuro R&D Qualtrics w Europie, które prowadzi jako Site Leader i Dyrektor Software Engineering.