Low Level HPC Developer (Perth-based) - DownUnder GeoSolutions Pty Ltd

DownUnder GeoSolutions is an innovative geosciences company with a diverse range of capabilities. Our products and services are at the cutting edge of exploration and production services to the global oil and gas industry.

We operate three world-class supercomputer clusters totaling nearly 30 petaflops, running a large suite of custom 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 Java / C / C++ environment and make heavy use of the Intel Xeon Phi, with its high memory bandwidth and AVX-512 instruction set.

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.

Your tasks:
• high- and detailed-level design of complex geophysical processing software,
• implementation, testing, and maintenance of software in Java and/or C,
• inspection and maintenance of software written by other members of the team,
• learning basic geophysics, common industry workflows, and terminology,
• supporting the company's service divisions, who use the products you create,
• 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.

• demonstrated expert-level skills as a software developer in C or C++ (if you also have Java expertise, so much the better)
• demonstrated 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 end-users
• familiarity with version control, bug tracking, code review, &c. systems (Git skills are a plus, but not required)
• impeccable professional references or a recognisable shibboleth

(We expect that most people require at least 10 - 15 years of serious programming, either for fun, at school, or at work, to reach this level.)

An attractive salary will be negotiated based on skills and experience.

Kindly send us your CV at recruitment@dug.com