May Mobility is transforming cities through autonomous technology to create a safer, greener, more accessible world. Based in Ann Arbor, Michigan, May develops and deploys autonomous vehicles (AVs) powered by our innovative Multi-Policy Decision Making (MPDM) technology that literally reimagines the way AVs think.
Our vehicles do more than just drive themselves - they provide value to communities, bridge public transit gaps and move people where they need to go safely, easily and with a lot more fun. We’re building the world’s best autonomy system to reimagine transit by minimizing congestion, expanding access and encouraging better land use in order to foster more green, vibrant and livable spaces. Since our founding in 2017, we’ve given more than 300,000 autonomy-enabled rides to real people around the globe. And we’re just getting started. We’re hiring people who share our passion for building the future, today, solving real-world problems and seeing the impact of their work. Join us.
Embedded Systems @ May
Spanning both hardware and software roles, the ADK Embedded Systems team is integral to the design and integration of our vehicle platforms. Team members develop custom, cutting-edge hardware and firmware, frequently working across functional teams with Autonomy, Software and Data Infrastructure, and Vehicle Integration. Whether it’s sourcing and integrating new sensors to build out and improve our autonomous shuttle platform, or creating hardware that’s never been built before, we are looking for leaders that want to build embedded systems that will change the world. With our talented team, your work will push the envelope of what is possible in autonomous vehicles today.
- As the ADK architecture product owner, define, monitor and track system, component, and software performance requirements.
- Ensure ADK architecture and performance metrics are aligned to the relevant product roadmaps
- Leads the selection and benchmarking of major components, ECUs, compute,... by working closely with suppliers and the May purchasing team.
- Design and implement innovative solutions for redundant power distribution, communication, and computing infrastructure in autonomous vehicles.
- Ensure proper ADK implementation of vehicle functional safety requirements.
- Document ADK system architecture, including ECU and component level connectivity.
- Account for DFMEA and functional safety requirements in the ADK architecture design.
- Design and document the software architecture for internally developed ADK ECUs.
- Mentor ADK software engineers and review work software development products.
- Expert on implementation of Jira/Gitlab configuration management best practices.
- Develop and maintain embedded software for an autonomous vehicle.
- Understand all aspects of our vehicle to design tightly-integrated solutions to challenging problems.
- Implement embedded software, drivers, and firmware in C from high level design specifications.
- Work across functional teams to carry embedded systems through design, test, deployment, and maintenance.
- Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, or similar field.
- 5+ years work experience and / or project team experience in embedded systems.
- Experience defining requirements for safety-critical systems.
- Expert knowledge of TCP/IP protocol stack and networking fundamentals.
- Knowledge of industrial and automotive communication standards such as CAN, LIN, RS-422/485, Traditional Ethernet, and Automotive Ethernet.
- Expert in developing application models in Matlab Simulink for embedded systems.
- Expert knowledge of Jira/Gitlab tool sets.
- Demonstrated foundation in data structures and algorithms including the ability to solve complex problems with elegant solutions.
- Proficiency writing embedded code in C.
- Good communication skills and ability to work across functional teams.
- Master’s degree in Computer Engineering, Computer Science, Electrical Engineering, or similar field.
- Experience developing automotive-grade or rugged computing hardware.
- Experience with Linux kernel, BSP, or device driver development.
- Proficiency in scripting languages (e.g. Python, bash, etc.).
- Experience developing for bare metal/state based, RTOS, and/or Linux operating system environments.
- Experience implementing hardware device drivers and communication protocols such as UART, SPI, I2C, and CAN.
- Ability to read electrical schematics and use oscilloscopes and logic analyzers to debug embedded software.
Want to learn more about our culture & benefits? Check out our website!
May Mobility is an equal opportunity employer. All applicants for employment will be considered without regard to race, color, religion, sex, national origin, age, disability, sexual orientation, gender identity or expression, veteran status, genetics or any other legally protected basis. Below, you have the opportunity to share your preferred gender pronouns, gender, ethnicity, and veteran status with May Mobility to help us identify areas of improvement in our hiring and recruitment processes. Completion of these questions is entirely voluntary. Any information you choose to provide will be kept confidential, and will not impact the hiring decision in any way. If you believe that you will need any type of accommodation, please let us know.
Note to Recruitment Agencies: May Mobility does not accept unsolicited agency resumes. Furthermore, May Mobility does not pay placement fees for candidates submitted by any agency other than its approved partners.