Software Engineer
Role details
Job location
Tech stack
Job description
You will contribute to the design, development, testing, and maintenance of robust software systems used to control, acquire, process, and present scientific data. The software acts as the primary interface between advanced measurement hardware and its users, requiring dependable real-time behaviour, clear presentation of complex data, and strong engineering discipline.
This position suits a capable, technically curious engineer, from an early-career developer through to a mid to senior-level engineer, who is comfortable learning domain-specific systems and working closely with hardware, firmware, and scientific colleagues., * Design, develop, and maintain desktop-based software supporting data acquisition, processing, and analysis
- Contribute to back-end logic, data handling, and system integration
- Use Git with established branching and merge strategies
- Maintain build and technical documentation
- Write and maintain unit tests for critical code paths
- Support CI/CD pipelines where appropriate
- Track and resolve issues using tools such as GitHub Issues or Jira
- Evaluate and integrate open-source libraries, ensuring appropriate licensing
- Collaborate closely with hardware, firmware, and scientific engineering teams
- Contribute ideas and improvements through technical reviews
- Ensure all design and documentation complies with ISO 9001 standards
Requirements
- Experience with technologies such as Node.js, Express, Vue.js and Electron
- Strong programming fundamentals and a solid understanding of software engineering principles
- Experience building or maintaining desktop applications or system-focused software
- Exposure to back-end or data-driven development
- Comfortable working with structured data, real-time systems, or computation-heavy logic
- Practical experience using Git and collaborative development workflows
- Ability to learn new domains and work effectively within a small engineering team
- Clear communicator, able to explain technical concepts to non-software specialists
Desirable
- Background or strong interest in geophysics, geology, physics, engineering, or applied science
- Experience with scientific instruments, test equipment, or data acquisition systems
- Exposure to numerical methods, signal processing, or scientific data analysis
- Experience working in multidisciplinary engineering teams (hardware, firmware, R&D)
- Mentoring, knowledge sharing, or willingness to support junior colleagues
Benefits & conditions
- Annual performance-based bonus
- Private healthcare
- Company pension contributions
- Hybrid working model