We are a technology company at the forefront of high-performance computing (HPC) with a strong foundation in applied physics. Our innovative hardware and software solutions for the global technology and resource sectors enable our clients to leverage large and complex data sets.
We operate three world-class green supercomputer clusters, running a large suite of scientific applications. The research and development team of mathematicians, geophysicists, and software engineers are responsible for creating and maintaining this suite of signal-processing and subsurface imaging tools.
We’re looking for talented low-level software developers who are keen to apply their skills to a new scientific domain. We operate a mixed C / C++ / Python / Java environment and make heavy use of CPUs (incl. Intel Xeon Phi and its AVX-512 instruction set) and GPUs (via CUDA). You'll leverage your experience to determine when it's worth it to operate in C, to decide when there's value in hand-vectorising, and when it's a waste of time. When submitting your application, you'll show that you have an attention to detail by including ‘Shibboleth’ in your cover letter.
List of Responsibilities:
High- and detailed-level design of scientific processing software
Implementation, testing, optimisation and maintenance of software written in the most appropriate language to solve each problem (including Java, C/C++ and Python)
Inspection and maintenance of software written by other members of the team
Becoming conversant in the problem domains of new and existing products
Acting as 3rd-level technical support, for otherwise-unresolvable customer issues
Providing and receiving regular, constructive feedback to and from your peers
Collaborating on priority and scheduling for rapid product iterations
Acting as mentor for an exceptional intern or junior developer
Requirements:
Demonstrable expert-level skills as a software developer in C or C++ (if you also have Java or Python expertise, so much the better)
Demonstrable abilities in low-level performance optimisation (you should be comfortable having an in-depth conversation about concepts such as threading, concurrency, vectorisation, memory alignment, loop unrolling, etc.)
A history of advanced work in some of our major focus areas, such as data management, large I/O, highly-parallel computing, or numerical processing (in another industry is fine; we're interested in the "how", not the "why")
Excellent written and spoken business and technical English, suitable for working directly with clients
We offer:
A position in one of the most exciting high-tech companies in Australia
An international team with some of the best software engineers from all over the world
A low overhead, flat management structure designed to minimise bureaucracy so you can focus on what you’re great at
The flexibility to manage your own working times and a true work-life balance
Centrally located in Australia’s sunniest capital city, modern offices with end-of-trip facilities, views over Kings Park and nearby food options
Opportunity to participate in organised social events with like-minded colleagues
Compensation:
An attractive salary will be negotiated based on skills and experience.
DISCLAIMER