Senior Software Engineer - Middleware C++

Mountain View, CA
About us:
Aeva’s mission is to bring the next wave of perception to a broad range of applications from automated driving to industrial robotics, consumer electronics, consumer health, security, and beyond. Aeva is transforming autonomy with its groundbreaking sensing and perception technology that integrates all key LiDAR components onto a silicon photonics chip in a compact module. Aeva 4D LiDAR sensors uniquely detect instant velocity in addition to 3D position, allowing autonomous devices like vehicles and robots to make more intelligent and safe decisions. 

Role Overview:
We are looking for a C++ Software Engineer who has experience in developing large software applications. You will work towards a common goal of getting our production codebase compliant with various security/safety standards required to ship the product. This person will also work on various C++ infrastructure features.

What you'll do:

  • Develop software working on Linux as well as real-time operating systems (QNX, FreeRTOS, etc.) Develop software working on a distributed and heterogeneous system (across multiple processors/ECUs) 
  • Develop necessary tools to support development, debugging, and testing
  • Assist in software design and code reviews while assisting other developers on technical issues, design choices, and decision making
  • Analysis of requirements, architecture, design, development, code review, quality assurance, and deployment of entire software engineering life cycle
  • Work closely with other development and cross-functional team members

What you have:

  • B.S. in Computer Science, Software Engineering, or a related field
  • 7+ years of experience with developing embedded system software from requirements into a functional, efficient, and validated implementation
  • Strong C++ programming skills
  • Experience in developing/optimizing multi-threaded code running on multiple cores
  • Experience in message passing between threads as well as data communication over external interfaces like CAN, Ethernet
  • Experience in automotive or robotics software development
  • Experience in ROS/ROS2 or similar software development
  • Experience in software development for ARM SoCs
  • Experience in using C/C++ performance/benchmarking tools such as perf, gperf, valgrind, etc.
  • Familiar with the embedded software development environment
  • Familiar with software development on Linux, RTOS(QNX, FreeRTOS, etc.) 
  • Working knowledge of automotive communication protocols (CAN, Ethernet, etc.) 
  • Ability to work in a fast-paced development environment 
  • Good team player with great communication skills
  • Passionately motivated to take ideas from the R&D phase to a product
  • Software Development life cycle experience, from requirements gathering through to implementation and maintenance.
  • Familiarity with MISRA/ISO26262/CERT Standards
  • Familiarity with code compliance tools such as Tidy, Polyspace, QAC, or Coverity
  • Experience profiling code for key metrics like latency

Nice to have:

  • Software development experience on microcontrollers
  • Experience with real-time systems
  • Exposure to safety/security-critical systems

What's in it for you:

  • Be part of a fast paced and dynamic team
  • Very competitive compensation and meaningful stock grants
  • Exceptional benefits: Medical, Dental, Vision, and more
  • Unlimited PTO: We care about results, not punching timecards

Apply for Senior Software Engineer - Middleware C++

Resume is required

Full name is required

Phone number is required