The Pittsburgh Supercomputing Center (PSC) creates and provides advanced computing ecosystems and solutions, scalable to the greatest challenges. Building on the strength of two world-class research institutions--Carnegie Mellon University and the University of Pittsburgh--our team collaborates with local, regional, national, and international researchers, uniting advanced computing technologies, data, and multidisciplinary expertise to enable discoveries that benefit the world and the way we live.
We are seeking a software engineer to join our team. You will create and maintain multiple web and relational database based platforms for enabling scientific research. The successful candidate should have the ability to design, implement and maintain full-stack web-based platforms with technologies such as: Python-based (e.g. Django and Flask) or Ruby on Rails and perform full-stack development on the platforms. Candidates should be able to design and implement relational database schemas and be proficient in SQL. Experience with containerization of software through Singularity and/or Docker a plus. This is an excellent opportunity if you thrive on opportunity for collaboration on building platforms with complementary groups across PSC, particularly our AI & Big Data, Biomedical Applications, User Support for Scientific Application, Cybersecurity, and Facilities Technology Groups.
Responsibilities are determined by active project needs. Some examples are as follows:
Analyze, plan, implement, deploy, and distribute interactive, user-focused web-based software, over the full-stack from interactive front-end interfaces to back-end database and server implementation, in response to our diverse set of research projects and the external research community’s needs, goals and mission.
Engage with potential users of web-based interfaces to define use-cases and user-stories, translating requirements into functional specifications and features, and engage continuing dialogue with users to ensure our front-end implements meet their needs.
Build full-stack web-based platforms with best practices in software development including version-control, continuous integration testing, unit testing and hands-on interactive user testing.
Provide training and documentation for users of web-based platforms at the Center, and participate and provide materials for advanced training efforts for the scientific community.
Install, test, and deploy web-based platforms on PSC’s production and research platforms as well advise the planning and design of new user-focused research platforms.
Contribute as needed to grant proposals and related efforts to attract funding.
Actively discuss and implement new ideas in close collaboration with other members of all research and operations groups across the center.
Lead team projects involving multiple members from the different PSC teams to develop comprehensive web-based platforms.
Inclusion, cultural sensitivity, and collaboration are valued competencies at CMU and within PSC. We strive to demonstrate flexibility, excellence, and passion in every aspect of our work. Therefore, we are in search of a team member who can 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 with RESTful API development, documentation, and use.
Proficiency in relational databases including PostgreSQL or mySQL. no-SQL (e.g. MongoDB) and graph-based databases (e.g. NeoJ4) are a plus.
Proficiency with Linux: shells, editors, building applications, web server configuration, etc.
Preferred experience with containerization of services and programs through Singularity and/or Docker.
Preferred proficiency in data management and data analytics.
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.
Minimum Bachelor’s Degree in Computer Science or a related field required. Equivalent software development experience will be considered in lieu of education.
Minimum 1 year of experience in software development using relational databases required.
Preferred 3 or more years of experience in software development using relational databases.
Preferred experience with leading team-based projects.