
Job Information
Bosch ADAS Driver Assistance Software Engineer (Video Systems) - XC in Plymouth, Michigan
Company Description
Do you want to contribute ideas that will shape the future of mobility? As one of the world’s largest automotive suppliers, Bosch is driving change in the mobility sector. Join us and you can help innovate, create, and form the future of mobility.
The XC division develops state of the art solutions as well as advanced features leading to the future of cockpit electronics and Assisted and Automated Driving. Our dynamic team focuses on innovating and developing user-centric solutions for Drivers Assistance features and systems enabling Autonomous Driving.
The Bosch Group is a leading global supplier of technology and services, with the strategic objective to create solutions for a connected life, and to improve quality of life worldwide with products and services that are innovative and spark enthusiasm. In short, Bosch creates technology that is “Invented for life.”
Apply now to become part of the exciting and growing field of mobility solutions.
Job Description
Driver Assistance Software Engineer
This position is focused on software and algorithm development of ADAS functionalities using camera systems. The ideal candidate would be highly self-motivated and have the willingness to dive right in. You will work as a member of an international team including vision algorithm developers, software and function developers, application engineers and project managers to develop innovative driver assistance technologies.
Below is a highlight of the things you would being working on:
Develop driver assistance function based on customer specifications and internal requirements
Computer vision algorithms from Prototype stage to maturity
Design and develop SW architecture based on requirements and system architecture
Update state machine/state flow in MATLAB
Configure pins when we upgrade the hardware
Setup and schedule OS tasks
Define memory layouts
Implement central functionalities like Debug/Test interfaces like XCP, Lauterbach, Trace32, CANoe
Performance measurements (RAM, ROM usage, bandwidth and runtime monitoring) + develop concepts for optimization if needed
Develop functions in application layer in C++ Interacting with System engineers and other application team to effective plan and deliver
Prepare software designs and lead design decisions
Implement functional state machines using model-based development (e.g. Simulink)
Joint in-vehicle testing with application engineers
Definition and implementation of control interfaces to other modules (including vehicle and steering controllers)
Interact with the test team to ensure proper behavior of the implemented function, integration process and system interaction
Perform bench test to ensure that KPIs (key performance indicators) will be met
Support tool development related to vision algorithms (software in the loop)
Design concepts to minimize the required effort to adapt functionalities to different customer needs
Develop application concepts together with application team to ensure a seamless integration into different customer projects
Perform software reviews and document software according to the latest standards
Qualifications
Minimum Requirements Include
BS in Computer Science, Electrical Engineering, Computer Engineering, or related degree
3-5 years of embedded C/C++ software development experience in automotive or embedded control systems
Minimum 2+ years in C++ software development
1+ years of experience debugging, troubleshooting and testing of large embedded software projects
The desired candidate(s) should have knowledge, familiarity and/or interest in some of these areas:
Experience with computer vision, image processing and machine learning
Hands on working knowledge on Autosar environment, Linux/QNX environment is a Plus
Knowledge on Camera based systems used in Automotive·
Hands on experience in CAN based protocol application development, experience in automotive Ethernet is a Plus
Knowledge of Python scripting is a Plus
Experience in Image processing and adaption of CV algorithm based on requirements is a Plus
Hands on working knowledge on graphic rendering concept , eg. OpenGL, OpenCV, is a Plus
Experience in working in configuration/version management like GIT, BitBucket, Jenkins, Jira Track and Release or similar tools
Experience with Requirement Management tools is desired, e.g. IBM DOORS
Experience in process driven SW development according to the V-model
Effective communication and interpersonal skills, self-motivated and Team player
Effective interpersonal skills and self-motivated Team player
Background in vehicle dynamics , controls theory or robotics
Rapid prototyping and scripting using Python , etc.
Experience working with global teams on software projects
Experience in using continuous integration SW development workflows
Experience in software debugging on embedded target.
Familiar with unit test frameworks like GoogleTest, Cantata++, …
Experience in working w/ vehicle network messages (CAN, Flexray, Ethernet)
Familiarity with automotive processes like ASpice, ISO26262
Experience in requirements engineering (e.g. w/ Rational Doors)