Glydways is reimagining public transit by creating a groundbreaking network of carbon-neutral, interconnected transit pathways. The Embedded Software Engineer will design and test firmware for vehicles, collaborating with hardware and software teams to optimize performance and ensure seamless integration.
Responsibilities:
- Design, prototype, build, and test production embedded vehicle firmware
- Evaluate, implement, test, and optimize applications in a real-time operating system environment
- Working with algorithms teams to take advantage of unique hardware acceleration opportunities
- Evaluate, design, and implement both existing and custom communication protocols between devices and between compute modules
- Work with autonomy, hardware engineers, and software throughout the lifecycle of the vehicle - from device bring-up, to software deploy
- Work with test engineers and platform engineers in developing testing frameworks and harnesses at the unit, integration, and system levels
- MCU Boot
Requirements:
- Expert level knowledge of C or C++ programming; other languages and skills also valuable
- Strong knowledge of communication protocols, from low level (SPI, UART, CAN) to high level (TCP/UDP)
- Experience with RTOS environments, especially FreeRTOS/SafeRTOS
- Experience with time synchronization protocols such as NTP and PTP
- Experience with safety critical systems and processes
- Experience deploying firmware to multi device vehicles in a power safe way
- Familiarity with electronics test equipment and hardware debugging (multimeters, oscilloscopes, power supplies, etc)
- Device Driver experience
- Speed and size optimization for embedded/resource constrained platforms
- Software Development Life Cycle
- New hardware/board or SoC bring up
- Kernel internals/fundamentals
- Bonus points for experience within automotive and/or transit
- CAN and DBC knowledge is a plus