The Application Development and User Access Group develops and maintains large software applications and tools used by the staff and users of the National Center for Computational Sciences (NCCS) computational ecosystem.
Purpose
We are seeking to add an experience Software Engineer to our team, to write internal software applications to support the world-class supercomputers maintained by the division.
Major Duties/Responsibilities
- Design, code, test, and document web-based services and APIs in multiple languages (e.g. Ruby, Go, Python, JavaScript) that support the mission of the NCCS and its end-users.
- Interact with NCCS staff and managers to gather custom software requirements and new feature requests.
- Contribute to architectural decisions related to new continuous integration features and techniques.
- Participate in code reviews with the group's development team.
Basic Qualifications
- A Bachelor’s degree Computer Science/Engineering or in a STEM field with a computing focus.
- A minimum of 5 years of experience working in a software engineering/development role.
Preferred Qualifications
- 8+ years of experience working in a software engineering/development role.
- Experience writing software applications in at least one of the following programming languages: Ruby, Python, Go, and/or JavaScript.
- Experience with web application development using one or more open-source frameworks (e.g. Rails, Vue.js).
- Experience with continuous integration technologies (e.g. GitLab CI/CD Pipelines, GitLab Runner).
- Experience using SQL database technologies (e.g. MySQL/MariaDB, PostgreSQL) to manage large datasets (hundreds of GB; billions of records).
- An online portfolio of open-source software contributions (e.g. GitHub, BitBucket).
- Experience working collaboratively in a team environment.
- Experience leading software development projects.