Senior/Staff Software Engineer, Distributed Systems
Build and evolve distributed software that coordinates manufacturing hardware, process workflows, and machine data. The role requires 5+ years of systems experience, strong Python and systems-language skills, architectural judgment, and a focus on reliability and engineering rigor.
About the job
Responsibilities
- Design and build distributed software systems coordinating state, timing, and behavior across manufacturing hardware.
- Write, test, and debug sensors, actuators, and process controllers under real-time and reliability constraints.
- Design workflows bridging manual and automated process steps, including handoffs between production and process development.
- Evolve the existing system, including APIs governing machine behavior across the fleet, as the architecture converges.
- Instrument systems so machine and process data is structured for downstream AI/ML consumption.
- Investigate and resolve issues spanning software, firmware, and physical systems.
- Establish and model software engineering practices including testing, code review, CI/CD, and documentation.
- Improve system reliability through observability, fault handling, and graceful degradation.
- Collaborate with mechanical, electrical, and process engineers to translate physical constraints into resilient software behavior.
- Help engineering leadership converge competing architectural visions into a well-reasoned direction.
Requirements
- 5+ years building or debugging systems with real external dependencies, such as hardware, embedded devices, or networked services.
- Experience making and defending architecture decisions involving build-versus-buy, deployment topology, and service boundaries.
- Strong Python skills for production systems.
- Proficiency in at least one systems or strongly typed language: C++, Rust, or Go.
- Strong grounding in distributed-systems fundamentals, including state coordination, consistency, failure modes, and concurrency.
- Experience introducing or maintaining CI/CD, automated testing, or observability tooling in an existing codebase.
- Comfort operating against an incomplete or contested specification and driving clarity.
- Bachelor's degree in Computer Science, Electrical Engineering, Robotics, or a related field, or equivalent experience.
Nice-to-Haves
- Experience with real-time or resource-constrained environments, IoT, edge computing, industrial systems, robotics, warehouses, manufacturing lines, fabrication, or automation facilities.
- Experience designing observability and instrumenting systems for ML/AI pipelines.
- Experience introducing testing or CI discipline to a team that lacked it.
- Experience evaluating cloud versus on-premises or edge deployment tradeoffs for latency- or safety-sensitive systems.
- Experience debugging issues across application logic, transport, firmware, and hardware.
- Experience translating physical constraints such as latency, noise, mechanical tolerance, and safety margins into software behavior.
Compensation and Benefits
- Salary range: $180,000–$230,000 USD.
- Compensation also includes equity and benefits.
Skills
Python, C++, Rust, Go, Distributed Systems, CI/CD, Automated Testing, Observability, API Development, Real-Time Systems, Edge Computing, Robotics, Firmware, Cloud Deployment, Machine Learning
Similar jobs
Backend Engineering jobsBuild and evolve scalable platform services, APIs, and product capabilities while making architecture decisions and improving reliability and operational excellence. The role requires substantial software engineering experience, distributed-systems expertise, strong technical judgment, and the ability to mentor engineers.
Staff Backend Engineer building distributed data-platform services, ingestion workflows, APIs, and validation pipelines that automate customer data onboarding. Requires 4+ years of backend experience, with strong Python, SQL/dbt, orchestration, cloud warehouse, and infrastructure skills.
Staff engineer responsible for designing and operating backend systems for order handling, ledgers, and settlement in a retail brokerage environment. Requires 10+ years of software engineering experience, deep distributed-systems expertise, and strong technical leadership and communication skills.
Provides hands-on technical leadership for high-scale backend systems that ingest, process, store, and serve user-profile data. The role requires 8+ years of software engineering experience, distributed-systems expertise, and strong architectural and cross-team leadership.
Leads the technical direction and hands-on development of scalable backend platforms for Pinterest’s AI-driven products. Requires extensive backend and distributed-systems experience, strong Python skills, production LLM or ML experience, and cross-functional technical leadership.