Staff Software Engineer, GPU Infrastructure Lifecycle Management

Together AI Together AI · Data AI · San Francisco, CA · Engineering

Software Engineer to build systems that treat infrastructure as software, owning state machines that provision hardware, bring it into service, and manage its full lifecycle for running inference clusters. The role focuses on creating a self-service API for the inference team to manage clusters, automating self-healing, and ensuring the reliability of the provisioning pipeline. It requires strong software engineering background, experience with workflow orchestration tools, and building control planes or event-driven systems.

What you'd actually do

  1. Build the provisioning state machine: design and implement the software that models the full lifecycle of a physical host from discovery, inference bring-up to GPU driver/CUDA stack, health validation, and decommission/RMA — as explicit, versioned states and transitions.
  2. Build the self-service API: design declarative APIs and a control plane so the inference team can request, scale, and tear down inference clusters with one API call — no ticket, no human in the loop.
  3. Automate self-healing: detect degraded or failed nodes, drain them safely, trigger repair or replacement, and reintroduce healthy capacity into the pool automatically.
  4. Own reliability of the pipeline: idempotency, retries, rollback, and drift detection so the provisioning system is as dependable as any other production service.
  5. Partner with the inference/ML platform team: understand the cluster shapes they need — topology, interconnect, scheduling constraints — and encode them as first-class abstractions in the platform.

Skills

Required

  • Strong software engineering background in Go, Python, Rust, or similar
  • Experience with durable workflow orchestration tools such as Temporal, Cadence, or equivalent
  • Experience building software control planes or orchestration systems that model state and reconcile it over time
  • Experience with event-driven systems — designing and building software around message queues, event streams, or pub/sub
  • A product mindset. You’ve built internal platforms or APIs consumed by other engineering teams and care about the developer experience of what you ship.

Nice to have

  • Exposure to bare-metal provisioning (PXE/iPXE, Redfish/IPMI, BMC) and/or networking fundamentals (VLANs, BGP, fabric design), or GPU/accelerator infrastructure.
  • Experience with GPU cluster software stacks (NCCL, CUDA, InfiniBand/RoCE).
  • Prior work at a hyperscaler, GPU cloud, or datacenter-scale infrastructure organization.
  • Systems programming in Rust or Go.

What the JD emphasized

  • running inference clusters
  • bare metal to a fully functioning AI cluster for training or inference
  • the inference team can request, scale, and tear down inference clusters with one API call
  • the provisioning system is as dependable as any other production service
  • GPU cluster software stacks