Software Engineer, National Robotics Engineering Center (NREC)
The National Robotics Engineering Center (NREC) at Carnegie Mellon University has several open positions for software engineers. We are looking for people with strong technical depth in the C++ language and experience with DevOps tools and techniques, with and without 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
Participating in the software process: design, code reviews, etc.
Developing, documenting, and directing software system testing, troubleshooting, and verification procedures
Adapting and integrating proprietary and open source software packages and APIs
Integrate custom and COTS hardware components: sensors, controllers, networking, etc.
Build new tools for software communication, logging, and data analysis
Build infrastructure for data preparation, integration, verification
Create and maintain build pipelines with CMake, Docker and Jenkins
Create and maintain servers for tools like Jenkins, Mercurial, Git, and custom tools
B.S. in Computer Science, Engineering, Mathematics or equivalent experience (Any more is a bonus)
3-5 years combined graduate academic and professional software development or DevOps experience
Demonstrated understanding and use of software engineering concepts, practices, and procedures.
Proficient C++ skills
Proficient scripting skills (Bash or Python preferred)
Expert knowledge of Linux build systems (CMake, GNU make) and Linux packaging systems (dpkg, rpm)
Experience with Jenkins Pipelines using virtualization tools (e.g., Docker)
Experience with version control software (git, mercurial)
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:
Robotic frameworks and real time middlewares
Embedded systems or real time applications
Developing hardware drivers
Networking interfaces and applications
Linux administration (installation, configuration, maintenance, backup/recovery)
Experience with continuous integration, test-driven development, release/build management, and other Agile development techniques
Data infrastructure tools (SQL, NoSQL, data version control, etc.)
High performance computing tools (Hadoop, AWS, Azure, etc.)
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 benefit 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
07/18/2019 ∙ ∙ share APPLY VIEW ALL JOBS