This position is focused on the development of new features, implemented through feature models, and integrated into a central Active safety ECU, but could also involve other elements of the process as we seek to add high quality people to the team. The Software Engineer on the DAT Software Team will have the opportunity to work on a range of software tasks.
Tasks will vary based on engineer’s skills. Most engineers work on several of the following areas:
- Design and development of state-of-the-art embedded software for next generation ADAS systems
- Support advanced research and developmental efforts
- Performance optimization depending on the active platform. This can consist of FPGA programming, DSP programming, or C/C++ code optimization.
- In vehicle testing. Almost all code will need to be tested in test vehicles. This would include testing code in real traffic.
- Inter device programming including coding for socket connections and SPI connections
- Development of diagnostic and debug tools used for visualization and storage of complex real-time data (which could include display of 3-d data)
- DevOps, including maintenance and support of utilities used for code version control, quality control, verification, and testing
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science or similar field of study
- 7+ years of experience in software/firmware development using C/C++
- 5+ years of experience designing and testing embedded systems for high performance, high reliability computing applications
- 2+ years of experience with Unix-based embedded applications
- M.S. in Electrical Engineering, Computer Engineering, Computer Science or similar field of study
- 7+ years of experience with embedded software design and development for automotive, industrial, or aerospace/military applications with demonstrated success in a fast-paced, cross-functional engineering team environment
- Experience developing software which meets functional safety requirements
- Knowledge of Agile software development methodologies
- Experience with embedded RTOS(s)
- Experience with Jenkins, CMake, GitHub, Gtest, QNX, Docker
- Experience with code optimization
- Fluent in scripting languages, such as bash and Python
- Knowledge of SPI, Ethernet and Can communication
- Familiarity with sensor modalities used in robotics and autonomous driving applications (Camera/Vision, RADAR, LIDAR, INS/IMU)