At a Glance
- Tasks: Join a talented team to optimise software for autonomous driving and enhance system performance.
- Company: Innovative tech company focused on revolutionising autonomous vehicle technology.
- Benefits: Competitive salary, flexible work options, and opportunities for professional growth.
- Other info: Dynamic environment with strong focus on collaboration and innovation.
- Why this job: Make a real impact in the future of driving while working with cutting-edge technology.
- Qualifications: Proficiency in C++ and experience with embedded Linux systems required.
The predicted salary is between 50000 - 70000 € per year.
Requirements
- 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.
- 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.
Software Engineer -System Performance, Robot Software in London employer: Deepstreamtech
At Wayve, we pride ourselves on being an exceptional employer that fosters a collaborative and innovative work culture. Our Software Engineer - System Performance role offers the opportunity to work alongside a talented team dedicated to advancing autonomous driving technology, with ample opportunities for professional growth and development. Located in a vibrant tech hub, we provide our employees with access to cutting-edge tools and resources, ensuring they can thrive while contributing to meaningful projects that shape the future of mobility.
StudySmarter Expert Advice🤫
We think this is how you could land Software Engineer -System Performance, Robot Software in London
✨Tip Number 1
Network like a pro! Attend industry meetups, tech conferences, or even local coding events. Chatting with fellow engineers can lead to insider info on job openings and give you a chance to showcase your skills.
✨Tip Number 2
Don’t just apply and wait! Follow up on your applications. A quick email or LinkedIn message can show your enthusiasm and keep you on their radar. We love seeing candidates who are proactive!
✨Tip Number 3
Prepare for technical interviews by practicing coding challenges and system design questions. Use platforms like LeetCode or HackerRank to sharpen your skills. Remember, we want to see how you think through problems!
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining our team at StudySmarter.
We think you need these skills to ace Software Engineer -System Performance, Robot Software in London
Some tips for your application 🫡
Show Off Your Skills:Make sure to highlight your proficiency in developing high-performance embedded Linux systems software in C++. We want to see your experience managing the software development lifecycle, so don’t hold back on those details!
Be Specific About Your Experience:When discussing your past projects, be specific about how you tackled performance profiling and resolved system bottlenecks. Use examples that demonstrate your methodical approach to experiment evaluation.
Familiarity is Key:If you’ve worked with Nvidia performance tools or observability tools like Grafana, mention it! Even if it’s just a bit of experience, it shows us you’re keen on optimising software performance.
Apply Through Our Website:We encourage you to apply through our website for a smoother application process. It’s the best way for us to keep track of your application and ensure it gets the attention it deserves!
How to prepare for a job interview at Deepstreamtech
✨Know Your C++ Inside Out
Make sure you brush up on your C++ skills, especially in the context of high-performance embedded systems. Be ready to discuss your past projects and how you tackled challenges related to performance optimisation and system bottlenecks.
✨Familiarise Yourself with Performance Tools
Get comfortable with performance profiling tools like NV NSight and Grafana. If you've used them before, be prepared to share specific examples of how they helped you identify and resolve issues in your previous work.
✨Understand the Software Development Lifecycle
Be ready to talk about your experience managing the software development lifecycle from ideation to delivery. Highlight any methods you’ve used for experiment evaluation and how you’ve iterated on feedback to improve performance.
✨Collaborate and Communicate
Since this role involves working closely with multiple teams, think of examples where you successfully collaborated to solve performance issues. Show that you can communicate technical concepts clearly and effectively to non-technical team members.