Position: Java Developer, Microservices
Company: DataArt
Experience required: 2y
Category: Java
English level: intermediate
Published: 2021-10-01T00:00:00+03:00

**About the vacancy**

Our client is one of the biggest online retailers worldwide with yearly revenue of £2+ billion. We are looking for a backend Java developer to design APIs and expand the microservices running within AWS to connect new business areas to an already existing platform. The team plays a key role in integrating several external warehouses, dark stores, and physical stores to client's logistics network. The team also leads the design of the APIs and adapters used to achieve this, partnering with other teams. A crucial deliverable we are working on is to come up with innovative solutions helping decouple the custom work required to adapt each new and different external source to the logistics network, so that future integrations become more automatic and seamless.

**Responsibilities**
- Participate effectively in all stages of the systems development life cycle, including:
- Requirements analysis
- Software and data design
- Software construction (coding)
- Development and execution of application tests including unit, integration, system, regression, and performance
- Deployment of production-ready code
- Maintenance and support of existing systems
- Investigation and resolution of production issues
- Performance tuning
- Code review and change control
- Ad hoc reporting and analysis
- Research, development & optimisation
- The candidate will also:
- Align different teams and products to adapt to standardised APIs
- Identify technical debt and potential improvements
- Help make client's software testable and adequately tested in an automated way
- Design and implement software and underlying architecture
- Gather data to verify assumptions and provide immediate feedback to all stakeholders
- Implement monitoring and alerting
- Seek to improve the system
- Work closely with team leaders to set technical direction within the team and to ensure software developed is of a consistently high standard, cohesive, and meets business objectives
- Assist team leaders to ensure projects are accurately estimated and delivered to schedule

**Must have**
- Higher education in Computer Science, Software Engineering,
- Physics or similar
- Experience using Java
- Experience using the Spring Framework
- Experience in working with REST APIs
- Experience in writing unit, integration, and end-to-end tests
- Excellent communication skills
- Good English

**Would be a plus**
- SRE knowledge
- Experience in building and running Gitlab CI/CD pipelines
- Experience with relational and NoSQL databases
- Knowledge of Cloud-based environments (Google Cloud Platform, AWS)