About the role
We are seeking an experienced Principal Java Developer with 12-15 years of hands-on experience in designing, developing, and delivering enterprise-scale applications. The ideal candidate will provide technical leadership, drive architecture decisions, mentor engineering teams, and build highly scalable, secure, and resilient distributed systems.
Responsibilities:
- Lead the design and development of large-scale Java-based enterprise applications.
- Define application architecture, technical standards, and best practices.
- Design and implement microservices, REST APIs, and cloud-native solutions.
- Collaborate with product managers, architects, and business stakeholders to translate requirements into technical solutions.
- Drive system scalability, performance optimisation, reliability, and security initiatives.
- Review code, conduct design reviews, and ensure adherence to coding standards.
- Mentor and guide development teams on Java, system design, and software engineering practices.
- Lead technical discussions and provide solutions for complex business problems.
- Ensure CI/CD implementation, automated testing, and DevOps best practices.
- Participate in production support, troubleshooting, and root cause analysis for critical issues.
- Evaluate and adopt emerging technologies to improve development efficiency and system performance.
Requirements:
- Strong expertise in Java 8/11/17+.
- Advanced knowledge of Spring Boot, Spring MVC, and Spring Security.
- Experience with Microservices Architecture.
- Strong understanding of RESTful APIs and API Gateway concepts.
- Expertise in Hibernate/JPA.
Cloud and DevOps:
- Hands-on experience with AWS, Azure, or Google Cloud Platform.
- Experience with Docker and Kubernetes.
- CI/CD tools such as Jenkins, GitHub Actions, GitLab CI/CD, and Azure DevOps.
- Infrastructure and deployment automation knowledge.
Databases:
- Strong experience with Oracle, PostgreSQL, and MySQL.
- Experience with NoSQL databases such as MongoDB, Cassandra, or DynamoDB.
- Database performance tuning and optimisation.
Distributed Systems:
- Experience with Apache Kafka, RabbitMQ, or other messaging platforms.
- Knowledge of event-driven architecture and asynchronous processing.
- Strong understanding of scalability, fault tolerance, and high availability.
Software Engineering:
- Strong knowledge of Design Patterns, SOLID Principles, and OOP.
- Experience with System Design and Solution Architecture
- Expertise in Agile/Scrum methodologies
- Test-driven development (TDD) and unit testing frameworks (JUnit, Mockito).
Preferred Skills:
- Experience with AI/ML integrations, LLM APIs, or GenAI applications.
- Experience with Model Context Protocol (MCP) integrations.
- Exposure to observability tools such as Splunk, ELK, Grafana, Dynatrace, or Prometheus.
- Experience in FinTech, Retail, E-commerce, or Banking domains.
Leadership Expectations:
- Lead multiple development teams and technical initiatives.
- Mentor senior developers and architects.
- Drive architecture governance and technology strategy.
- Influence engineering best practices across the organisation.
- Communicate effectively with executive stakeholders and cross-functional teams.
- Bachelor's or Master's degree in Computer Science, Information Technology, or a related field.
Nice-to-Have Skills:
- GenAI, LLMs, RAG, Vector Databases.
- MCP (Model Context Protocol).
- Python for AI integrations.
- Terraform or Infrastructure as Code (IaC).
- OpenShift and container orchestration platforms.