The DUG platform team is responsible for the development of the software and IT ecosystem which connects our users and their applications to DUG's global HPC compute resources in a simple, efficient and reliable manner.
In this role, you will be developing a variety of tools using different technologies and languages including performance and status logging systems, automation for common operations, integrations to new infrastructure and more as the platform evolves. You will gain knowledge of common HPC technologies such as massively parallel cluster queueing systems. You will be responsible for ensuring the tools are stable, reliable and conform to best practices. You have a bias for action and understand the balance between writing neat and maintainable software and delivering urgent solutions for time sensitive problems.
This is a chance to work with some of the largest and greenest compute engines on earth with a friendly team who are passionate about technology. Contact DUG if this sounds like you, or if you believe you have the passion to work with our team in any capacity.
List of Responsibilities:
Develop and maintain backend system tools to support the DUG platform
Develop and maintain automated testing for platform tools
Develop and maintain automated deployment and provisioning of platform tools
Investigate and resolve complex platform issues
Provide technical support for critical, time-sensitive, otherwise-unresolvable operational issues
Provide and receive regular, constructive feedback to and from your peers
Collaborate on priority and scheduling for rapid development iterations
Act as a mentor for an exceptional intern or junior developer
Further your knowledge in the field of high performance computing and software engineering
Undertake special assignments, ad-hoc projects and related duties as and when required
Comply with the Company’s HSE regulations and policies
You should have:
Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent work experience)
At least 5 years of demonstrated experience in all of:
software development in a typical general-purpose development language (e.g. Java, C/C++, Python, C#, Golang)
systems administration tools (e.g. shell scripting, standard Linux commands)
Linux system environment, configuration and administration
distributed version-control systems (e.g. git)
Excellent written and spoken business and technical English
You may also have experience with:
Team collaboration tools (e.g. JIRA)
Experience using system provisioning and configuration management tools (e.g. Ansible, Puppet, Chef)
Linux system programming (e.g. kernel interaction, low-level system libraries)
CI/CD build pipelines and associated tools/concepts (e.g. GitOps, Bamboo, Artifactory, Docker)
Web systems development
DISCLAIMER
The offer is subjected to pre-employment screenings that may include, but are not limited to:- Verification of your right to work in the respective location
- Provision of applicable and relevant qualifications
- Nationally approved criminal history check