Job Description:
- Design, document, develop, and integrate the C++ software platform for ADAS systems
- Apply sophisticated software engineering techniques to minimize use of system resources
- Assume role of key interface to customers to support architecture and code reviews
- Travel to customer engineering centers and minimal travel to customer plants and overseas for training
- Work with code quality tools, write unit tests, ensure proper code coverage, ensure robustness, support code reviews and debugging
- Support real-world testing of cutting-edge ADAS features by working with partner teams, and by flashing and debugging your code in preproduction and prototype vehicles.
- Create software where the movement of data underlies everything: between threads, between processes, between processors, between ECUs, and even between the vehicle and the cloud.
- Apply your knowledge of communication techniques and protocols, including TCP/IP, UDP, SPI, and SOA to ensure robust and reliable communications.
Requirements:
- Bachelor’s degree in software development or related field
- 5+ years of experience in software development using C or C++
- Familiarity with In-Vehicle communication bus protocols (CAN, Ethernet, LVDS, etc.)
- Proficient understanding of embedded applications and state-of-the-art techniques for the development of these systems
- Experience working on applied computer vision (CV) projects
- Participation in on-going career development education (degrees or certification programs)
- Experience with model based development and code generation (MATLAB, Simulink, etc.)
- Experience applying image processing algorithms in automotive vision systems such as forward/rear facing cameras, and 360° surround view systems.
- Understanding of underlying hardware and low level abstraction layers
- Experience writing software algorithms for image enhancement, de-warping, stitching, and blending
- Experience applying image processing algorithms in automotive vision systems such as Clusters, Display, 360° surround view systems.
- Understanding of underlying hardware and low level abstraction layers
- Experience writing software components of infotainment systems