Software Engineer – Remote in Kraków

Software Engineer – Remote in Kraków

Kraków Pełny etat 54000 - 66000 zł / rok (szac.) Zdalnie
Z

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.

Z

Dane kontaktowe:

Zespół rekrutacyjny Zyte

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Software Engineer – Remote in Kraków

Rust
Cross-platform Development
FFI (Foreign Function Interface)
C/C++ Integration
Networking Protocols (TCP, TLS, HTTP)
Mobile Development (Android NDK/JNI)
Process Management