Senior Software Engineer - NREC
About the Role
At the National Robotics Engineering Center (NREC), you will contribute to both existing and upcoming projects as a Senior Software Engineer. 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. You will play a key role in advancing our mission to pioneer high-impact robotics, ensuring our team consistently delivers groundbreaking results.
Responsibilities
- Design, develop, document, test, troubleshoot, and maintain software applications and integrated systems for both robotic and general-purpose applications.
- Architect & Build Complex Systems: Design, develop, document, test, troubleshoot, and maintain core software applications and integrated systems for 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.
Requirements
- 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.
Preferred Qualifications
- 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.
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. Successful pre-employment background check is required.
About NREC
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 groundbreaking technologies, and see your solutions deployed in the field.
- 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 Robotics Academy, which develops curricula and software for K–12 and college-level students. You will have opportunities to engage with these student groups through outreach activities.
Benefits
- Comprehensive medical, prescription, dental, and vision insurance.
- Generous retirement savings program with employer contributions.
- Tuition benefits.
- Ample paid time off and observed holidays.
- Life and accidental death and disability insurance.
- Free Pittsburgh Regional Transit bus pass.
- Access to Family Concierge Team to help navigate childcare needs.
- Fitness center access.
For a comprehensive overview of the benefits available, explore our Benefits page.
Location
Pittsburgh, PA
Schedule
Full time