Roles and Responsibilities (What You'll Do) As an Embedded Software Engineer, you will collaborate with an interdisciplinary team to bring our robotic systems to life. Your day-to-day responsibilities will include:
- Create software for robotics components and systems, including algorithms, high-level C++, lower-level C code, and user interfaces.
- Test software in system integration laboratories, simulation, and on fully-realized robots.
- Analyze system performance through the use of data logs and the creation of post-processing software and scripts.
- Troubleshoot and debug complex hardware-software interactions on embedded targets, utilizing software debuggers, profilers, and hardware lab equipment.
- Work in the design space by writing use cases and software specifications, and hold and participate in design reviews and coding peer reviews.
- Work with sensors and lower-level technologies like serial buses, i2c, SPI, and CAN.
- Integrate different sensor, actuator, and computing technologies into robotic systems.
- Document software using industry-standard best practices.
- Conform to company policies regarding confidentiality, software licensing, and export control restrictions.
Qualifications (What We're Looking For) - Work Authorization: Authorization to work in the U.S. without restriction is required. The company is unable to provide sponsorship for this position.
- Excellent software engineering habits.
- Familiarity with development in Linux-based environments.
- Experience with version control systems such as Git.
- Working knowledge of software debugging and profiling tools.
- Experience with embedded systems and real-time operating systems.
- Strong experience developing software with either C or C++
Preferred but not required Qualifications (How You'll Stand Out) - Experience developing software with Rust for embedded applications.
- Experience with NVIDIA Jetson, IMX8, STM32.
- Direct experience with specific Real-Time Operating Systems (RTOS) such as FreeRTOS, Zephyr, or QNX.
- Familiarity with functional safety standards (e.g., ISO 26262) and secure coding guidelines (e.g., MISRA C/C++).
- Familiarity with heavy-duty or off-road vehicle networks, such as SAE J1939.
What You'll Get Out Of It - UPMC health coverage with FSA or HSA options
- Comprehensive dental, vision, and life insurance
- Fidelity 401(k) plan with employer match
- Free catered lunch every day with a vegan option
- 31 Days of PTO (including holidays)
- Comp time for company travel