Neurodiversity Advisors Inc. Jobs

Mobile Neurodiversity Advisors Logo

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


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)