Simplify Logo

Full-Time

Lead Embedded Software Engineer

Posted on 11/30/2023

Recogni

Recogni

51-200 employees

High-performance AI inference for real-time object recognition

Automotive & Transportation
Hardware
AI & Machine Learning

Senior, Expert

San Jose, CA, USA

Category
Embedded Engineering
Security Engineering Management
Software Engineering
Required Skills
Software Testing
Git
Operating Systems
Requirements
  • 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.
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.

Recogni specializes in high-performance, low-power AI inference solutions, offering the world's first Peta-Op class inference solution for real-time object recognition, enabling superhuman object detection accuracy up to 1000m and providing the industry's lowest latency and highest power efficiency. The company's technology allows for processing high-resolution camera data in real-time, enabling self-driving cars to navigate without human intervention under any condition.

Company Stage

Series C

Total Funding

$233.1M

Headquarters

San Jose, California

Founded

2017

Growth & Insights
Headcount

6 month growth

21%

1 year growth

29%

2 year growth

56%
INACTIVE