Description
NVIDIA is seeking a Software Engineer, Data Systems to join our Santa Clara, CA team. This opportunity lets you work with innovative technology that changes how we analyze AI workload performance across GPU data centers.
Our team builds advanced software tools to help technical users understand complex computing systems. You will manage the store, data model, and query path, converting large streams of profiling and telemetry data into useful information for engineers and automated analysis.
Responsibilities
- Develop and construct the store, data model, and query path for engineering performance data. This includes ingesting, joining, storing, and delivering it at the scale of a GPU data center with low latency.
- Join profiling data with context from the rest of the system, such as hosts, schedulers, configuration, logs, and storage, ensuring each record carries the necessary identity and dimensions for comparison across jobs, machines, versions, and time.
- Take responsibility for the data contract with the teams that generate the data: establish it, version it, and transition consumers through changes without disrupting them.
- Make deliberate trade-offs among data quality, query latency, storage cost, and retention, and verify improvements in efficiency, latency, and resource use with measurements.
- Handle delayed, duplicated, incomplete, or inconsistent data, and make its limitations visible to downstream users.
- Develop the data API along with the generated evidence views for people and automated analysis to access results. Implement access controls, resource limits, and maintain stable behavior during high demand or failures.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field, or equivalent experience.
- 12+ years of relevant software engineering experience, including delivery and operation of data pipelines, storage systems, analytical services, or comparable software used by others.
- Experience handling large-scale data in production, including billions of events per day or petabyte-class stores. Also experienced with low-latency streaming pipelines that manage backpressure, replay, and duplicate delivery accurately.
- Good judgment about event identity and ordering, data transformations, and how errors or missing data affect results.
- A concrete performance investigation you can explain: the baseline, measurements, competing explanations, change made, and verified result, including trade-offs.
- Experience establishing and versioning a data contract with a producing team, and guiding consumers through a format change.
- Ability to debug across component boundaries and validate changes through code review, tests, and independent measurements, including when using automated development tools.
- Clear communication about choices in building, observed behavior, and uncertainty, with care for users’ data and operational constraints.
- Proficiency with C++, Python, and SQL.
Nice to Have
- Hands-on work with telemetry, time-series data, or analytical query engines such as ClickHouse, and with columnar formats such as Arrow and Parquet.
- Familiarity with profiler data: trace record formats, sampling semantics, symbolization, clock domains, and aligning events recorded on different machines.
- High-cardinality schema build, and measured improvements to memory use, storage efficiency, or query performance while preserving correctness.
- A track record of making data processing easier to inspect and recover when inputs change, traffic spikes, or failures occur.
- Working knowledge of Go.
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 224,000 USD - 356,500 USD. You will also be eligible for equity and benefits.