Metropolis is seeking to develop and deploy frictionless, checkout-free experiences in the real world using computer vision technology and is looking for a Senior Manager of Embedded Software to lead software development for field deployed custom hardware systems.
Requirements
- Experience designing software for embedded microcontrollers (ARM, PIC, etc.) and Embedded Linux (Yocto, Ubuntu, Debian, etc.) in a production environment
- Expert level knowledge of at least one modern embedded language, such as C/C++ or Rust, including object-oriented design
- Experience contributing to the designs and architectures of both new and existing software systems, including design patterns, reliability, test strategy and scaling
- Experience in development and test of common embedded hardware interfaces (GPIO, ethernet, USB, etc.)
- Experience with real time software development, including RTOS, bare metal embedded systems, and/or Linux kernel/device drivers
- 8+ years of embedded software development experience, with at least 2+ years of experience leading and managing embedded software teams
- 2+ years of experience as a hands-on senior, staff or principal engineer with demonstrated end-to-end ownership of an embedded software project before transitioning into managing teams
Responsibilities
- Lead the Embedded Software team to design and build embedded software that enables, integrates, and operates the field deployed Metropolis hardware platform.
- Guide the teams technically, engaging in architecture definition, implementation of best practices, and hands-on troubleshooting when needed.
- Mange the team through all phases of embedded software development, from concept and design to deployment and maintenance.
- Collaborate with other Engineering and Product teams to evaluate requirements and use cases for new systems.
- Identify top level embedded software requirements and establish development best practices.
- Work with Hardware Engineering and Technical Operations to support hardware bring-up, debug and deployment.
- Invest in the career development of the team members, develop future leaders, and create a culture of cohesion and teamwork.
Other
- BS in CS/ECE or related engineering discipline
- Excellent written and verbal communication skills with a proven ability to present complex technical information in a clear and concise manner to a variety of audiences
- Previous experience working inside innovative, high-growth environments is a plus
- Participate in talent acquisition processes to ensure that we have world class engineers across all skill and experience levels
- Establish metrics to measure the productivity of the team, hold people accountable and identify people issues early