Senior Manager Embedded Software Engineering
Brain Corp is a San Diego-based AI company creating transformative core technology for the robotics industry. Our diverse teams in Software, Hardware Design, and Embedded Systems are creating comprehensive solutions to support the builders of today's autonomous machines in successfully producing, deploying, and supporting commercial robots across industries and applications. Brain Corp is funded by the SoftBank Vision Fund, Clearbridge, and Qualcomm Ventures. For more information please visit: https://www.braincorp.com/
As a member of the Technology team, the Senior Manager Embedded Software Engineering will lead the team of Firmware Engineers who will focus on writing safe, reliable firmware for integrating hardware and software for mobile robotic products. This position will allow you to leverage your technical engineering skills as well as people leadership to ensure the highest level of capability in the Firmware team. In particular, the person will be responsible for the support of the firmware for our existing fleet of machines (Flagship product line) and for continuing the development and adoption of our firmware platform (BrainRT *) that is empowering a new generation of machines. In addition, we are looking for a leader with expertise in control theory and system identification, as one of the goals is to abstract the motion control to be robust to different machine parameters (e.g. size, weight, footprint, motor controller, kinematics, dynamics, wheel slippage, etc)
* BrainRT is built on NuttX Operating System. It supports multiple chip manufacturers, robot platforms, and sensor configuration.
Duties and Responsibilities:
- Provide technical leadership and drive best practices for code development, review, testing, and deployment that will ensure high quality releases to production.
- Lead day-to-day management of the engineering teams including stand-ups and project prioritization.
- Articulate high-level technical strategies and product vision; encourage and facilitate technical discussions.
- Work with cross functional leaders to manage existing and new product development along with handling current production issues.
- Grow the team by sourcing, hiring and onboarding top talented and passionate engineers.
- Lead performance reviews and career development for new and existing engineers
- Lead the development of the BrainRT SDK
- Write, review, and test firmware code in C/C++.
- Other duties and projects as assigned.
What you need:
- Bachelor’s degree in Electrical Engineering, Computer Science, or Computer Engineering, or the equivalent in experience with evidence of exceptional ability.
- 8 years of experience in embedded C/C++ development in utilities, robotics, real-time controls, or system software.
- 3+ years of experience managing an embedded software engineering team.
- Exceptional leadership ability managing and leading medium to large firmware teams with a history of outstanding accomplishments.
- Expertise in system identification and control theory for autonomous vehicles (e.g. PID tuning)
- Experience in leading and managing the development of a common set of services and drivers in SDK releases.
- Experience with Interrupt driven, multithreaded Real Time operating systems.
- Experience with Debug shell over UART, Telnet. OpenOCD support.
- Extensive background in device development (consumer electronics, automotive, etc.).
- Extensive background in software architecture and firmware implementation on hardware through integration, test , high volume manufacturing and maintainability.
- Ability to collaborate and communicate complex technical concepts to a wide audience.
Things that make a difference:
- Master’s degree or PhD in Electrical Engineering, Computer Science, or Computer Engineering.
- Domain experience in robotics and/or autonomous vehicles is highly preferred.
- Experience with embedded microprocessor tools and microcontrollers is preferred.
- Experience managing development of automated validation systems to ensure high quality product releases.
- Experience meeting functional safety requirements is highly preferred.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. Essential functions may require maintaining the physical condition necessary for sitting, walking or standing for periods of time; operating a computer and keyboard; talk and hear at normal room levels; using hands to finger, grasp, and feel; repetitive motion; close visual acuity to prepare and analyze data and figures; transcribing; viewing a computer terminal; extensive reading; lift, push, carry, or pull up to 10 pounds.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. The noise level in the work environment is usually quiet to moderate. Employee is exposed to the typical office environment with computers, printers and telephones.