Role Overview
We are seeking a Java Software Engineer to join a small, technically rigorous founding team building complex, data-intensive engineering systems. The role is remote-first, with periodic in-person collaboration in Oxford or San Francisco.
The position involves close collaboration with the Founding Engineer on backend infrastructure, internal platforms, and system architecture. In addition to core software engineering responsibilities, the role requires precision in technical communication, documentation, and cross-lingual collaboration with external technical resources.
Key Responsibilities
Backend Engineering
- Design, implement, and maintain backend services using Java and Spring Boot .
- Develop and maintain RESTful APIs supporting internal tools and platform integrations.
- Design, implement, and optimise relational data models using PostgreSQL and / or MySQL .
- Refactor and modernise legacy Java components where required.
- Produce clear, maintainable, and well-documented code.
Systems, Documentation & Coordination
Support CI / CD pipelines, build systems, and containerised environments.Maintain precise technical documentation, specifications, and internal knowledge bases.Assist with structured internal coordination, scheduling, and technical communication typical of a small founding team.Support collaboration with external engineers, vendors, or research partners as required.Required Skills & Experience
Strong experience developing backend systems in Java .Practical experience with Spring Boot , Hibernate , and Java EE concepts.Solid understanding of RESTful API design .Experience with PostgreSQL and / or MySQL .Familiarity with Git, Maven / Gradle, and CI / CD workflows.Strong written technical communication skills.Language Requirements
Fluency in English and Russian (written and spoken). German and French are a plus, but not required.Education Requirements
Bachelor’s degree in Linguistics , or a closely related discipline focused on language, formal structure, or communication, with demonstrated technical or computational training .Master’s degree in Computing, Computer Science, Software Engineering, or a related field , completed or within one year of graduation.Role-Specific Rationale (Education & Language Requirements)
This role requires a combination of software engineering capability and high-precision technical communication . The educational and language requirements reflect functional needs of the position rather than formal credentials alone :
A background in Linguistics provides formal training in structured systems, syntax, semantics, and ambiguity reduction, which is directly applicable to API design, schema modelling, documentation, and specification writing.The role involves producing and maintaining clear, unambiguous technical documentation and internal specifications that must be understood by both technical and non-technical stakeholders.Fluency in Russian is required to support collaboration with Russian-speaking technical contributors, legacy documentation, and external resources, as well as to ensure accurate interpretation of technical materials without reliance on translation.The combination of linguistic training and bilingual fluency supports accurate cross-lingual communication, requirements interpretation, and documentation review in a distributed engineering environment.Desirable Background
Experience in data-sensitive or regulated domains.Exposure to legacy Java systems (e.g. JSP, Servlets).Experience working in distributed or early-stage teams.Participation in hackathons, applied research, or technical competitions.What We Offer
Direct collaboration with the Founding Engineer on core systems.Significant ownership over backend components and internal tooling.A remote-first role with structured in-person collaboration.Competitive compensation aligned with experience and qualifications.