Full time
Information Technology
Telecommunications
Job Description
Requirements
Software Development Skills: Proficiency developing high-performance embedded Linux systems software in C++. Demonstrated ability to manage the complete software development lifecycle from ideation through delivery & optimization
Proficiency with performance profiling tools and techniques for identifying and resolving system bottlenecks
Proven track record of methodical experiment evaluation
Strong technical background on OS scheduling, computer architecture (memory hierarchy, CPU caches, context switches, ), and thread synchronisation
(Desirable) Familiarity with Nvidia performance tools such as NV NSight, NV Lumos and tegrastat
(Desirable) Familiarity with observability tools such as Grafana (logs, metrics, traces), Databricks, Datadog
(Desirable) Familiarity with QNX and Momentics is a plus
What the job involves
The Robot Software team is responsible for the software that runs on our internal fleet of vehicles to enable autonomous driving and collect data for training new driving models
You will join a motivated and talented team of engineers to deliver a reliable, stable and flexible software stack to support on-road experimentation by our model developers and scientists
Your work will enable these teams to iterate quickly and gather the data they need to improve our autonomous driving capabilities and support new product features, which is critical to the success of Wayve's mission
The System Performance team equips all Wayve teams with the observability, profiling tools, and infrastructure needed to understand and optimise software performance across our development fleet
We work closely with teams to investigate issues, reduce bottlenecks, and promote best practices
Our work enhances core onboard components to ensure efficient use of compute and a solid foundation for running model experiments at scale
We also provide the tooling and infrastructure needed to quickly detect, diagnose, and address performance regressions, helping teams move faster with greater confidence
Investigate latency and performance bottlenecks across the entire software stack
Instrument code with profiling tools and metrics to collect performance data and identify optimization opportunities
Integrate and evaluate new profiling and instrumentation tools to benchmark system performance and establish baselines
Collaborate with multiple teams to understand their performance pain points and prioritize optimization efforts based on impact
Optimize critical code paths and algorithms to improve runtime efficiency, reduce latency, and enhance overall system performance