Software Engineer, National Robotics Engineering Center
Software Engineer, National Robotics Engineering Center (NREC)-2012480
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.
- 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
- Supportive of a non-standard 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 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
- 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:
- 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: Engineering
Primary Location: United States-Pennsylvania-Pittsburgh
Time Type: Full Time
Minimum Education Level: Bachelor's Degree or equivalent
Budgeted Base Pay: Negotiable