Software Engineer
Role details
Job location
Tech stack
Job description
This is a great opportunity for an established Software Engineer who enjoys working on meaningful problems, contributing across the stack, and collaborating closely with data scientists and researchers., You'll join a small engineering team and work closely with data scientists, researchers, and external partners. The role is primarily backend focused, with opportunities to contribute to frontend development where of interest., * Designing, developing, maintaining and supporting cloud hosted applications
- Implementing algorithms defined by data science and research teams
- Developing and maintaining internal and external web services and APIs
- Working with existing codebases and contributing to ongoing improvements
- Participating in code reviews and CI/CD processes
- Supporting cloud infrastructure and some internal IT systems
- Managing your own workload and contributing flexibly across a small team
Requirements
You're a pragmatic, curious engineer who enjoys learning new domains and taking ownership of your work.
Essential experience:
- 2+ years' professional experience in a software engineering role
- Strong Python development skills
- Experience with relational and/or NoSQL databases
- Designing and implementing REST APIs
- Working with large or established codebases
- Version control and CI/CD using Git
- Able to work independently and collaboratively in a small team
Desirable (but not required):
- Experience with Docker and modern CI/CD tooling
- JavaScript / TypeScript (e.g. React, Next.js)
- Cloud platforms (particularly GCP or similar)
- Linux systems administration or automation tools
- High performance or large scale data processing
- Background in scientific, geospatial or sensor based data (interest is more important than prior experience)
Working Environment & Benefits
- Flexible and hybrid working
- Edinburgh office with remote options
- Opportunity to work on projects with real world environmental impact