Software Engineer - Embedded Software
Pittsburgh Robotics Network · Pittsburgh, PA · 2 mo ago
EngineeringFull-time
Who We Are
Carnegie Robotics designs and manufactures advanced robotics systems and components for defense, agricultural, mining, industrial, and off-road autonomy applications. Our ruggedized solutions can meet the challenges of any industry, providing effective and efficient answers for even the toughest problems.
Who We’re Looking For
We are a dynamic team committed to making the impossible possible. Our staff comes from diverse backgrounds and experience levels, fueling our ethos of collective growth and passion towards our work. We warmly welcome individuals of similar mindset to join our ranks.
Roles and Responsibilities
- 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
- 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
- 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