
Backend Developer - Java - Government
Posted 2 weeks ago by Methods Business and Digital Technology Limited
£600 Per day
Outside
Remote
Remote uk
Summary: The Backend Developer role focuses on designing, developing, and maintaining Back End systems using Java technologies, with an emphasis on collaboration with cross-functional teams to deliver scalable solutions. The position requires writing clean, efficient code and troubleshooting complex technical issues while ensuring high performance and reliability of services. The developer will also leverage cloud services, particularly Azure, and participate in Agile development processes. Additionally, mentoring junior colleagues is a key aspect of the role.
Key Responsibilities:
- Design, develop, and maintain Back End services using Java 8/17, Spring Boot, and Java EE.
- Implement and maintain REST APIs based on RAML specifications, ensuring they are secure, scalable, and high-performing.
- Apply CQRS (Command Query Responsibility Segregation) and Eventual Consistency principles to design robust distributed systems.
- Utilize Event Sourcing and Pub/Sub systems to support event-driven architectures.
- Write and maintain automated unit and integration tests using JUnit, Mockito, and Wiremock to ensure high-quality code.
- Work with Apache Dataspike for performance testing and profiling to optimize system performance.
- Leverage Liquibase for database versioning and schema management with Postgres/SQL and Active MQ.
- Design and implement microservices in a Microservice-based Architecture, ensuring they are scalable, maintainable, and fault-tolerant.
- Manage containerized applications and services using Docker, Kubernetes, and Azure Kubernetes Service (AKS).
- Develop and deploy solutions on Azure, utilizing services like Function Apps (Azure) and Azure DevOps.
- Collaborate with cross-functional teams to define and implement scalable architectures and solutions.
- Participate in Agile development processes, contributing to sprint planning, code reviews, and knowledge sharing.
- Ensure high system reliability by applying monitoring, logging, and alerting best practices.
Key Skills:
- Proven experience as a Backend Developer with a strong focus on Java 8/17 and Spring Boot.
- Experience designing and implementing REST APIs using RAML.
- Strong knowledge of CQRS, Event Sourcing, and Eventual Consistency patterns.
- Familiarity with Domain Driven Design principles.
- Strong experience with Postgres/SQL and Active MQ.
- Solid understanding of microservice-based architecture and Pub/Sub systems.
- Experience with JUnit, Mockito, and Wiremock for testing purposes.
- Proficiency in version control systems, such as Git.
- Knowledge of Azure, including Function Apps and Azure DevOps.
- Proficiency in containerization using Docker and orchestration with Kubernetes.
- Strong problem-solving skills, with an emphasis on debugging and troubleshooting complex Back End issues.
- Ability to work in a collaborative, fast-paced environment and adapt to changing project requirements.
Salary (Rate): £600 per day
City: undetermined
Country: UK
Working Arrangements: remote
IR35 Status: outside IR35
Seniority Level: undetermined
Industry: IT
Detailed Description From Employer:
The Back End Developer will have the following responsibilities:
- Design, develop, and maintain Back End systems and services using Java.
- Collaborate with Front End developers and other cross-functional teams to deliver seamless and scalable solutions.
- Write clean, efficient, and well-documented code following best practices and industry standards.
- Troubleshoot and resolve complex technical issues related to Back End systems.
- Participate in code reviews and contribute to the continuous improvement of development processes.
- Ensure high-performance and reliability of Back End services through proper architecture and testing.
- Leverage Azure services to optimize cloud-based solutions (if applicable).
- Stay up-to-date with emerging technologies and incorporate them into the development process.
- Collaborate and work closely with other disciplines to develop designs and working prototypes based on user needs and in support of organisational aims
- Translate agreed designs into working user interfaces following modern standards
- Manage and document technical complexity to make sure work is easily maintained and reusable
- Develop software components that form part of a product to meet user needs
- write clean, well-tested code that follows web standards
- Coach and mentor more junior colleagues
Key Responsibilities:
- Design, develop, and maintain Back End services using Java 8/17, Spring Boot, and Java EE.
- Implement and maintain REST APIs based on RAML specifications, ensuring they are secure, scalable, and high-performing.
- Apply CQRS (Command Query Responsibility Segregation) and Eventual Consistency principles to design robust distributed systems.
- Utilize Event Sourcing and Pub/Sub systems to support event-driven architectures.
- Write and maintain automated unit and integration tests using JUnit, Mockito, and Wiremock to ensure high-quality code.
- Work with Apache Dataspike for performance testing and profiling to optimize system performance.
- Leverage Liquibase for database versioning and schema management with Postgres/SQL and Active MQ.
- Design and implement microservices in a Microservice-based Architecture, ensuring they are scalable, maintainable, and fault-tolerant.
- Manage containerized applications and services using Docker, Kubernetes, and Azure Kubernetes Service (AKS).
- Develop and deploy solutions on Azure, utilizing services like Function Apps (Azure) and Azure DevOps.
- Collaborate with cross-functional teams to define and implement scalable architectures and solutions.
- Participate in Agile development processes, contributing to sprint planning, code reviews, and knowledge sharing.
- Ensure high system reliability by applying monitoring, logging, and alerting best practices.
Essential Skills & Qualifications:
- Proven experience as a Backend Developer with a strong focus on Java 8/17 and Spring Boot.
- Experience designing and implementing REST APIs using RAML.
- Strong knowledge of CQRS, Event Sourcing, and Eventual Consistency patterns.
- Familiarity with Domain Driven Design principles.
- Strong experience with Postgres/SQL and Active MQ.
- Solid understanding of microservice-based architecture and Pub/Sub systems.
- Experience with JUnit, Mockito, and Wiremock for testing purposes.
- Proficiency in version control systems, such as Git.
- Knowledge of Azure, including Function Apps and Azure DevOps.
- Proficiency in containerization using Docker and orchestration with Kubernetes.
- Strong problem-solving skills, with an emphasis on debugging and troubleshooting complex Back End issues.
- Ability to work in a collaborative, fast-paced environment and adapt to changing project requirements.
Nice-to-Have Skills:
- Experience with Microsoft Azure services (eg, Azure Functions, Azure Storage, Azure App Service, Azure Kubernetes Service).
- Familiarity with Kubernetes for container orchestration and management.
- Experience with CI/CD tools and practices, particularly using Azure DevOps.
- Knowledge of Bash Scripts for automation tasks.
- Understanding of Docker and container management in a cloud environment.
- Exposure to Active MQ and Postgres/SQL for messaging and database management.
- Experience with Apache Dataspike for performance testing.
- Familiarity with Event Sourcing and Pub/Sub architectures in distributed systems.
- Experience working with Eventual Consistency and CQRS patterns.
- Knowledge of Domain Driven Design (DDD) principles.
- Understanding of microservice-based architecture and cloud-native design patterns.
This role will require you to have or be willing to go through Security Clearance. As part of the onboarding process candidates will be asked to complete a Baseline Personnel Security Standard; details of the evidence required to apply may be found on the government website. If you are unable to meet this and any associated criteria, then your employment may be delayed, or rejected. Details of this will be discussed with you at interview.