Lead Embedded Software Engineer
Job Description
About Recogni
Recogni’s mission is to design a vision-oriented artificial intelligence system for autonomous vehicles from the ground up. The system will deliver unprecedented inference performance through novel edge processing, allowing vehicles to see farther and make driving decisions faster than humans while consuming minimal amounts of energy. We’re looking for self-motivated team members who crave a challenge and feel energized to roll up their sleeves and help realize Recogni’s enormous potential.
Backed by Celesta Capital, Continental, Robert Bosch, GreatPoint Ventures, Toyota AI Ventures, BMW i Ventures, The Mayfield Fund, and other leading VC partners, the company is headquartered in San Jose, California with additional operations in Munich, Germany. We value having diverse teams and want you to grow as we grow—whether you’re just starting out in your career or managing a large team, you’ll be amazed at the magnitude of your impact.
About the role
As a senior member of Recogni's embedded software team, you will be responsible for implementing the software that runs inside a high-performance and low-power convolutional neural network accelerator ASIC that forms the core of the company's flagship perception module product for autonomous driving applications.
Running in the ASIC, this software orchestrates the computational accelerators and system interfaces to form an end-to-end vision perception module that achieves record-breaking computational performance at low power, interfacing with an autonomous vehicle's central path planning system from multiple points on the vehicle. Your responsibilities will be wide-ranging and and run the gamut of full firmware lifecycle including design, development, debugging and ongoing sustaining engineering.
Responsibilities
- Work as a principal technical contributor in the definition, design, implementation and verification of the embedded software of a high-performance AI-based camera and perception module for ADAS systems.
- Utilize formal design processes to develop embedded software that meets the high-reliability and functional safety requirements of the the perception module.
- Contribute to the selection, integration and debug of real-time operating systems (RTOS).
- Integrate (or develop where necessary) low-level I/O drivers (e.g. Automotive Ethernet, USB, GPIO, etc.).
- Implement cryptographic integrity checking, secure boot (with hard time-to-operational requirements) and over-the-air update lifecycle functionalities for the embedded software.
- Collaborate with hardware engineers designing application-specific integrated circuits (ASIC) in the selection of embedded CPU cores (e.g. ARM, RISC-V, etc.), as well as supporting functionality variants of those cores (e.g. MMU, MPU, VLIW vector units, etc.).
- Perform system bringup, debugging and testing.
- Perform requirements analysis and author high-level and detailed requirements.
- Troubleshoot software issues and fix defects.
- Write test specifications and integration tests.
- Architect and maintain automated software build flows, integrate with continuous integration (CI) systems, and author scripts and utilities.
Qualifications
- B.S. (M.S. preferred) in Computer Science, Electrical or Computer Engineering or a related field.
- 10+ years of experience developing embedded software.
- Excellent proficiency in C/C++ programming coupled with a genuine passion for embedded software development.
- Experience with low-level RTOSes (QNX, vxWorks, ThreadX, etc.) and developing device drivers for them.
- Experience with embedded development IDEs and debuggers (gdb, lldb, etc.) and JTAG-based debugging.
- Experience with embedded development tool-chains and cross-compilation methodologies.
- Experience with multiprocessor-based embedded systems.
- Experience with software architecture, development and testing best practices.
- Experience with automated software testing systems for embedded systems.
- Experience with with standard hardware blocks and protocols (MIPI, PCIe, USB, GPIO, I2C, SPI, UART, MMU, DMA, etc.).
- Some experience working with safety critical systems with exposure to DO-178C or ISO 26262 preferred, but is not a must.
- Demonstrable proficiency with test equipment relevant to embedded product development (JTAG, logic analyzers, scopes, etc.).
- Ability to comprehend hardware specs and schematics.
- Familiarity with version control systems (expertise in Git is strongly-preferred).
- Self-starter and highly-motivated to work in a dynamic start-up environment.
Reasons to consider joining Recogni:
- Ground floor opportunity with the team; be part of shaping one of the most exciting new companies.
- Learning and development opportunities from a highly diverse and talented peer group, including experts in a wide range of fields, from Artificial Intelligence & Computer Vision to Systems & Device Engineering.
- Competitive benefits package including 401k, Medical+Dental+Vision+Life insurance, and Short+Long Term Disability coverage
- Perks including meals, snacks, drinks and us!
- Sharp, motivated co-workers in a fun office environment
- Employee Stock Plan
- Flexible work hours & generous PTO policy
Recogni's culture was built on the following values that are equally important to us as business:
- Put people first. We only succeed when our people succeed.
- Ethics and integrity always; Being open, honest, and respectful of everyone.
- Think Big. Be ambitious and have audacious goals.
- Aim for excellence. Quality and excellence count in everything we do.
- Own it and get it done. Results matter!
- Make Each Person Better together than they would be as an individual.
- Embrace each others’ differences.
- Embrace that there will be differences.
Recogni is an equal opportunity employer. We believe that a diverse team is better at tackling complex problems and coming up with innovative solutions. All qualified applicants will receive consideration for employment without regard to age, color, gender identity or expression, marital status, national origin, disability, protected veteran status, race, religion, pregnancy, sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
A note to Recruitment Agencies: Please don’t reach out to Recogni employees or leaders about our roles -- we’ve got it covered. We don’t accept unsolicited agency resumes and we are not responsible for any fees related to unsolicited resumes. Thank you for your understanding.
Explore More
Date Posted
11/19/2023
Views
15
Similar Jobs
Senior Front-End Software Engineer - Percipient.ai
Views in the last 30 days - 0
Percipientai founded in 2017 is a cuttingedge technology company specializing in Computer Vision Artificial Intelligence and Deep Learning They develo...
View DetailsPrincipal Software Engineer (Prisma Access) - Palo Alto Networks
Views in the last 30 days - 0
Palo Alto Networks is a cybersecurity company committed to protecting the digital way of life They are seeking a Principal Software Engineer to build ...
View DetailsPrincipal Engineer Software (Full Stack Developer) - Palo Alto Networks
Views in the last 30 days - 0
Palo Alto Networks is seeking a Senior FullStack Engineer to develop and maintain highperformance web applications collaborating with crossfunctional ...
View DetailsStaff Flight Test Engineer - Wisk
Views in the last 30 days - 0
Wisk Aero is seeking a Staff Flight Test Engineer to join their team in Hollister CA The role involves ensuring safe and efficient flight testing and ...
View DetailsSenior Developer, Data Engineer - Tarana Wireless, Inc.
Views in the last 30 days - 0
Tarana is seeking a Senior DeveloperData Engineer with 5 years of experience in building largescale data pipelines The role involves designing buildin...
View DetailsStaff Engineer, System Design Verification Engineering - Western Digital
Views in the last 30 days - 0
Western Digital is seeking a validation engineer to define and track test plans characterize and optimize SSDs and lead bug review meetings The ideal ...
View Details