Software Engineer - Embedded Software

Carnegie RoboticsPittsburgh, PA
Onsite

About The Position

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. 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. For this role, we are seeking a solid Embedded Software Engineer who can take full end-to-end ownership of software for our robotics components and systems. Whether your background is strictly in lower-level microcontrollers, real-time operating systems, or bridging the gap between hardware and high-level algorithms, we are looking for someone who can write robust code, integrate complex sensors, and thrive in a hands-on robotics environment.

Requirements

  • 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++

Nice To Haves

  • 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.

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.

Benefits

  • 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
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service