dreamwork_

The Role

As a Software Engineer, you will design, build and support features for Seequent's desktop geoscience software, including integrations with Evo (our cloud geoscience platform). You will work closely with product, design and other engineering teams to solve complex technical and user problems, taking features from initial design through development, testing, release and ongoing support.

You will work independently on moderately complex features while contributing to larger team designs, improving engineering practices and sharing your knowledge with less experienced engineers.

You'll work on software used by geoscientists to understand and model complex geological data. The role combines desktop software engineering, scientific and spatial data, and integration with Seequent's cloud platform. You'll join a cross-functional engineering team working on software used to solve real-world geoscience problems.

In this role, you will have the opportunity to:

Software Design

  • Own the design of moderately complex desktop application features through to delivery and support.

  • Apply agreed standards, guidelines, patterns and tools.

  • Participate in team-based design of components for larger software systems.

  • Specify user and system interfaces within the scope of assigned features, and implement integrations using cloud-service interfaces defined by other teams.

  • Create multiple design views to address the different stakeholders' concerns and to handle functional and non-functional requirements, considering all relevant factors, including security.

  • Utilize technical skills and gather findings to recommend best-in-class design solutions that secure stakeholder buy-in and seek guidance from management as required.

  • Contribute to improving the effectiveness of current processes, products, and programs by utilizing research insights and incorporating emerging technologies.

  • Conduct a collaborative review of junior team members' work as appropriate.

Software Development

  • Design, code, verify, test, document, amend, and refactor moderately complex programs/scripts.

  • Apply agreed standards, tools, and security measures to achieve a well-engineered result.

  • Monitor and report on progress. Identify issues related to software development activities. Propose practical solutions and new ideas to resolve issues

  • Accountable for supporting innovation and continuous improvement within the assigned technical functional area.

  • Conduct a collaborative review of junior team members' work as appropriate.

Release Management

  • Contribute to release activities within the established release pipeline, working with relevant teams and following defined processes.

  • Participate in testing and quality assurance activities to ensure releases meet standards. Identify and resolve issues related to the release process.

  • Document and report on release outcomes and communicate findings to stakeholders.

To be successful in this role, you should have:

  • 5+ years of experience in relevant Software Engineering roles.

  • Knowledge of Python.

  • Experience with Rust is an advantage.

  • Experience with systems integration and APIs.

  • Experience with data pipelines and schemas.

  • Familiarity with CI/CD pipelines and DevOps practices.

  • A methodical approach to moderately complex problems, with the ability to plan work to deadlines, exercise sound judgement, escalate when necessary and contribute to creative solutions.

  • Strong communication and collaboration skills, a commitment to security, privacy and ethical practices, and the ability to apply and share technical and industry knowledge in a business context.

  • A bachelor's degree in computer science, engineering, or equivalent.


Additional Information

Work from the local office 3 or more days per week.