Qualifications and Experience:
Essential:
* Minimum 3 years proven experience in Software Engineering
* Education to degree level in Computer Science, Software Engineering, or any company relevant discipline, i.e. geology, geophysics.
* Equivalent industry experience as a proven software engineer/developer will be considered.
* Demonstrated experience in delivering high-performance desktop applications or systems within complex engineering domains.
* Strong proficiency in Typescript/JavaScript for systems programming, Electron) beyond just web development. Equivalent experience with Go, C#, etc will be considered.
* Experience with modern WebApp frameworks, MVC or MVVM designs, complex state management and data visualization, react, Angular or similar).
* Understanding of system architecture, including IPC, concurrency, and data stream handling.
* Deep understanding of software design patterns (Interfaces, Inversion-Of-Control, Object Orientated vs Functional, etc) and architectural best practices (Dependency Injection, decoupling, etc).
* Proficiency in Git source control workflows.
* Excellent problem-solving and debugging skills, including extensive use of testing frameworks
* Ability to work independently, manage multiple priorities, and deliver under pressure
* Ability to learn quickly and adapt to new technologies.
* Excellent communication, presentation & report writing skills
* Requires good listening, strong written and verbal communication skills and the ability to explain technical matters in lay terms
* Must have initiative, self-motivation and the confidence to make decisions or ask for help.
Desirable:
* Able to showcase examples of work: public-facing products and/or open-source projects.
* Knowledge of geology or geophysics
* Experience developing software for scientific instruments, test equipment, or data acquisition systems.
* Understanding of signal processing or numerical methods.
* Experience working in multi-disciplinary engineering teams (hardware, firmware, software, R&D, marketing).