Software Engineer/ Senior Software Engineer, Robotics - NREC
Carnegie Mellon University · Pittsburgh, PA · Yesterday
EngineeringFull-time
About the role
The National Robotics Engineering Center (NREC) seeks a motivated roboticist to help develop and deploy the next generation of mobile manipulation systems for real-world applications. This role involves hands-on real-time software development, systematic performance maturation, simulation and testbed generation, multidisciplinary collaboration, system integration, and iterative design.
Responsibilities
- Hands-on real-time SW development: Design, write, and maintain clean, high-performance, and robust code to advance and mature our software stack in robotic applications.
- Systematic Performance Maturation: Drive the iterative software lifecycle by conducting systematic analysis, profiling, and benchmarking to identify bottlenecks and optimize system performance.
- Leverage advanced simulation tools to generate high-fidelity synthetic data and architect complex testbed scenarios for software validation.
- Thrive in a multidisciplinary environment, working closely with hardware engineers, systems engineers, and domain experts to translate complex physical requirements into scalable software solutions.
- Actively participate in hands-on integration work, ensuring seamless interoperability between software components and hardware systems.
- Iterative Design & Code Quality: Participate in rigorous code reviews, documentation, and continuous integration (CI/CD) practices to maintain high engineering standards across the existing codebase.
Required Qualifications
- B.S. in Computer Science, Engineering, Mathematics or equivalent experience.
- 1 - 5 years of professional or research experience in software development, systems integration, or robotics.
- Demonstrated understanding and basic use of software engineering concepts, practices, and procedures.
- Proficient C++ skills.
- Solid technical communication skills, demonstrated success working as part of a cross-functional team.
- Experience with Python for quick prototyping of applications.
- Linux development experience.
- Effective organizational, planning, and analytical skills.
- Able to effectively interact with a multifaceted population of internal and external partners.
- Able to work on multiple projects at the same time.
Preferred Qualifications
- Experience with ROS2/Move-it middleware and development frameworks.
- Experience with robot manipulators kinematic analysis and trajectory optimizations to maximize operational throughput and efficiency.
- Advance use of simulation environments such as Gazebo, Isaac Sim, or MuJoCo for robotic applications development and testing.
- Experience with robust fleet communication protocols, multi-robot behavior, motion planning and coordination to design efficient and robust dispatching systems.
- Real-world deployment, systems engineering.
- Embedded systems or real time application development.
- Proficiency leveraging AI tools to develop robust software solutions.
Other Requirements
- Successful pre-employment background check.
Location
Pittsburgh, PA
Job Function
Software/Applications Development/Engineering
Position Type
Staff – Regular Full Time/Part time Full time
Pay Basis
Salary