Embedded Software Engineer
Electrical Engineering | San Jose, CA | Full Time
Tula Technology, Inc. is a Silicon Valley based supplier of Dynamic Skip Fire (DSF®), a software enabled powertrain technology that integrates advanced digital signal processing with sophisticated powertrain controls to create the ultimate variable displacement engine. Tula’s technology delivers optimal fuel efficiency across a wide range of engine types to the world’s automotive manufacturers, helping them meet fuel efficiency and CO2 mandates at the lowest cost. With headquarters in San Jose, CA, and an engineering center in Plymouth, MI, Tula brings together the best of Silicon Valley and automotive expertise, resulting in over 50 patents issued or allowed and over 80 U.S. and international patents pending.
The Embedded Software Engineer will work on the end-to-end design and development of embedded software for Tula’s advanced engine control products. You will join an enthusiastic team of developers to deliver high-quality, robust software implementing DSP and Controls algorithms for Tula’s next-generation engine efficiency technology.
- Develop software to implement Tula engine control algorithms
- Collaborate with other engineers on functionality, coding, and prototyping/testing
- Develop code in a structured manner with top-down architectural specification, with testing requirement considered
- Migrate development from MATLAB/Simulink models to functional code for target embedded CPU
- Use best practices for software development, including functional specs, code reviews, revision control and unit testing
- MS in CS or EE preferred with 3-5 years of industry experience
- Hands on experience in C and Simulink for embedded applications
- Strong coding skills with emphasis on well-structured coding and test methodology
- Experience in developing software for real-time applications (such as control or communications), understanding of real-time processing issues, and experience with bare metal environment
- Experience working with customers and documenting their requirements
- Effective communication skills (both oral and written) and a positive, team-oriented attitude
- Ability to work in a dynamic start-up environment where initiative is a must, including the flexibility to work in multiple aspects of software release process.
- Experience with Automotive Embedded (Infineon or NXP ECU’s) code build (linker scripts and makefiles), testing and deployment (as object code)
- Assembly programming experience
- Rust and C integration experience
- Aptitude for algorithmic development and/or implementation in Simulink
- Experience in automotive engine control algorithm development, implementation, and calibration including working knowledge of CAN or OBD-II protocols and MISRA standards
- Verification and validation at MIL, SIL, and HIL levels
- Experience developing software for automotive MCUs such as PowerPC (MPC5xx), Tricore (Aurix, etc.)