Description
In this position, you will own the base software platform beneath the application layer for high-voltage battery management controllers , the real-time operating system, hardware abstraction, drivers, communication stacks, software update mechanism, and security foundation.
Assignments may include string-level or system-level battery management controllers and may shift across the product architecture over the life of the program.
The ideal candidate has brought up embedded hardware from first power-on, written drivers from datasheets, integrated and hardened communication stacks, and owned a production software update path.
Responsibilities
- Own board bring-up and hardware abstraction: clocks, memory, timers, interrupts, watchdog, and system basis chip integration.
- Configure and maintain the real-time operating system and scheduling architecture; own task partitioning, timing budgets, and runtime monitoring.
- Develop and integrate device drivers for cell monitoring front-end devices, voltage and current measurement, isolation monitoring interfaces, analog and digital I/O, high-side drivers, discrete inputs and outputs, and non-volatile storage.
- Own communication stacks and services, including automotive serial networks and diagnostic services.
- Own the bootloader and the software flashing, update, and rollback mechanism, including update across multiple controllers.
- Implement secure boot, secure flashing, secure debug access, signed image verification, and hardware security module key handling, in partnership with cybersecurity engineering.
- Own persistent data logging and event storage, including storage media management, retention, and retrieval.
- Own the embedded build environment, static analysis, unit test framework, and continuous integration pipeline.
- Integrate application, controls, and algorithm software onto the platform; support application engineers with debug, tracing, and runtime measurement.
- Define and document the base-software-to-application interface so application development can proceed independently of the platform.
- Support supplier software assessment and technical transfer.
- Debug at the hardware level with oscilloscopes, logic and protocol analyzers, and on-chip debuggers.
Qualifications
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 5+ years developing embedded software in C for resource-constrained real-time systems.
- Strong microcontroller architecture fundamentals: memory maps, interrupts, DMA, timing, and determinism.
- Production experience with a real-time operating system or equivalent scheduling framework.
- Driver development from datasheets and hands-on hardware debug experience.
- Communication protocol implementation experience including CAN or CAN FD.
- Bootloader, flashing, or software update implementation experience.
- Version control, code review, and continuous integration discipline.
- Strong written and verbal communication skills.
- Ability and willingness to travel occasionally
Benefits
- Immediate medical, dental, vision and prescription drug coverage
- Flexible family care days, paid parental leave, new parent ramp-up programs, subsidized back-up child care and more
- Family building benefits including adoption and surrogacy expense reimbursement, fertility treatments, 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.
This listing is enriched and indexed by YubHub. To apply, use the employer's original posting:
https://efds.fa.em5.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1/job/72570