Senior Software Engineer I (Java & Python)
Senior engineer on Elsevier's (RELX) Submission & Editorial platform building Document Intelligence services that turn unstructured research manuscripts into structured data using data science models and LLMs. Day to day: designing and operating Python/Java Spring Boot microservices on AWS with Kafka in an event-driven architecture.
- Compensation
- Not disclosed
- Location
- Oxford, United Kingdom
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Proficiency in some of: Python, Java, Spring/Spring Boot, SQL, with willingness to learn others
- Distributed and event-driven solutions using Kafka and AWS cloud services
- Experience with build tools, Git, and continuous integration (GitHub Actions/Jenkins)
- Experience supporting and mentoring team members
- Experience with alerting, monitoring, and logging tools (New Relic, OpenSearch/Kibana, Coralogix)
- Experience with a modern IDE (IntelliJ/VSCode) and refactoring tools
- Some experience with test-driven development and mocking libraries (Jest, Mockito)
- Familiarity with collaborative documentation tools (Jira and Confluence)
- Familiarity with data-processing workflows and scalable backend architectures
- Real-world experience with Agile practices (Scrum, Kanban)
- Familiarity designing and developing for cloud environments (Docker, Kubernetes, AWS)
- Familiar with AI coding tools (Copilot, Claude, Codex, antigravity)
- Wanting to learn or have experience with AI-based solutions
- Enjoy collaborating with team members to create innovative solutions
- Open to discussing and honing approaches to improve team working practices
- Awareness of industry best practices and standards
- Eager to learn and grow skills and experience
Nice to have
- Some experience with agentic software development
Full description
About the role:
The Submission and Editorial platform is at the heart of Elsevier's publishing ecosystem, supporting millions of interactions between researchers, editors, reviewers, and publishers every year. Our team provides the Document Intelligence capabilities that underpin the Submission product portfolio. Using a combination of data science models and LLMs, we transform complex, unstructured documents into structured, trusted, and reusable data, enabling our products and teams to understand submitted content and use that intelligence to create smarter experiences throughout the Submission and Editorial journey. As a Senior Software Engineer on our team, you'll help build the Document Intelligence capabilities that enable Elsevier's Submission products to understand scientific content on a scale. You'll work on services that transform complex, unstructured manuscripts into structured, meaningful information and knowledge through document transformation, metadata extraction, content enrichment, and entity recognition. You'll help turn this intelligence into capabilities that power smarter submission and editorial experiences, from automating traditionally manual processes to enabling content discovery and new AI-driven features across the Submission portfolio. We combine AWS, event-driven architectures, microservices, data science, and AI/LLM capabilities to build reliable, secure, and highly scalable Document Intelligence services. You'll work at the intersection of software engineering, data engineering, and AI, solving challenging problems around understanding and processing millions of research documents within Elsevier's publishing ecosystem.
- Designing, developing, and deploying applications in a cloud-hosted distributed system to build our next-generation product
- Collaborating with business stakeholders to identify requirements and gather feedback in a fast-moving environment.
- Providing input into architectural decisions to ensure stability and performance
- Identifying and implementing enhancements to continually improve our delivery process
- Partnering with cross-functional Agile and DevOps implementation teams
- Taking ownership of services throughout their lifecycle, including architecture, implementation, deployment, observability, operational support, and continuous improvement.
- To be successful in this role, you will demonstrate proficiency in some of our requirements, with a willingness to learn new ones as needed.
- Demonstrate some proficiency in most of these technologies: Python, Java, Spring / Spring Boot, SQL, with a willingness to learn the others.
- Demonstrate proficiency in distributed and event-driven solutions using Kafka and AWS cloud services.
- Display experience with build tools, Git, and continuous integration (GitHub Actions / Jenkins)