Senior Software Engineer
Company: Recogni
Location: San Jose
Posted on: March 17, 2023
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 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 software of a
high-performance AI-based camera and perception module for ADAS
systems.
- Utilize formal design processes to develop 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.
- 3+ 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.
Keywords: Recogni, San Jose , Senior Software Engineer, IT / Software / Systems , San Jose, California
Didn't find what you're looking for? Search again!
Loading more jobs...