Restate
Restate
Restate udostępnia platformę niezawodnego wykonywania dla programistów tworzących odporne na awarie agentów AI, przepływy pracy i usługi backendowe. Jej lekki mechanizm wykonawczy zachowuje postęp aplikacji i wznawia przerwaną pracę po awariach, ograniczając potrzebę tworzenia niestandardowej logiki odzyskiwania i kodu infrastrukturalnego. Zespoły mogą definiować niezawodne kroki w TypeScript, Pythonie, Go, Javie/Kotlinie lub Ruście, a następnie uruchamiać je w środowiskach zarządzanych samodzielnie albo na platformach chmurowych. Restate opiera się na wysokowydajnym mechanizmie wykonawczym napisanym w Ruście i jest przeznaczona do długotrwałych, sterowanych zdarzeniami oraz rozproszonych aplikacji, w tym do orkiestracji agentów AI.

Inżynier backendu i systemów rozproszonych — praca zdalna w Stanach Zjednoczonych

Twórz środowisko uruchomieniowe Restate z trwałym wykonywaniem dla niezawodnych i skalowalnych aplikacji. Pracuj nad systemami rozproszonymi, pamięcią masową, komunikacją i odporną na awarie infrastrukturą.

Opis

  • Twórz kluczowe komponenty backendu i systemów rozproszonych
  • Rozwijaj funkcje trwałego wykonywania, zarządzania stanem, komunikacji, przechowywania danych, współbieżności i odporności na awarie
  • Twórz niezawodne systemy o niskich opóźnieniach, działające przy znacznej skali
  • Zwiększaj wydajność, skalowalność i odporność środowiska uruchomieniowego Restate
  • Kształtuj architekturę i dalszy rozwój podstawowej platformy Restate
  • Projektuj systemy zapewniające niezawodne działanie w rzeczywistych środowiskach produkcyjnych
  • Badaj i rozwiązuj złożone problemy systemów rozproszonych oraz środowisk produkcyjnych
  • Rozwijaj obserwowalność, testowanie, odzyskiwanie po awariach i niezawodność operacyjną
  • Współtwórz oprogramowanie aplikacyjne i infrastrukturę
  • Współpracuj z zespołami inżynieryjnymi budującymi systemy produkcyjne na Restate
  • Przekuwaj rzeczywiste wyzwania techniczne w ulepszenia produktu
  • Twórz implementacje referencyjne, integracje i potrzebne narzędzia pomocnicze
  • Uczestnicz w dyskusjach technicznych, przeglądach projektów i decyzjach architektonicznych
  • Przekształcaj powtarzające się problemy techniczne w wielokrotnego użytku systemy, narzędzia i dokumentację
  • Pomagaj ustanawiać praktyki inżynieryjne w miarę rozwoju zespołu i produktu

Wymagania

  • Znaczące doświadczenie w tworzeniu backendu i systemów produkcyjnych
  • Doświadczenie z systemami rozproszonymi, architekturami sterowanymi zdarzeniami lub systemami obejmującymi współbieżność, stan, komunikację i obsługę awarii
  • Biegła znajomość co najmniej jednego języka backendowego; szczególnie istotne są Rust, Go, Java, C++ lub porównywalne języki
  • Doświadczenie w projektowaniu, tworzeniu i utrzymywaniu oprogramowania produkcyjnego na dużą skalę
  • Dobra znajomość niezawodności oprogramowania, wydajności i projektowania systemów
  • Doświadczenie z rozproszonymi bazami danych, silnikami przepływów pracy, systemami komunikacji lub oprogramowaniem infrastrukturalnym będzie atutem
  • Doświadczenie z Rustem lub innym językiem programowania systemowego będzie atutem
  • Doświadczenie z Kubernetesem i infrastrukturą chmurową będzie atutem
  • Doświadczenie z silnikami przechowywania danych, sieciami lub systemami niskopoziomowymi będzie atutem
  • Doświadczenie w przebudowie architektury lub migracji systemów produkcyjnych będzie atutem
  • Wkład w projekty open source lub doświadczenie w tworzeniu infrastruktury dla deweloperów będzie atutem
  • Umiejętność jasnego przekazywania idei technicznych w dokumentach projektowych, dyskusjach architektonicznych i kodzie
  • Duże poczucie odpowiedzialności i zdolność do skutecznej pracy na wczesnym etapie rozwoju firmy
  • Umiejętność bezpośredniej współpracy z inżynierami w celu zrozumienia i rozwiązywania praktycznych problemów technicznych

Benefity

  • Udziały w kapitale firmy