Algorithmic Proficiency:
Designing, developing, and optimizing algorithms for:
Lane Violation: Assessing threats in adjacent lanes, including headway calculation and predictive analysis for lane changes.
Reference Line Analysis: Interpreting object motion relative to defined longitudinal and lateral reference lines for proximity and potential collision.
Intrusion of Path: Predicting intersections of object and host vehicle trajectories.
Strong background in signal processing and data fusion from various sensors (e.g., radar, lidar, cameras), as well as down-selection algorithms, including expertise in the Traffic Participant Selection (TPS) component.
In-depth knowledge of automotive coordinate systems, specifically adherence to standards for vehicle axes (x-front, y-left, z-up), and understanding of vehicle dynamics (e.g., roll, pitch, yaw, deceleration, gaps).
Experience with configurable algorithms and parameter tuning for different modes (e.g., Normal, Cautious, Aggressive) to balance safety and performance characteristics.
Proficiency in the full software development lifecycle (requirements analysis, design, implementation, testing, deployment) within an automotive context.
Automotive & ADAS Domain Knowledge:
Comprehensive knowledge of ADAS Features.
Ability to define and classify threats, including various vehicle types (cars, trucks, motorcycles, bicycles) within the driving path and vicinity.
Understanding of ADAS system architectures, including how sensors, processing units, and control algorithms integrate.
General understanding of ISO26262 Functional Safety and Automotive Safety Integrity Levels (ASIL), as well as an understanding of different levels of driving automation (e.g., SAE).
Experience with real-time processing and low-latency data handling, as required for ADAS applications.
Software Engineering & Development Process:
Model-Based Design (MBD): Extensive experience with MBD development processes, including proficiency in Simulink for algorithm design and implementation.
Embedded Software Development: Strong background in developing software for embedded automotive systems, with a focus on real-time constraints, CPU load, RAM/ROM optimization, and fixed-rate execution (e.g., 25 ms cycle time).
Version Control & Documentation: Proficiency with version control systems like Git and experience using tools for interface definitions and data dictionaries (e.g., AIMdb).
Requirements Management: Strong background in writing detailed and level-appropriate requirements (e.g., Software-Level Requirements), including familiarity with ASPICE Traceability Model and requirements management tools like Jama.
Fault Handling & Diagnostics: Understanding of fault handling strategies in ADAS, including reliance on common software components for fault detection, processing "Suppress" or "Deny" requests, and providing feature-specific diagnostic issue codes (DIDs).
Testing, Debugging & Quality Assurance:
Comprehensive Testing Strategies: Experience in defining and executing various testing methodologies, including Model-in-the-Loop (MIL), Software-in-the-Loop (SIL), Rapid Control Prototyping (RCP), Hardware-in-the-Loop (HIL), and in-vehicle testing.
Test Case Development: Ability to design and implement integration tests, ensuring comprehensive coverage of software component inputs, outputs, and interactions with other modules.
Debugging & Analysis: Expertise in debugging embedded software using dedicated tools, debug streams (e.g., UDP, XCP), and A2L files for signal logging and analysis.
Quality Assurance: Commitment to ensuring software quality through adherence to coding guidelines (e.g., Modeling Guidelines), regular performance analysis, and addressing identified risks.
Collaboration & Project Management:
Cross-functional Collaboration: Excellent communication and teamwork skills to collaborate effectively with various internal and external stakeholders, including global development teams, sensor teams, hardware teams, and project managers.
Technical Leadership & Ownership: Demonstrated ability to take full ownership of a complex software component, guiding its development from high-level design through implementation, testing, and maintenance.
Team Leadership & Guidance: Demonstrated ability to lead a small team of colleagues and purchased services to deliver against program timings and software release schedules, coordinating individual skill sets with the required tasks. Where