Software Development

Low Level HPC Developer

Perth, Western Australia
Work Type: Full Time

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

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

Submit Your Application

You have successfully applied
  • You have errors in applying
Resume*
Cover Letter
Privacy Policy 
We take your privacy seriously and will only use your personal information to provide products and services you have requested from us. For more information please refer to our Privacy Policy.