Work on proof of concepts and implementation for next generation digital cockpit and infotainment system experiences.
Collaborate with software developers, test engineers, designers, technical artists, technical product managers, and leads to champion best-in-class quality and functionality throughout the full life cycle of product development.
Deliver code for graphical user-interfaces, middleware, and services.
Deliver and support the application for multiple full release lifecycles.
The component will be part of a complex application ecosystem, including client and multiple servers, displays on multiple screens, databases, thread synchronization, networking, etc.
Lifecycle activities include working with visual designs and functional requirements, defining software architecture, developing, testing, shipping, and supporting applications with postmortem, crash, and stability analysis.
Requirements
Master’s degree or foreign equivalent in Computer Engineering, Electrical Engineering or related field and 3 years of experience in the job offered or related occupation.
2 years of experience with each of the following skills is required: 1. Debugging, profiling, and performance optimization using Helgrind, ThreadSanitizer, AddressSanitizer, Perfetto, systrace, and performing core dump analysis using GDB or Addr2line. 2. Enhancing code inspection value using Cppcheck or compiler sanitizers, and code review platforms, including GitHub PR reviews. 3. Automotive software development, including applying A-SPICE and ISO26262 safety standards, automotive cybersecurity (ISO/SAE 21434) standards, interpreting CAN signals, using AUTOSAR, and using applicable lab tools for logic and protocol analysis. 4. Designing, implementing, and optimizing multi-threaded embedded software for real-time Posix operating systems using C++ 17 or C++ 20. 5. Developing reusable GUI infotainment components, views, and state machines. 6. Design and implement inter-process communication (IPC) using sockets and shared memory mechanisms to coordinate across components and services. 7. Debugging with GNU toolchain and code analysis tools to detect and fix crash, stability, memory, and performance defects. 8. Design and implement GUI components that maintain high responsiveness using thread-safe data models and state machines. 9. Manage concurrency for input handling, real-time signal updates, and rendering updates across multiple displays. 10. Leverage thread pools, executors, and asynchronous job schedules to optimize UI thread performance. 11. Designing UX software architecture using UML, developing comprehensive test plans for the software, and providing support throughout the entire product development lifecycle, including testing, deployment, and post-mortem analysis.
1 year of experience with each of the following skills is required: 1. Performing failure mode and effects analysis (FMEA). 2. Android application development for automotive infotainment, including user-facing modules, lifecycle-aware architecture, and integration with system services.
Benefits
Immediate medical, dental, and prescription drug coverage
Flexible family care, parental leave, new parent ramp-up programs, subsidized back-up child care and more
Vehicle discount program for employees and family members, and management leases
Tuition assistance
Established and active employee resource groups
Paid time off for individual and team community service
A generous schedule of paid holidays, including the week between Christmas and New Year's Day
Paid time off and the option to purchase additional vacation time.
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
C++ 17C++ 20multi-threaded embedded softwarereal-time Posix operating systemsdebuggingprofilingperformance optimizationinter-process communication (IPC)automotive software developmentAndroid application development
Soft skills
collaborationcommunicationproblem-solvingleadershipquality assuranceorganizational skillscritical thinkingattention to detailadaptabilitycreativity
Certifications
Master’s degree in Computer EngineeringMaster’s degree in Electrical EngineeringISO26262A-SPICEISO/SAE 21434