Staff Software Engineer, Data
Job description
About the role
Hardware engineering teams rely on this role to convert high-volume telemetry into operational understanding. Foundational data systems enable missions for rockets, satellites, autonomous vehicles, energy systems, and defense platforms.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
A platform ingests millions of hardware sensor data points each second to power real-time decisions for critical systems. Clear guidance for engineering culture, standards, and processes translates into consistent, high-quality execution.
Requirements
A Bachelor's degree in Computer Science, Engineering, Physics, or another STEM discipline is mandatory. At least 7 years of experience in backend, infrastructure, or data engineering roles is required. Hands-on experience with event-time-based stream processing or streaming SQL systems using tools like Apache Flink, Kafka Streams, Beam, or similar is necessary. Proficiency with relational and time-series databases like PostgreSQL, Druid, Pinot, TimescaleDB, or equivalent is required. Experience with large-scale distributed systems or low-latency backend services, ideally written in Go, Rust, or Python, is expected. Familiarity with DevOps and cloud infrastructure tools such as Kubernetes, Prometheus, ArgoCD, and Terraform is required. Strong communication skills and a collaborative problem-solving approach are required.
Nice to have
Value is placed on familiarity with telemetry data from hardware systems, high-throughput ingest pipelines, or columnar storage formats like Apache Arrow and Parquet. Preference is given to experience building resilient, performant systems that scale to billions of records. Curiosity about new data paradigms and eagerness to evaluate and integrate emerging tools and techniques is encouraged.
Practical notes
Onsite collaboration occurs twice weekly in Marina Del Rey, with a full week together every two months and options for San Francisco or relocated roles in LA for suitable candidates. Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Data infrastructure engineers commonly work with streaming platforms and storage systems that handle high-volume telemetry. General-purpose programming languages like Go and Python often power backend services that process real-time data. Time-series databases and stream processing tools support analytics for physical systems at scale. Cloud-native and diskless designs are modern approaches for managing large datasets without dedicated local storage. Collaboration across engineering teams is typical for roles that define standards for building and operating complex systems.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.