Job Summary

DownUnder GeoSolutions operates 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: 

Desired Skills and Experience

  • 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