Technical Lead - Java
Endava · Bengaluru, Karnataka, in
Endava · Bengaluru, Karnataka, in
Technology is our how. And people are our why. For over two decades, we have been harnessing technology to drive meaningful change.   By combining world-class engineering, industry expertise and a people-centric mindset, we consult and partner with leading brands from various industries to create dynamic platforms and intelligent digital experiences that drive innovation and transform businesses.   From prototype to real-world impact - be part of a global shift by doing work that matters. Overview We are looking for a skilled and experienced Java Full Stack Developer to join our development team. The ideal candidate will have a solid background in object-oriented programming, strong experience with Spring, and practical frontend experience with . This role requires a collaborative mindset, a sharp eye for detail, and an interest in developing high-quality, scalable, and maintainable software systems. ________________________________________ Key Responsibilities •    Design, develop, test, and maintain high-performance, reusable Java applications. •    Build and consume RESTful APIs to enable backend-to-frontend integration •    Apply object-oriented programming principles, design patterns, and clean code techniques. •    Build automated unit and integration tests using JUnit and Mockito. •    Develop and maintain frontend components using React JS, JavaScript, and related technologies. •    Analyze requirements and propose effective technical solutions considering functional and non-functional requirements. •    Participate in the full software development lifecycle (SDLC), including design, implementation, testing, deployment, and support. •    Collaborate with DevOps and QA teams to ensure seamless integration, deployment, and operation. •    Use of GridGain or Apache Ignite or any in-memory platform. •    Work with messaging systems such as RabbitMQ; IBM MQ experience is a plus. •    Use tools such as Git, Maven, Jenkins, and Docker in daily development and deployment workflows. •    Write and maintain documentation of software components and code. •    Conduct and participate in peer code reviews and design discussions. •    Ensure performance, security, and availability of applications. •    Apply software design standards, guidelines, and design patterns. •    Identify and address technical risks and issues; propose and implement practical solutions. •    Maintain a proactive attitude toward learning and adopting new tools and frameworks. ________________________________________ Required Skills and Qualifications •    Degree in Computer Science, Engineering, or a related field, or equivalent professional IT qualification. •    Proven experience in Java development, preferably with Java 8 or higher. •    Strong knowledge of Spring Framework, Spring Boot, Junit, and Mockito. •    Demonstrated experience in frontend development using React JS and JavaScript. •    Strong experience in GridGain or Apache Ignite or any in-memory platform.. •    Solid understanding of RESTful API design and implementation. •    Familiarity with RabbitMQ, XML/XSD, Git, Maven, Docker, and Jenkins. •    Knowledge of software design principles, OOP, and design patterns. •    Broad experience in IT projects and an understanding of enterprise systems architecture. •    Good understanding of software development processes, CI/CD •    Awareness of DevOps tools/practices is beneficial. •    Ability to write clean, testable, maintainable, and efficient code. •    Strong problem-solving, analytical, and debugging skills. •    Attention to detail with a commitment to producing high-quality results. •    Effective communication and collaboration skills, including code reviews and knowledge sharing. ________________________________________ Nice to have •    Exposure to Apache Camel or other integration frameworks. •    Experience working in Banking or Payments industry Overview We are looking for a skilled and experienced Java Full Stack Developer to join our development team. The ideal candidate will have a solid background in object-oriented programming, strong experience with Spring, and practical frontend experience with React JS. This role requires a collaborative mindset, a sharp eye for detail, and an interest in developing high-quality, scalable, and maintainable software systems. ________________________________________ Key Responsibilities •    Design, develop, test, and maintain high-performance, reusable Java applications. •    Build and consume RESTful APIs to enable backend-to-frontend integration •    Apply object-oriented programming principles, design patterns, and clean code techniques. •    Build automated unit and integration tests using JUnit and Mockito. •    Develop and maintain frontend components using React JS, JavaScript, and related technologies. •    Analyze requirements and propose effective technical solutions considering functional and non-functional requirements. •    Participate in the full software development lifecycle (SDLC), including design, implementation, testing, deployment, and support. •    Collabo