Carnegie Mellon University’s Pittsburgh Supercomputing Center is searching for a Systems Software Engineer to join their team in a split role of software development and systems administration. This is an exciting opportunity for someone who thrives in an interesting and challenging work environment.The role will include full stack web development in Ruby on Rails on the ACCESS-CI allocations system. This system serves to provide thousands of scientific researchers access to High Performance Computing Systems at PSC and across the country. The ACCESS-CI team consists of developers from PSC and at other high performance computing centers around the country. The successful candidate should have the ability to design, implement and maintain full stack web applications using technologies such as: Python Django or Ruby on Rails. Experience with the React javascript library would be a plus. In addition to work on the ACCESS-CI project, this role will also include a smaller focus on System Administration and DevOps tasks on ACCESS-CI and PSC resources. System Administration and DevOps responsibilities could include: containerizing and transitioning key services to kubernetes infrastructure for higher reliability, database server setup, web server setup, and system configuration with tools such as Terraform, Puppet and Ansible for performing DevOps in a more automated way. This is an excellent opportunity if you thrive on the opportunity for collaboration on building platforms with complementary groups across PSC and across the country with our partners.

Core responsibilities include:

  • Analyze, plan, implement and deploy web UIs and APIs for use by allocations systems allocating many national high performance computing resources in several NSF programs.
  • Engage with web platform developers to translate requirements into functional specifications and features for full stack web applications.
  • Build software systems with best practices in software development.
  • Develop a system to backup data from local file systems to AWS Glacier
  • Configure puppet for new software installs
  • Contribute to effort to automate the renewal and installation of SSL certificates
  • Configure services to run on a kubernetes cluster. Reconfigure existing hosts to use the services from the kubernetes cluster
  • Analyze file system performance. Research, test, and recommend strategies related to improving performance.
  • Actively discuss and implement new ideas in close collaboration with other members of all research and operations groups across the center.

Flexibility, excellence, and passion are vital qualities within PSC. Inclusion, collaboration and cultural sensitivity are valued competencies at CMU. Therefore, we are in search of a team member who is able to effectively interact with a varied population of internal and external partners at a high level of integrity. We are looking for someone who shares our values and who will support the mission of the university through their work.

You should demonstrate:

  • Proficiency in Python or Ruby.
  • Proficiency with RESTful API development, documentation, and use.
  • Proficiency with a relational database system such as MySQL or PostgreSQL.
  • Proficiency with Linux: shells, editors, building applications, software installation and configuration etc.
  • Preferred proficiency in Ruby on Rails
  • Preferred proficiency with React
  • Preferred proficiency in automation and deployment management tools such as Puppet
  • Preferred proficiency with high performance file systems such as Lustre.
  • Preferred proficiency in cloud services such as Amazon, Google, and Azure.
  • Excellent communication skills and ability to work in a team environment.
  • Excellent problem-solving skills and creativity.
  • Ability to handle multiple priorities and a multi-disciplinary environment.
  • Ability to be available for rotating periods of on call systems duty.

Qualifications:

  • Minimum Bachelor’s Degree in Computer Science or a related field. Equivalent software development experience will be considered in lieu of education.
  • Minimum 1 year of experience in software platform development. Personal non-professional experience will be considered.
  • Minimum 1 year of experience with Linux. Personal non-professional experience will be considered.
  • Preferred 3 years of experience in software platform development, using appropriate technology stack and in support of scientific research and data analytics.
  • Preferred experience with cloud-based projects.
  • Preferred experience working on team-based projects.

Requirements:

  • Successful background check

Additional Information:

  • Work Posture: This position is operating on a hybrid schedule, with an on-campus/in office presence 3 days a week.

Are you interested in this exciting opportunity? Please apply