Carnegie Mellon University

Senior Software Engineer - NREC

Carnegie Mellon University • $110K — $130K *
Technical Services
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • B.S. in Computer Science, Engineering, Mathematics, or equivalent with 5+ years of software development experience.
  • Strong mastery of modern C++ in a Linux environment with a focus on clean, maintainable system architectures.
  • High proficiency in Python or similar scripting languages for data analysis and automation.
  • Practical experience with network protocols, IPC, and real-time data streaming.
  • Exceptional technical communication skills with a focus on team collaboration and mentorship.
  • Strong understanding of software engineering concepts applied to physical systems, including sensor integration and state machines.
  • Familiarity with Git workflows, code reviews, and automated testing frameworks.

Responsibilities

  • Design and develop software applications for robotic and general-purpose systems.
  • Drive high-level software architecture and system requirements balancing scalability with hardware constraints.
  • Collaborate with hardware engineers and product leads to translate operational needs into technical specifications.
  • Mentor junior engineers through code reviews and technical guidance.
  • Build and maintain development tools and CI/CD pipelines for robotic systems.
  • Prototype state-of-the-art techniques in C++ and Python to address challenging robotics problems.
  • Lead full-lifecycle testing and support operators in diagnosing field issues.

Benefits

  • Collaborative work environment that encourages hands-on skills and leadership.
  • Opportunities for mentorship and influencing the next generation of innovators.
  • Engagement in meaningful projects with direct operational impact.
Full Job Description
We are seeking a dynamic Senior Software Engineer to contribute to both existing and upcoming projects. In this role, you will develop software that powers advanced robotic systems while collaborating with internal teams and external sponsors across all stages of the product lifecycle. Our team brings together diverse backgrounds from robotics and adjacent industries to build robust, practical software and firmware, supporting applications that range from industrial operator-assist systems to agricultural productivity tools and autonomous safety platforms.

On a day-to-day basis, you will program and interface with custom sensors and hardware, debug prototype systems, and integrate software modules into complex, end-to-end platforms. Ultimately, you will play a key role in advancing our mission to pioneer high-impact robotics, ensuring our team consistently delivers groundbreaking results.

Your primary responsibilities include:

Design, develop, document, test, troubleshoot, and maintain software applications and integrated systems for both robotic and general-purpose applications. This may include:
  • Architect & Build Complex Systems: Design, develop, document, test, troubleshoot, and maintain core software applications and integrated systems for both robotic platforms and supporting infrastructure.
  • Technical Leadership & Architecture: Drive high-level software architecture, data pipelines, and system requirements, balancing long-term scalability with real-world hardware constraints.
  • Cross-Functional Collaboration: Partner closely with hardware engineers, UI/UX developers, product leads, and project sponsors to translate complex operational needs into clear technical specifications and robust solutions.
  • Mentorship & Team Growth: Actively mentor and support junior and mid-level engineers through constructive code reviews, technical guidance, and championing collaborative development practices.
  • Tools, Infrastructure & Communication: Build and maintain development tools, CI/CD pipelines, logging/telemetry tools, and network communication protocols for real-time robotic systems.
  • R&D and Continuous Innovation: Survey modern literature, benchmark open-source packages, and prototype state-of-the-art techniques (in C++ and Python) to solve novel, challenging robotics problems.
  • Full-Lifecycle Testing & Field Support: Lead testing across the complete lifecycle, from unit tests and simulation to hands-on testing with physical robot hardware, and support operators by diagnosing and resolving field issues.


Required Qualifications:

  • Education & Experience: B.S. in Computer Science, Engineering, Mathematics, or equivalent experience, with 5+ years of professional software development experience (including advanced academic research).
  • Advanced C++ & System Architecture: Strong mastery of modern C++ in a Linux environment, with a track record of designing clean, maintainable, and efficient system architectures.
  • Rapid Prototyping & Scripting: High proficiency in Python (or similar scripting languages) for data analysis, automation, and quick technical validation.
  • System & Network Communications: Practical experience with network protocols, IPC (Inter-Process Communication), hardware driver integration, or real-time data streaming.
  • Inclusive Leadership & Communication: Exceptional technical communication skills, with a proven ability to explain complex concepts clearly, listen actively, and foster a supportive team environment.
  • Robotics & Hardware Systems Context: Strong foundational understanding of software engineering concepts applied to physical or cyber-physical systems (e.g., state machines, sensor integration, or computer vision basics).
  • Engineering Rigor: Deep familiarity with Git workflows, code reviews, automated testing frameworks, and bug tracking systems.


We especially want to hear from you if you have experience or qualifications in any of the following areas:

  • Experience with robotics middleware or simulation environments (ROS / ROS 2, Gazebo, or custom middleware).
  • Domain expertise in computer vision, motion planning, machine learning, kinematics, or graphics.
  • Experience in embedded Linux, real-time systems (RTOS), or developing low-level hardware drivers.
  • Background in data management, telemetry pipelines, or scientific computing.
  • Experience leading technical projects or serving as a scrum master/tech lead in an agile, cross-functional team.


Other Requirements:
  • Successful pre-employment background check


This position will require work on a variety of projects, including projects that involve military/defense applications and/or are funded by military/defense sponsors.

Are you interested in joining our versatile team at NREC where you will have a direct impact on operations and meaningful projects?

Join a collaborative environment where your hands-on skills, leadership, and mentorship will directly influence operations and inspire the next generation of innovators.

Location
Pittsburgh, PA
Job Function
Software/Applications Development/Engineering
Position Type
Staff - Regular
Full Time/Part time
Full time
Pay Basis
Salary
More Information:

  • Please visit "Why Carnegie Mellon" to learn more about becoming part of an institution inspiring innovations that change the world.
  • Click here to view a listing of employee benefits

About Carnegie Mellon University

Carnegie Mellon University is a private research university that was founded in 1900. The university is located in Pittsburgh, Pennsylvania and is known for its programs in computer science, engineering, and the arts. Carnegie Mellon has a diverse student body and offers undergraduate and graduate programs in a variety of fields. The university has a strong focus on research and has partnerships with a number of companies and organizations. Carnegie Mellon is consistently ranked among the top universities in the United States.
Learn more about Carnegie Mellon University
Size
14,000 employees
Industry

Similar Jobs

More Jobs at Carnegie Mellon University

More Technical Services Jobs

Find similar Senior Software Engineer - NREC jobs: