geoscience software engineer