We are seeking a highly skilled and experienced Java expert to join our team as a Consultant - Java. In this role, you will be responsible for designing and implementing scalable, high-performance systems while driving technical excellence across the organisation. You will work closely with cross-functional teams to architect, design, and deliver robust solutions using cutting-edge technologies. This is a hands-on role that requires deep expertise in Java, system design, and modern software development practices.
Responsibilities:
- Architect and Design Systems: Lead the design and architecture of scalable, distributed, and high-performance systems using Java, Spring Boot, and microservices.
- Hands-on Development: Write clean, efficient, and maintainable code in Java, ensuring adherence to best practices and design principles.
- System Design: Create detailed system designs, including high-level architecture, component diagrams, and data flow, to solve complex business problems.
- Microservices Development: Design and implement microservices-based architectures, ensuring scalability, fault tolerance, and high availability.
- Big Data Integration: Work with big data technologies to design and implement data pipelines, processing frameworks, and storage solutions.
- Database Expertise: Design and optimise database schemas and queries for MongoDB and other NoSQL/relational databases.
- Technical Leadership: Provide technical guidance and mentorship to engineering teams, ensuring adherence to design principles and coding standards.
- Collaboration: Work closely with product managers, stakeholders, and other engineering teams to understand requirements and deliver high-quality solutions.
- Performance Optimisation: Identify and resolve performance bottlenecks in applications and systems.
- Innovation: Stay updated with the latest trends and advancements in technology, and recommend their adoption where appropriate.
Requirements:
- Proven Experience: Hands-on experience in Java development, with a strong focus on system design and architecture.
- Java Expertise: Deep understanding of Java, including multithreading, concurrency, and performance optimisation.
- Spring Boot: Extensive experience with Spring Boot and related frameworks for building enterprise-grade applications.
- Microservices Architecture: Strong knowledge of microservices design patterns, RESTful APIs, and service orchestration.
- System Design: Expertise in designing scalable, distributed systems with a focus on high availability and fault tolerance.
- Big Data Technologies: Hands-on experience with Big Data tools and frameworks (e. g., Hadoop, Spark, Kafka, etc. ).
- MongoDB: Proficiency in working with MongoDB, including schema design, indexing, and query optimisation.
- Design Principles: Strong understanding of software design principles, including SOLID, DRY, and design patterns.
- Hands-on Coding: Ability to write high-quality, production-ready code and perform code reviews.
- Problem-Solving: Excellent analytical and problem-solving skills with a focus on delivering scalable solutions.
- Collaboration: Strong communication and interpersonal skills to work effectively with cross-functional teams.
- Experience with cloud platforms (e. g., AWS, Azure, GCP) and containerisation technologies (e. g., Docker, Kubernetes).
- Familiarity with CI/CD pipelines and DevOps practices.
- Knowledge of event-driven architectures and messaging systems (e. g., RabbitMQ, Kafka).
- Experience with monitoring and logging tools (e. g., Prometheus, Grafana, ELK stack).