Position: Java Architect
Company: Digitally Inspired
Experience required: 5y
English level: upper

You will be working on one of the largest digital transformation programs in the UK’s Retail Business domain.
Our client is taking on the multi-year journey of redevelopment the legacy IT platform. 

This role is considering the creation methods of development and implementation of different business needs and finding ways of improvement and optimisation of existing systems. 
The main focus is on building a modern, scalable and secure Cloud-Native Retail Platform. Its foundation is the latest technologies such as Apache Kafka for Data Streaming and Integration, Infrastructure as Code in Amazon and Google Clouds, Web Application using JS React, React Native for Mobile and GraphQL for B2B APIs.

You will be responsible for the creation and implementation of tech strategy. Also, part of their duties will be communication with the customer. 

Skills:
— 7 years of experience in the software development industry
— Tech Lead experience
— At least 5 years of experience as a software developer on web projects
— Professional experience with Java, the most recent experience being with Java 8+
— Strong knowledge of and practical experience with Spring IoC (Core/Beans/Context)
— Strong knowledge of REST/SOAP services (e.g. JAX-RS or JAX-WS)
— Experience developing backend architecture, including designing and implementation of CI/CD pipelines
Would be good to have:
— Knowledge of modern front-end technologies
— React/Redux
— GraphQL
— Apache Kafka & Kafka Streams
— Spring Boot, MVC, Security etc
— AWS, K8s, Helm
We offer:
— Competitive compensation depending on experience and skills
— Medical insurance
— 40 hours/week flexible work schedule
— The friendly and supportive company environment
Responsibilities:
— Designing and validation of the system architecture
— Recommend changes to project design concepts to improve efficiency
— Develop design specifications and other system-related documentation
— Verify stability, interoperability, portability, security, and scalability of Java system architecture
— Select apt design solutions and work alongside engineers to ensure the compatibility of system components
— Provide technical guidance and support the development of systems
— Identify system data, hardware, and software components required to meet user needs
— Convey architectural solutions to all levels of professionals and leaders
— Ensure compliance with established architecture, design patterns, policies, standards, and best practices
— Design, develop, implement, and maintain a series of programs, subsystems, revisions, and enhancements of the current system