This role is best suited to an adaptable, mid-level engineer (3–5 years’ experience) who enjoys working across the stack, with strong front-end skills and a pragmatic approach to implementation. You should be comfortable picking up existing codebases, working independently in the absence of dedicated design resources, and collaborating with cross-functional teams.
Key responsibilities you will be responsible for:
• Delivering new features and improvements across existing internal and external web applications
• Familiarising yourself with multiple existing codebases, development patterns, and workflows
• Implementing front-end interfaces with a balance of usability, consistency, and design pragmatism (in the absence of formal product design support)
• Supporting the consolidation of current apps as part of the broader platform transformation strategy
• Writing clean, testable, maintainable code across the stack (with an emphasis on front-end
technologies: React and TypeScript)
• Developing and consuming APIs to enable seamless data flows between systems
• Supporting the evolution of internal coding standards and shared component libraries
• Collaborating with the rest of the team to translate product requirements into software solutions
• Participating in team ceremonies, code reviews, and knowledge sharing
Skills and experience we are looking for candidates with:
• 3–5 years of experience as a software engineer in a full stack or front-end role
• Strong development skills using Typescript + React, Python
• Understanding of relational databases (we use AWS RDS)
• Experiencing developing and integrating with RESTful APIs
• Experience designing and implementing user interfaces without dedicated design support,
following usability and accessibility best practices
• Good working knowledge of Git, code review practices, CI/CD pipelines, and agile methodologies
• Other tech stack and tools we use include Vite/Next.js, AWS and Git – you should be experienced
• Ability to work independently and communicate clearly in a distributed, asynchronous team
• A pragmatic mindset with a willingness to contribute where needed
Nice to haves
We would prioritise candidates with these:
• Development experience with Java
• Wider experience with relational databases to include MySQL
• Good working experience with other tech stack components: Android, FastAPI/Django
• Experience contributing to platform transitions or systems consolidation projects
• Familiarity with TailwindCSS, component libraries, or design systems
• Exposure to geospatial or scientific data interfaces
• AWS cloud services, containerisation (e.g., Docker), deployment workflows including CDK/SAM,
Infra as code
• Previous experience in early-stage or growth-stage product-oriented startup environments
Personal characteristics
You are a hands-on, delivery-oriented engineer who is motivated by solving real-world problems. You enjoy variety in your work and can operate comfortably in imperfect or evolving systems. You are curious, adaptable, and always looking to improve the quality and maintainability of what you build. You take pride in your craft and thrive in collaborative teams that blend engineering, science, and operational excellence.
Application process
- A screening call with our recruitment partner
- Video call interview with our CTO
- Second video interview with our team members to discuss and solve a problem
Report job