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.
At NREC, you will shape the robotics revolution by tackling real-world challenges in agriculture, manufacturing, defense, energy, and much more. You will work alongside top robotics experts, develop ground breaking technologies, and see your deployed in the field.
NREC at a Glance:
- Located in Pittsburgh or “Roboburgh”, a hub for over 120+ robotics companies
- 30+ years of pioneering robotics research
- 150+ professionals driving innovation and real-world impact
- Part of Carnegie Mellon University’s Robotics Institute, a global leader in robotics
NREC also leads in educational outreach through its , which develops curricula and software for K–12 and college-level students. You will also have opportunities to engage with these student groups through outreach activities.
As part of our team, you will have the flexibility to grow your career - whether becoming a technical expert, leading projects, mentoring others, or exploring new pathways and making an impact in developing technologies that drive progress, improve safety and transform industries.
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 to learn more about becoming part of an institution inspiring innovations that change the world.
- Click to view a listing of employee benefits