Software Engineer, National Robotics Engineering Center (NREC)-2013824
The National Robotics Engineering Center (NREC) at Carnegie Mellon University has several open positions for software engineers. We are looking for people with both robotics and non-robotics experience. We are people with a desire to make robust software using agile development processes. You will work on a variety of software that will be used in robotics applications and can range from data analysis tools, embedded software, middleware, user interfaces, or machine learning applications. Our software engineers have made software that runs on robotic systems that work under the hot Arizona sun, in the middle of a dense forest, and on a chaotic factory floor.
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.
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 in 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 include:
Developing software for robotic and general-purpose applications
Adapting and integrating proprietary and open source software packages and APIs
Participating in the software process: design, code reviews, etc.
Build new tools for software communication, logging, and data analysis
Create and maintain development tools and infrastructure for robotic systems
Developing, documenting, and directing software system testing, troubleshooting, and verification procedures
Integrate custom and COTS hardware components: sensors, controllers, networking, etc.
Supporting manufacturing with hardware requirements and technology integration
Development in a Linux environment
B.S. in Computer Science, Engineering, Mathematics or equivalent experience (Any more is a bonus)
1-3 years of relevant software programming experience
Demonstrated understanding and use of software engineering concepts, practices, and procedures.
Proficient C or C++ skills
Proficient scripting skills (Bash or Python preferred)
Technical communication skills
Successful background check
Ability to participate in a cross-functional team
We especially want to hear from you if you have experience or qualifications in ANY of the following areas:
Professional software development processes
Computer vision, robotics, machine learning, scientific computing, simulation, or graphics
Networking interfaces and applications
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: Software Engineering
Primary Location: United States-Pennsylvania-Pittsburgh
Time Type: Full Time
Minimum Education Level: Bachelor's Degree or equivalent
Internal Number: 2013824
About Carnegie Mellon University
Carnegie Mellon (www.cmu.edu) is a private, internationally ranked research university with programs in areas ranging from science, technology and business, to public policy, the humanities and the arts. More than 12,000 students in the university’s seven schools and colleges benefit from a small student-to-faculty ratio and an education characterized by its focus on creating and implementing solutions for real problems, interdisciplinary collaboration and innovation. A global university, Carnegie Mellon’s main campus in the United States is in Pittsburgh, Pa. It has campuses in California’s Silicon Valley and Qatar, and programs in Africa, Asia, Australia, Europe and Mexico.