inhire.ioBlogPraca w ITJak budujemy systemy z kategorii high-performance w Javie — poznaj Stratoflow

Jak budujemy systemy z kategorii high-performance w Javie — poznaj Stratoflow

Praca w IT
04/11/2021

Stratoflow to jedna z najszybciej rozwijających się firm w Europie Centralnej według rankingów Deloitte Fast 50 CE oraz The Financial Times 1000. O firmie, technologiach, pracy i rekrutacji porozmawialiśmy z Arkadiuszem Dryschem Co-Founderem i CTO w Stratoflow.

Czym zajmujecie się w Stratoflow?

Jesteśmy wrocławską firmą budującą zaawansowane systemy informatyczne w Javie. W Stratoflow naszą kluczową specjalizacją są systemy z kategorii high-performance, czyli takie, gdzie trzeba wykonać stosunkowo skomplikowane obliczenia na dużej ilości danych w określonym czasie. Nasze kompetencje wykorzystujemy realizując projekty dla takich branż jak: travel, finance, e-commerce i IoT.

Z jakimi technologiami pracujecie na co dzień?

To bardzo ciekawe pytanie, bo wydawać by się mogło, że nasza specjalizacja – high-performance – jest na tyle wąska, że spektrum wykorzystywanych technologii jest ograniczone.  Nic bardziej mylnego.

Systemy wymagające podwyższonej wydajności tworzone są w bardzo wielu technologiach i mają różnie zdefiniowane kryteria wydajności. Przykładowo: system real-time, gdzie kryterium jest nominalny czas odpowiedzi, wymaga zupełnie innej architektury i narzędzi niż system przetwarzający wsadowo duże wolumeny danych, gdzie kryterium sukcesu jest skrócenie czasu przetwarzania z kilku dni do godziny.

Zawsze dobieramy konkretną technologię do problemu. W praktyce najczęściej jest to Java, gdyż jej ekosystem oferuje bardzo szerokie możliwości doboru konkretnych rozwiązań. Zdecydowanie rzadziej pracujemy w .NET, Golang, Python.

Typowe rozwiązania, z którymi na co dzień pracujemy to wszelkiego rodzaju silniki przetwarzania rozproszonego i współbieżnego, takie jak In-Memory Data Grid (IMDG), silniki kolejek, silniki strumieniowe, a także klasyczne bazy danych, które też często trzeba optymalizować wydajnościowo.

W jaki sposób wytwarzacie software w Stratoflow?

Wierzymy w ducha metodyk zwinnych i wszystkie projekty realizowane są w ramach pewnych bazowych zasad, takich jak częsta komunikacja z klientem, krótkie sprinty i częste releasy.

Proces wytwarzania może różnić się szczegółami między projektami, bo są one bardzo odmienne. Dla przykładu: inaczej organizujemy pracę i proces w przypadku kilkumiesięcznego projektu, który polega na usunięciu wąskich gardeł w istniejącym systemie, a inaczej organizujemy wieloletni projekt, który realizujemy od zera.

Kontekst projektu jest tu bardzo ważny, natomiast wyznacznikiem zawsze jest Craftsmanship – czyli wykonanie dobrej inżynieryjnej roboty, z której klient będzie zadowolony.

Jak wygląda Wasz proces rekrutacyjny? Jakie kompetencje i umiejętności cenisz najbardziej? 

Rekrutacja jest procesem niezwykle ważnym, bo ma kolosalny wpływ na to, jaką firmą będziemy w przyszłości. A decyzję o tym, czy chcemy z kimś pracować, trzeba podjąć na podstawie zaledwie kilkugodzinnej znajomości. To bardzo trudne! Nasze podejście do weryfikacji kompetencji kandydatów ulegało zmianie.

Z czasem coraz mocniej zaczęliśmy dostrzegać, jak ważne jest podążanie za podobnymi wartościami. Kompetencje techniczne są bardzo istotne, natomiast nic nie zastąpi odpowiedniego nastawienia i dopasowania do zespołu.

Z tego powodu w każdą rekrutację zaangażowanych jest 5-6 osób. Daje to okazję, aby obie strony procesu lepiej się poznały. Moja perspektywa jako CTO jest spójna i zgodna z perspektywą całego zespołu, który jest zaangażowany w rekrutację. Ufamy sobie wzajemnie i każdy głos jest ważny.

Jeśli miałbyś udzielić jednej rady jeśli chodzi o rozwój i karierę nowicjuszom z szeroko rozumianego IT byłoby to … ? 

Branża IT bardzo dynamicznie się rozwija i na początku kariery w IT ogrom tej wiedzy może być przytłaczający. Myślę, że najlepszą radą jaką mogę dać, to żeby się nie bać i żeby się nie zniechęcać. To co jest wspaniałe w obecnych czasach, to dostępność wiedzy.

Jeżeli jakieś zagadnienie jest dla nas niezrozumiałe, warto poszukać innego źródła, innego kursu on-line lub innej książki. W końcu trafimy na materiał, który zaskoczy. Wiele osób zniechęca się po kilku pierwszych niepowodzeniach, czy to w przyswajaniu materiału, czy to w poszukiwaniach pracy.

Ważne, żeby pamiętać, że obecna sytuacja pozwala na naprawdę szeroki margines błędów i warto próbować do skutku. Przy czym warto być zawsze otwartym na korektę planu kariery. Uważam, że programowanie jest na tyle specyficzną aktywnością, że nie dla każdego będzie to dobra ścieżka kariery, natomiast w IT jest tyle różnych stanowisk, że na pewno każdy znajdzie coś dla siebie.

Jakich kandydatów aktualnie szukacie w inhire.io?

Obecnie najbardziej szukamy programistów Java na każdym etapie rozwoju kariery – od poziomu juniorskiego po seniorski. Znajomość konkretnych frameworków czy bibliotek jest mile widziana, lecz nie najważniejsza.

Zależy nam na osobach, dla których programowanie jest naturalnym stanem umysłu i które rozumieją różne modele przetwarzania danych – to kluczowa cecha przy tworzeniu systemów high-performance.

Sprawdź aktualne oferty pracy w Stratoflow