Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.
As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.
We operate development centers in Plymouth, Michigan; Southern California (Irvine, Carson & LA); Silicon Valley (San Jose and Palo Alto); Vancouver, British Columbia; and Surrey, England; as well as a manufacturing facility in Normal, Illinois.
About the team:
Rivian’s Connectivity team is responsible for connecting our products to web, cloud and personal devices. The team consists of software and systems engineers with backgrounds in Bluetooth, LTE, GPS, Wi-Fi, M2M, Linux and Android.
As a Principal Board Support Package Engineer, this is what you'll do:
- Develop embedded platform software for Telematics system
- Lead board bring up activities and develop board diagnostics in close collaboration with hardware engineers
- Develop firmware, device drivers, hardware abstraction layers
- Test and validation of firmware and software components to ensure highest code quality
- Optimize system performance, storage, networking and power utilization
- Collaborate with chip vendors to modify and integrate firmware components, modules and libraries
- Work with cross-functional teams - DevOps, Middleware and application developers to ensure build system is serving the team’s needs
This is what you'll need:
- BS/MS in Computer science, Computer engineering, Electrical engineering or equivalent with 7+ years of firmware development experience in wireless or electronics industry
- 5+ years of development experience with embedded Linux, board support package, drivers and networking stacks
- Strong technical competency in boot loaders, U-Boot and firmware updates
- Very strong C programming skills
- Strong analytical skills, excellent communications skills and take ownership to deliver results
- Proficient with C++ and python or other scripting languages
- Solid working knowledge in one or more wireless technologies like 802.11x, Bluetooth, GPS or LTE
- Extensive kernel experience
- Contributions to open source projects
- Good understanding of ARM architectures
- Familiar with secure boot, HSM, Trust Zone
- Strong Linux Kernel fundamentals
- Experience with developing software and device drivers for Embedded Linux
- Experience with board bring-up
- Experience with Real Time Operating Systems and architectures
- Experience in reading data sheets
- Working knowledge of device drivers and peripherals such as I2C, UART, SPI, PCIe, RGMII, SGMII
- Working knowledge of Yocto Linux and writing BitBake Recipes
Rivian is an Equal Opportunity Employer and Prohibits Discrimination and Harassment of Any Kind: Rivian is committed to the principle of equal employment opportunity for all employees and to providing employees with a work environment free of discrimination and harassment. All employment decisions at Rivian are based on business needs, job requirements and individual qualifications, without regard to race, color, religion or belief, family or parental status, or any other status protected by the laws or regulations in the locations where we operate. Rivian will not tolerate discrimination or harassment based on any of these characteristics. Rivian encourages applicants of all ages.
We take your privacy seriously. For details please see our Candidate Privacy Notice.