Zaufało nam ponad 10 000 firm. Wywiad o Snowflake
– W Snowflake mamy kilkadziesiąt zespołów pracujących nad różnymi produktami. Ich celem jest dostarczenie wartości dla naszych klientów w jak najkrótszym czasie przy zachowaniu wysokich standardów dotyczących niezawodności i wydajności – powiedzieli nam Adam Babik, Nadia Kasem oraz Norbert Sienkiewicz, których zapytaliśmy o to, jak od środka wygląda praca w Snowflake.
Spis treści
Co warto wiedzieć o Twojej firmie? Co wyróżnia Twoją firmę na rynku?
Snowflake to jedna z największych firm zajmujących się hurtowniami danych w chmurze wspieranej przez AI. Pomagamy organizacjom różnych wielkości efektywnie i bezpiecznie zarządzać swoimi danymi. Każda nowa funkcjonalność budowana jest z myślą o ogromnej ilości danych – ponad 10 000 firm zaufało nam w temacie wsparcia ich biznesów o rozwiązania AI, data engineering, data warehouse, data lake i aplikacje.
Nasza platforma umożliwia bezproblemowe przechowywanie, przetwarzanie i analizę danych. Jesteśmy dumni z innowacyjnej architektury Snowflake, która oddziela pamięć masową od mocy obliczeniowej, zapewniając naszym klientom elastyczność i skalowalność.
Spośród konkurencji wyróżnia nas z pewnością jedna z naszych wartości, ‘put customers first’, czyli podejście zorientowane na klienta. Jest ono głęboko zakorzenione w naszej kulturze – priorytetowo traktujemy potrzeby naszych klientów, ściśle z nimi współpracujemy, aby zrozumieć stojące przed nimi wyzwania i zapewnić rozwiązania dostosowane do ich potrzeb.
Warto również wspomnieć o tym, że podstawą tego, co robimy jest innowacja. Zachęcamy naszych pracowników do nieszablonowego myślenia i eksperymentowania z nowymi pomysłami. Budujemy rozwiązania na wielką skalę rozwiązując niestandardowe, często pionierskie problemy.
Wewnątrz zespołów inżynierii każdy dba o utrzymanie jak najwyższych standardów. Automatyzacja oraz wysoki poziom pokrycia testami są integralnymi częściami procesu już od wstępnych etapów. SDETci (Software Development Engineer in Test), Project Managerowie, Data Scientists współpracują ramię w ramię z zespołami inżynierii, by uzyskać jak najwyższą jakość dostarczanych rozwiązań – skupiając się na rozwoju frameworków testowych, analizie wymagań i potrzebach użytkowników.
Nad jakimi projektami pracujecie w Twojej organizacji?
W Snowflake mamy kilkadziesiąt zespołów pracujących nad różnymi produktami. Ich celem jest dostarczenie wartości dla naszych klientów w jak najkrótszym czasie przy zachowaniu wysokich standardów dotyczących niezawodności i wydajności. W polskim oddziale mamy szeroki przekrój projektów – począwszy od tych skupionych na UI, przez AI, Connectory oraz Drivery aż do Cloud Engineeringu czy Product Security. Na ten moment zatrudniamy prawie 400 osób (w większości inżynierów) pracujących z naszego biura.
Adam Babik: Developer Productivity Engineering pomaga zespołom produktowym w realizacji ich misji poprzez dostarczanie środowisk i narzędzi deweloperskich. Dbamy o developer experience wewnątrz firmy i kształtujemy jak wytwarzane jest oprogramowanie. Obecnie pracujemy między innymi nad nową wersją naszego systemu do Continuous Integration oraz środowiskiem deweloperskim w chmurze.
Norbert Sienkiewicz: Aktualnie pracuję jako Engineering Manager w obszarze Connectorów – produktów służących do transportowania danych z zewnętrznych SaaSów, baz danych oraz streamingowych źródeł do Snowflake’a. W obszarze mamy kilka zespołów liczących między 3 a 9 inżynierów.
Nadia Kasem: Jako SDETci (Software Engineers in Tests) wspieramy zespoły w zapewnianiu jak najwyższej jakości dostarczanych rozwiązań. Angażujemy się jak najwcześniej w cyklu życia projektu w cały przekrój aktywności związanych z jakością. W naszych projektach pracujemy na przykład nad rozwojem frameworku do testów e2e, usprawnieniami observability, testami performance, optymalizacją czasu budowania i testów.
Ile średnio pracujecie nad jednym projektem?
Większość projektów, czy też produktów, nad którymi pracujemy w Snowflake jest długofalowa i wpisana w naszą strategię. Z racji rozmiaru firmy (ponad 1600 inżynierów w obszarze inżynierii produktowej) mamy wiele różnych projektów o różnej długości, doprowadzenie projektu do fazy ogólnodostępnej trwa zazwyczaj kilka kwartałów. Dzięki temu inżynierowie mogą zdobyć wiedzę domenową w zakresie konkretnego produktu i jego zależności. Jest to niezbędne, aby budować rozwiązania najlepsze na rynku.
Pracujemy w zespołach, które skupiają się na jednym celu, nad którym pracują kompleksowo. Zespół ma pełną odpowiedzialność za proponowanie podejść oraz budowę rozwiązań co jest kluczowe dla rozwoju i doskonalenia się. Wpływ na kształt rozwiązań motywuje i daje satysfakcję z wykonanej pracy. Warto wspomnieć, że kolejna faza, utrzymywanie, jest równie istotna i pełna wyzwań. Spotykamy się w niej z dodatkowymi wymaganiami od klientów, minimalizujemy liczbę błędów w kodzie, poprawiamy m.in. wydajność, użyteczność, obniżamy koszt ponoszony przez klienta. W cyklu życia produktu zmienia się dużo i problemy, które były rozwiązywane jeszcze rok temu są często zupełnie inne od tych, które rozwiązujemy dzisiaj.
Jak wyobrażasz sobie idealnego kandydata, czyli osobę, która szybko wpasuje się w zespół? Jakie cechy powinna posiadać taka osoba?
Idealny kandydat to osoba, która łączy świetne umiejętności techniczne z interpersonalnymi. W aspekcie umiejętności technicznych taka osoba powinna nie tylko znać odpowiednie technologie, języki programowania i narzędzia, ale rozumieć jak jej decyzje wpłyną na przyszłość projektu w krótkiej i dłuższej perspektywie – pod względem technicznym, ale też operacyjnym. Dbanie o utrzymywalność i testowalność kodu są kluczowe dla sukcesu projektów. Jeśli chodzi o umiejętności interpersonalne to w szczególności cenimy sobie wzajemny szacunek.
Przyjazne i otwarte miejsce pracy to fundament, na którym budujemy nasze relacje zawodowe i który pozwala nam osiągać jeszcze lepsze efekty. Dociekliwość oraz dogłębne zrozumienie problemu są bardzo istotne i pomagają w podjęciu najlepszych decyzji. Podobnie kwestia odpowiedzialności za budowanie od zera rozwiązań na niespotykane wcześniej problemy, jak i za powierzone zadania – jeśli coś zaczynam to mam plan, aby doprowadzić temat i jasno komunikuję postępy. Dodatkowo, cenimy regularny, szybki feedback (zarówno pozytywny jak i ten konstruktywny) i aktywnie wspieramy dzielenie się wiedzą, co pomaga zespołom i ich członkom w rozwoju.
Jak wygląda u Was ścieżka awansu? Czy każdy z współpracowników ma dostęp do pliku, z którego dowie się, co powinien zrobić, by otrzymać podwyżkę czy awans?
O tym już kiedyś rozmawialiśmy i nasz model się nie zmienił. Zachęcamy do przeczytania rozmowy z Grzegorzem Kapustą.
Jakie są plany na przyszłość? Gdzie Wasza firma będzie za kilka lat?
Globalnie patrząc na Snowflake jesteśmy w bardzo ciekawym położeniu. Naszym głównym fundamentem jest OLAPowa baza danych, przechowujemy niezliczone ilości danych zarówno małych firm, jak i tych największych z Fortune 500. Ich liczba rośnie każdego dnia. Posiadanie tak dużych ilości danych stawia nas w bardzo korzystnej synergii z AI, którego szybki rozwój możemy obserwować ostatnimi laty. Jako Snowflake oferujemy własne rozwiązania AI, takie jak np. własny LLM – Arctic. Wciąż rozbudowujemy nasz Warszawski Hub. Mamy świetnie ulokowane nowoczesne biuro, które sprzyja kooperacji, a także rosnące portfolio projektów prowadzonych w Warszawie.
Adam Babik. Menadżer ds. inżynierii, który specjalizuje się w automatyzacji i skalowaniu wytwarzania oprogramowania. Od ponad roku buduje zespół Engineering Systems w Snowflake w Warszawie. Od 10 lat związany ze startupami oraz firmami z Doliny Krzemowej.
Nadia Kasem. Menadżerka zespołu SDETs (Software Development Engineers in Test) i doświadczona inżynierka jakości. Od ponad 10 lat związana z jakością i testowaniem, od 3 lat rozwija ten obszar w warszawskim oddziale Snowflake.
Norbert Sienkiewicz. Menadżer ds. inżynierii prowadzący od ponad 2 lat zespoły w obszarze Connectorów w warszawskim biurze Snowflake. Wcześniej przez ponad 10 lat inżynier pracujący zarówno w mniejszych warszawskich start-upach, jak i większych firmach w Kalifornii.