Software Engineer (Java)About the RoleWe're looking for a talented Software Engineer to join our clients' engineering team and help build highly scalable, resilient, and secure software solutions. You'll work alongside cross-functional teams to design, develop, and operate cloud-native applications that support business-critical services and deliver exceptional user experiences. This role offers the opportunity to work with modern technologies, distributed systems, cloud infrastructure, and emerging AI capabilities while contributing to products used at scale.Key ResponsibilitiesDesign, develop, test, and maintain high-quality software solutions using JavaBuild scalable, resilient microservices and APIs following modern software engineering practicesDevelop and deploy cloud-native applications using Kubernetes and AWS.Collaborate with Product Managers, Designers, Engineers, and other stakeholders to deliver high-quality solutions.Contribute to the design and evolution of system architecture with a focus on scalability, performance, security, and reliabilityWrite clean, maintainable, and well-tested code following engineering best practices.Participate in code reviews, technical discussions, and architectural decision-making.Monitor, troubleshoot, and optimise applications in production environmentsContribute to CI/CD pipelines and automation to improve software delivery.Explore and implement AI and Large Language Model (LLM) capabilities where they add value to products, services, or engineering workflows.Continuously improve engineering standards, processes, and team knowledge.Required Skills & ExperienceStrong commercial experience developing software using Java.Excellent understanding of Core Java, including concurrency, collections, multithreading, and JVM fundamentals.Experience building RESTful APIs and microservices.Strong understanding of distributed systems and cloud-native architectures.Experience deploying and managing applications on Kubernetes.Experience working with AWS services.Experience with Docker and containerised applications.Knowledge of relational and/or NoSQL databases.Experience with CI/CD pipelines and modern DevOps practices.Strong understanding of software engineering principles, object-oriented design, and design patterns.Experience writing automated unit, integration, and functional tests.Strong analytical, problem-solving, and debugging skills.Excellent communication and collaboration skills.AI & Emerging TechnologiesExperience in one or more of the following is desirableBuilding applications that integrate with Large Language Models (LLMs).Prompt engineering and AI-assisted development.Retrieval-Augmented Generation (RAG).AI orchestration frameworks such as LangChain or similar.Implementing AI-powered features in production environments.Using AI tools to improve software development workflows and productivityNice to HaveReact and TypeScript.Spring Boot and the Spring ecosystem.Event-driven architectures and messaging platforms such as Kafka.Infrastructure as Code (Terraform or CloudFormation).Redis or distributed caching technologies.Elasticsearch or OpenSearch.Observability tools such as Prometheus, Grafana, OpenTelemetry, Datadog, or New Relic.Experience working with high-volume, distributed systems.Knowledge of security best practices and secure software developmentWhat You'llBringA passion for building high-quality software.A collaborative mindset and willingness to share knowledge.Curiosity and a commitment to continuous learning.A proactive approach to solving complex technical challenges.The ability to balance technical excellence with delivering business value.Ownership, accountability, and a focus on delivering reliable, maintainable solutions
Sourced from LinkedIn. Relocantly aggregates public job postings; apply on the original site.