User Interface Software Engineer, National Robotics Engineering Center

Pennsylvania, United States
03 Jun 2019
End of advertisement period
03 Aug 2019
Contract Type
Full Time

Job Description

User Interface Software Engineer, National Robotics Engineering Center (NREC)-2012343


The National Robotics Engineering Center (NREC) at Carnegie Mellon University has an open position for a user interface software engineer / developer. We are looking for people with both robotics and non-robotics experience. You will work to develop a robust and intuitive human-computer interface for safely controlling a complex multi-robot system with hundreds of active axes of motion.  Your solution will be deployed as part of an embedded system delivered to an outside sponsor who demands reliability and predictability.  You will join a top-notch technical team on an exciting project that is breaking new ground for NREC.


You will have an impact in shaping the robotics revolution, collaborate with and learn from experts, and build your career in a very fast-growing field. As part of our team, you will develop solutions to solve industrial and government challenges, deploy your technology in real-world situations, work side-by-side with elite robotics experts, and develop a variety of cutting-edge technologies. Have an Impact!

  • Take Control of Your Career!
  • Remove waste from farming = more food (link)
  • Make industrial processes environmentally friendly (link)
  • Make hazardous jobs safer (link)
  • Improve efficiency in industry & manufacturing (link)
  • Accelerate screening of pharmaceuticals (link)
  • Select the career pathway that interests you
  • Influence the direction of projects
  • Have a say in your work schedule
  • Maintain work/life balance
  • Switch between part-time and full-time as life demands

NREC is at the center of the robotics ecosystem in Pittsburgh, PA. With over 60 robotics companies, Pittsburgh has become the robotics capital of the world. Geek Wire calls it Robotics Row; others call it Roboburgh. Join the leader at the most exciting time in robotics!

Join the best robotics R&D group

Join our talented team at NREC, an operating unit within the world-renowned Robotics Institute at Carnegie Mellon University.

NREC has 20+ years of experience and is globally renowned for developing and deploying robots into many applications across multiple sectors, such as agriculture, mining, defense, energy, and manufacturing. We strive to provide solutions for real world challenges where automation and robots have greater impact on productivity and improve the safety and comfort of the labor force. Our unique expertise places us at the forefront of unmanned ground vehicle design, autonomy, sensing and perception, machine learning, machine vision, operator assistance, 3D mapping and position estimation. With over 120 robotics professionals, we can solve challenges that no other organization can. NREC also leads in educational outreach through its Robotics Academy, which builds robotics curricula and software for K-12 and college-level students.

Your primary responsibilities will include:

  • Designing custom human-computer user interfaces for autonomous systems
  • Prototyping interface options and evaluating end-user performance
  • Implementing designs on custom UI hardware
  • Integrating commercial libraries for support of industry-standard communication protocols to the other components in the system
  • Integrating with a central shared database for live display of system state
  • Following best practices for team software development (peer reviews of designs and code, unit and system testing, version control, bug tracking, integrated documentation)
  • Adapting and integrating proprietary and open source software packages and APIs
  • Development in a Linux environment


  • B.S. in Computer Science or equivalent experience
  • 1+ years of relevant work experience
  • Strong C++ skills
  • Experience with GUI frameworks (Qt preferred) in a Linux environment
  • Graphical UI design experience
  • Demonstrated understanding and use of software engineering concepts, practices, and procedures.
  • Ability to participate in a cross-functional team
  • Technical communication skills

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

  • Software Architecture
  • Professional software development processes
  • Computer vision, robotics, machine learning, scientific computing, simulation, or graphics
  • Networking interfaces and applications
  • User interfaces
  • Linux development environment
  • Embedded systems or real time applications
  • Developing hardware drivers
  • Docker, CMake, Valgrind, and other development tools

Opportunities people at NREC have seized:

  • As a member of NREC, you have the opportunity to take control of your career. People in similar roles have shaped their careers to suit their interests and their needs.
  • Becoming an in-depth expert in a technical area
  • Leading projects and fostering client relationships
  • Receiving mentoring from senior engineers and robotics experts
  • Mentoring junior engineers
  • Taking courses at Carnegie Mellon
  • Staying connected with academic and recreational activities at Carnegie Mellon
  • Transitioned into a robotics, program management, technical lead, or software architecture roles
  • Performing consulting during off time
  • Outreach to K-12 and college-level students

At NREC, we value diversity, support it, and thrive on it for the benefits of our organization, our employees and our community. 

Carnegie Mellon University is an Equal Opportunity Employer/Disability/Veteran.

Job Function: Information Technology
Primary Location: United States-Pennsylvania-Pittsburgh
Time Type: Full Time
Organization: ROBOTICS
Minimum Education Level: Bachelor's Degree or equivalent
Budgeted Base Pay: Negotiable