
Restate offre una piattaforma di esecuzione durevole per gli sviluppatori che realizzano agenti IA, flussi di lavoro e servizi backend resilienti. Il suo runtime leggero conserva i progressi delle applicazioni e riprende le attività interrotte dopo un errore, riducendo la necessità di creare logica di ripristino e codice infrastrutturale personalizzati. I team possono definire passaggi durevoli in TypeScript, Python, Go, Java/Kotlin o Rust ed eseguirli in ambienti autogestiti o su piattaforme cloud. Basata su un runtime Rust ad alte prestazioni, Restate è progettata per applicazioni di lunga durata, distribuite e basate sugli eventi, inclusa l’orchestrazione di agenti IA.
Ingegnere Backend, Sistemi Distribuiti — Lavoro da remoto negli Stati Uniti
Costruisci il runtime di esecuzione durevole di Restate per applicazioni affidabili e scalabili. Lavora su sistemi distribuiti, storage, messaggistica e infrastrutture tolleranti ai guasti.
220.000 $ – 260.000 $ / anno
Da remotoTempo pienoIntermedioSeniorLingua Richiesta: ingleseIngegnere blockchainDescrizione
- Sviluppare i componenti fondamentali del backend e dei sistemi distribuiti
- Sviluppare funzionalità di esecuzione durevole, gestione dello stato, messaggistica, storage, concorrenza e tolleranza ai guasti
- Creare sistemi affidabili e a bassa latenza che operino su larga scala
- Rafforzare le prestazioni, la scalabilità e la resilienza del runtime di Restate
- Definire l’architettura e lo sviluppo continuo della piattaforma principale di Restate
- Progettare sistemi per un funzionamento affidabile in ambienti di produzione reali
- Analizzare e risolvere problemi complessi relativi ai sistemi distribuiti e alla produzione
- Far progredire l’osservabilità, i test, il recupero dagli errori e l’affidabilità operativa
- Contribuire sia al software applicativo sia all’infrastruttura
- Collaborare con i team di ingegneria che sviluppano sistemi di produzione su Restate
- Trasformare le sfide tecniche del mondo reale in miglioramenti del prodotto
- Creare implementazioni di riferimento, integrazioni e strumenti di supporto secondo necessità
- Partecipare a discussioni tecniche, revisioni dei progetti e decisioni architetturali
- Trasformare i problemi tecnici ricorrenti in sistemi, strumenti e documentazione riutilizzabili
- Contribuire a definire le pratiche di ingegneria man mano che il team e il prodotto crescono
Requisiti
- Solida esperienza nell’ingegneria backend e nello sviluppo di sistemi di produzione
- Esperienza con sistemi distribuiti, architetture basate su eventi o sistemi che coinvolgono concorrenza, stato, messaggistica e gestione degli errori
- Ottima conoscenza di almeno un linguaggio backend; Rust, Go, Java, C++ o linguaggi comparabili sono particolarmente pertinenti
- Esperienza nella progettazione, nello sviluppo e nella gestione di software di produzione su larga scala
- Solida conoscenza dell’affidabilità del software, delle prestazioni e della progettazione dei sistemi
- L’esperienza con database distribuiti, motori di workflow, sistemi di messaggistica o software per infrastrutture costituisce un plus
- L’esperienza con Rust o un altro linguaggio di programmazione di sistema costituisce un plus
- L’esperienza con Kubernetes e infrastrutture cloud costituisce un plus
- L’esperienza con motori di storage, networking o sistemi a basso livello costituisce un plus
- L’esperienza nella riprogettazione o migrazione di sistemi di produzione costituisce un plus
- Contributi open source o esperienza nella creazione di infrastrutture per sviluppatori costituiscono un plus
- Capacità di comunicare chiaramente le idee tecniche attraverso documenti di progettazione, discussioni architetturali e codice
- Forte senso di responsabilità e capacità di avere successo in un ambiente in fase iniziale
- Capacità di lavorare direttamente con gli ingegneri per comprendere e risolvere problemi tecnici pratici
Benefit
- Partecipazione azionaria