Software Engineer - Embedded Software

Carnegie Robotics

$90K — $120K *
Consumer Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Authorization to work in the U.S. without restriction.
  • Excellent software engineering habits.
  • Familiarity with Linux-based environments.
  • Experience with version control systems like Git.
  • Knowledge of debugging and profiling tools.
  • Experience with embedded systems and real-time operating systems.
  • Strong C or C++ programming skills.

Responsibilities

  • Create software for robotics components, including algorithms and UIs.
  • Test software in labs, simulations, and on fully-realized robots.
  • Analyze system performance using data logs and post-processing scripts.
  • Troubleshoot and debug hardware-software interactions on embedded targets.
  • Develop use cases and specifications, and engage in design and code reviews.
  • Work with sensors and technologies like serial buses, i2c, SPI, and CAN.
  • Integrate various sensor, actuator, and computing technologies into systems.

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 daily with a vegan option.
  • 31 Days of PTO including holidays.
  • Comp time for company travel.
Full Job Description
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

Similar Jobs

More Jobs at Carnegie Robotics

More Consumer Technology Jobs

Find similar Software Engineer - Embedded Software jobs: