Carnegie Mellon University's Computer Science Department is seeking a Systems/Software Engineer to assist with building and testing its open-source database management system. This is within the CMU Database Group ( https://db.cs.cmu.edu ) under the direction of Assistant Professor Andy Pavlo ( http://www.cs.cmu.edu/~pavlo ).
You will lead the development of the testing infrastructure for the Peloton database system ( https://pelotondb.io ). We seek to turn our prototype into a viable system that is usable outside of our research group. This means that we are trying to do high-quality engineering within academia. You will develop performance and regression testing software that is custom for high-performance database systems. We are looking for an excellent programmer with demonstrable experience designing and deploying rigorous testing infrastructure. To this extent, showing an existing body of work is highly desirable. Candidates should include a link to their GitHub repositories if one exists.
This is a fixed-term employment for two years, renewable based on availability of funding and performance.
Develop, document, and maintain test cases, test scenarios, testing plans, and procedures.
Develop, document, and maintain automated regression testing infrastructure.
Establish and implement best practices for long-term fuzz and soak testing.
Creating online repositories for storing and analyzing test results and performance metrics.
Document requirements and specifications Git-based workflows.
Investigate and recommend systems/tools to support continuous integration and test automation objectives and processes.
A Bachelor's degree in Computer Science or related fields.
A minimum of two years' programming experience in C/C++ (C++17 preferred).
Experience in developing testing policies (e.g., unit tests, regression tests), performing code reviews, and writing documentation.
Ability to independently work on a large code base with a strong sense of self-direction.
Demonstrated ability to work in both research and development organizations.
An M.S. in Computer Science or related fields with substantial software engineering experience.
Background in systems software development (e.g., databases, operating systems, networking, or distributed systems).
Proficient in programming Python3, Java (junit, JDBC), and SQL.
Experience in continuous integration testing infrastructure (e.g., Jenkins, BuildBot, Travis).
Experience in testing libraries and tools (e.g., gtest, gbenchmark, Valgrind).
Knowledge of modern software development principles for C++ systems software.
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: COMPUTER SCIENCE DEPARTMENT
Minimum Education Level: Bachelor's Degree or equivalent
Budgeted Base Pay: Negotiable
Internal Number: 2012980
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.