Title: Sr. Embedded Engineer
Location: 100% onsite – Palo Alto, CA
Duration: 12 Months Contract
Summary
We are looking for a Senior Embedded Software Engineer. Our team focusses on providing software stack for Design Verification of the PCBAs & ECUs (Electronic Component Units) for current and next gen vehicle platforms (Autonomy, Infotainment, Vehicle Controls etc.) . You will be writing device drivers for the PCBA components, doing s/w prototypes for early "h/w + s/w co-designs". You will get a chance to work with some of the smartest minds in developing embedded h/w + s/w stack for this rapidly evolving EV industry.
Responsibilities
- Work with h/w and s/w architects to collaborate on next gen platform architecture with various SoCs and the software stack.
- Design, develop and deploy embedded software on RTOS for board bring-up, verification, and debugging of automotive electronics.
- Collaborate across multiple disciplines to deliver quality code, debug complex problems, prioritize and get things done with a high level of efficiency and urgency.
- Ability to debug in real time across s/w and h/w stack to understand the real issue and provide solution, work and collaborate with multiple teams if needed.
- Ability to crisply communicate with peers, stakeholders, customers, technical leaders and OEMs/ODMs.
Required Qualifications
- Bachelor’s or Master’s degree in Computer Science/Engineering or related field
- 7+ years' experience in Embedded Software Development
- Good understanding of Linux and/or RTOS fundamentals, Board Support Pkgs, kernel configuration, device driver interfaces, debugging tools etc.
- Good debugging skills with an ability to work across orgs/teams
- Experience using Lauterbach, Oscilloscope, JTAG, Flashing Tools etc
- Good understanding of interface protocol stacks (SPI, I2C, Ethernet, PCIe), and board bring-up
- Experience with scripting language (Python, shell)
Preferred Skills
- Knowledge of OS internals (process scheduler, memory management, concurrency, synchronization, storage)
- Knowledge of hypervisor, virtualization in automotive industry.
- Experience with ARM cores and architecture
- Experience in using electronic test equipment for debugging at the hardware level
- Experience with embedded toolchains (compilers, linkers, linker scripts)