W skrócie
- Zadania: Twórz oprogramowanie na różne platformy i rozwiązuj unikalne problemy inżynieryjne.
- Firma: Zyte to globalny lider w zbieraniu danych z sieci.
- Benefity: Elastyczne godziny pracy, zdalne zatrudnienie i wsparcie dla rozwoju zawodowego.
- Pozostałe informacje: Dynamiczne środowisko z możliwościami rozwoju kariery w międzynarodowym zespole.
- Dlaczego ta praca: Pracuj nad innowacyjnymi projektami i wpływaj na przyszłość zbierania danych.
- Kwalifikacje: 5+ lat doświadczenia w Rust oraz umiejętności w pracy z różnymi platformami.
Przewidywane wynagrodzenie mieści się w przedziale 54000 - 66000 zł za rok.
Dlaczego warto dołączyć do Zyte? W Zyte nie tylko ekstraktujemy dane z sieci - stawiamy czoła najtrudniejszym wyzwaniom związanym z pozyskiwaniem danych w internecie na ogromną skalę. Jesteśmy globalnie rozproszonym zespołem odważnych, ciekawych problemów rozwiązywaczy, którzy są zaangażowani w dostarczanie czystych, wiarygodnych danych z sieci wszędzie tam, gdzie są potrzebne. Żyjemy i oddychamy danymi: odblokowujemy dostęp do otwartych danych z sieci, pomagając wszystkim, od małych startupów po globalne przedsiębiorstwa, w zasilaniu inteligencji konkurencyjnej, analityki i nowoczesnych modeli AI.
W pełni zdalna praca: Pracuj z dowolnego miejsca, w którym czujesz się najlepiej. Z ponad 260 Zytanami rozproszonymi w 33 krajach, nasza różnorodność jest naszą największą siłą. Doskonałość inżynieryjna: Uwielbiamy zakasać rękawy, aby zagłębić się w złożone bazy kodu, testować nowe technologie i przesuwać techniczne granice. Jeśli kochasz kreatywne rozwiązywanie problemów i dostarczanie niezawodnego oprogramowania produkcyjnego, poczujesz się tutaj jak w domu.
Co to za rola? Kiedy API Zyte pobiera dane z sieci, działa poprzez progresywną drabinę tras: standardowe żądania HTTP, bezgłowe przeglądarki, a dla najtrudniejszych witryn - Edge - naszą niestandardową sieć residentialną z prawdziwymi fizycznymi urządzeniami. Edge to nasz mocny gracz, gdy wszystko inne zawiedzie. Nasz zespół Edge Platform zarządza zarówno płaszczyzną kontrolną, jak i płaszczyzną danych tego stosu. Obecnie rozszerzamy się z Windows na urządzenia Android w sieciach mobilnych oraz samodzielnie hostowany Linux (z macOS w planach). Mobilność to nasza największa szansa: witryny, które blokują ruch z komputerów stacjonarnych, często witają prawdziwy telefon komórkowy na połączeniu 4G. To tutaj wkraczasz ty! Będziesz głównym inżynierem, który sprawi, że nasz peer będzie działał płynnie i niewidocznie na każdej platformie - łącząc Rust z natywnymi stosami sieciowymi i interfejsami API systemu operacyjnego za pomocą FFI oraz przekształcając rozproszone urządzenia w dobrze działającą, obserwowalną flotę.
Co będziesz robić:
- Budować nasz wieloplatformowy runtime peer: Przejmij odpowiedzialność za binarny plik peer Rust na Windows, Android, Linux (a w końcu macOS) - zarządzając cyklami życia procesów, zadaniami w tle, siecią, automatycznymi aktualizacjami i niezawodnością na niezarządzanym sprzęcie.
- Przenieść Edge na platformy mobilne: Portuj nasz peer na Androida, używając NDK/JNI, nawigując usługi w tle, optymalizacje baterii i specyfikę sieci mobilnych, aby zintegrować prawdziwe i emulowane farmy urządzeń w naszej flocie.
- Opanować granicę FFI: Zintegruj stos sieciowy Chromium (Cronet, C++) i klientów HTTP bez przeglądarki w peer jako czyste, dobrze przetestowane biblioteki Rust z bezpiecznymi kontraktami czasowymi.
- Wykorzystać sygnały sprzętowe: Zbieraj głębokie informacje o sprzęcie i systemie operacyjnym z floty - mapując odciski TCP/TLS/HTTP - i dziel się spostrzeżeniami z naszymi zespołami Browser i Antiban, aby nasze emulowane poziomy pozostały realistyczne.
- Uczynić flotę przejrzystą: Budować precyzyjne metryki per urządzenie dotyczące czasu pracy, wskaźników spadków, przepustowości i wskaźników sukcesu, abyśmy mogli trzymać siebie i naszych partnerów dostawczych odpowiedzialnymi.
- Rozszerzyć możliwości edge: Dodać wsparcie na poziomie peer dla nowych zadań, takich jak rozwiązywanie captcha i renderowanie przeglądarek, jednocześnie utrzymując peer bezpiecznie izolowany od nieufnych stron i hostów.
- Podzielić się odpowiedzialnością za produkcję: Dołącz do naszego zespołu w rotacji dyżurów, przeprowadzaj przemyślane post-mortem i przekształcaj lekcje z rzeczywistego świata w ulepszenia oprogramowania i wdrożenia.
- Podnieść poprzeczkę inżynieryjną: Twórz RFD, przeglądaj projekty architektoniczne i ustalaj złoty standard dla tego, jak wieloplatformowy Rust jest budowany i dostarczany w Zyte.
Kim jesteś:
- 5+ lat doświadczenia w produkcji Rust, z udokumentowanym doświadczeniem w dostarczaniu i utrzymywaniu oprogramowania end-to-end.
- Ekspert w Rust na wielu platformach: Wydawałeś kod Rust na co najmniej dwóch platformach, w tym Windows, macOS lub Android (z co najmniej jedną platformą mobilną na swoim koncie).
- Znajomość FFI: Umiejętność interfejsowania Rust z bibliotekami C/C++ i natywnymi interfejsami API systemu operacyjnego (JNI/NDK, Win32, POSIX), w tym zarządzanie czasem życia, własnością pamięci i wielowątkowością między językami.
- Głęboka wiedza o sieciach: Dokładne zrozumienie protokołów TCP, TLS i HTTP na poziomie pakietów; wiesz, jak analizować ruch sieciowy i analizować, dlaczego odciski klientów się różnią.
- Nastawienie na niezawodność: Instrumentujesz wszystko, co budujesz, wiesz, jak mierzyć zdrowie floty bez bezpośredniego dostępu do urządzeń i dumnie dbasz o doskonałość operacyjną w dyżurach.
- Świadomość bezpieczeństwa: Rozumiesz, że uruchamianie kodu na urządzeniach osób trzecich wymaga wysokiego zaufania i rygorystycznego projektowania defensywnego.
- Świetny komunikator asynchroniczny: Doskonałe umiejętności pisemnej komunikacji odpowiednie dla zdalnego zespołu.
- Niezaspokojona ciekawość: Cieszysz się inżynierią odwrotną protokołów, eksplorowaniem nowych binariów i odkrywaniem, jak złożone systemy naprawdę działają pod maską.
Nasza technologia:
- Języki: Rust (tokio, tonic), C++ (Cronet), Kotlin/Java na Androidzie.
- Platformy: Windows dzisiaj; Android (prawdziwy i emulowany) oraz Linux wkrótce; macOS wkrótce.
- Protokoły i biblioteki: gRPC i Protobuf przez mTLS, stos sieciowy Chromium, niestandardowi klienci HTTP bez przeglądarki i niestandardowe kompilacje Chromium.
- Infrastruktura: GCP, Kubernetes, Valkey, BigQuery, wdrożenia blue/green.
- Obserwowalność: Prometheus, Grafana, Loki, OpenTelemetry.
Dlaczego pokochasz pracę tutaj:
- Ogromny wpływ: Buduj podstawową warstwę urządzeń zasilającą rurociągi danych dla globalnych liderów branży.
- Autonomia i elastyczność: Ciesz się prawdziwą pracą zdalną z elastycznymi godzinami i środowiskiem opartym na wysokim zaufaniu.
- Ciągła innowacja: Rozwiązuj nowoczesne problemy techniczne na styku AI i zbierania danych z sieci.
- Globalna współpraca: Pracuj obok utalentowanych, pasjonujących inżynierów systemowych i ekspertów ds. danych na całym świecie.
Jeśli jesteś inżynierem Rust, który uwielbia sprawiać, że oprogramowanie działa niezawodnie na nieprzewidywalnym sprzęcie i różnych platformach, chcielibyśmy usłyszeć od ciebie. Pomóż nam kształtować przyszłość ekstrakcji danych z sieci w Zyte!
Software Engineer – Remote in Kraków – pracodawca: Zyte
Zyte to doskonały pracodawca, który oferuje elastyczność pracy zdalnej oraz możliwość dołączenia do różnorodnego zespołu pasjonatów technologii i danych. Pracownicy mają szansę na rozwój w dynamicznym środowisku, gdzie innowacje są na porządku dziennym, a współpraca z inteligentnymi kolegami z zespołu sprzyja rozwiązywaniu złożonych problemów. Dodatkowo, praca z najnowocześniejszymi technologiami open source oraz udział w międzynarodowych konferencjach sprawiają, że Zyte jest atrakcyjnym miejscem dla osób poszukujących satysfakcjonującej kariery.