Roles and responsibilities
- Strong experience in development of enterprise desktop, Web applications with backend and frontend responsibilities using Java J2EE technologies (Java 1.6 onwards)
- 10+ years of experience with frontend technologies object-oriented HTML 5, CSS, JavaScript and TypeScript
- Strong experience with frameworks like Spring, Spring Boot, Spring JPA
- Good experience in developing APIs (REST & SOAP protocols).
- Strong experience with relational databases like Oracle, SQL Server etc.
- Must have experience in application design using design principles, patterns and best practices.
- Experience in Unit Testing Framework (UI and server side) using technologies like Jasmine, Jest, Karma, Junit, Mockito, Jmock.
- Experience in full stack application design and development primarily in Java 8.0/17, Microservices, ReactJS.
- Expertise with 7 years of experience in Oracle SQL, SpringBoot, Spring JPA, Restful Services, HTML5.0, CSS3, MAVEN/Gradle.
- Experience in Microservices development
- Experience with Lean / Agile development methodologies
- Experience with Application Performance monitoring using AppDynamics or any monitoring tool.
- Good to have worked in applications using cloud platforms (either AWS or Azure)
- Knowledge in Integration tools like Informatica, TIBCO, Snaplogic and Solace - added advantage.
Roles & Responsibilities:-
- Experience in API Development & deployment , strong knowledge of REST & SOAP protocols, Integration, and messaging tools like Snaplogic and Solace, Kafka, JMS
- Strong understanding of modern integration patterns such as event-driven architecture, API-led connectivity, and microservices-based integration.
- Knowledge of domain-driven design concepts and have experience designing and implementing microservices using modern development practices and tools
- Good understanding of DevOps practices, including Continuous Integration, Continuous Deployment, Continuous Delivery, security/data standards and policies.
- Expert in performance monitoring and tuning for large-scale distributed applications. Strong analytical and troubleshooting skills in optimising application and database performance.
- Practical experience working in agile development and proficiency in usage of tools for agile development ( JIRA, Confluence etc)
- Candidates should have good communication skills and be able to collaborate effectively with other team members, including developers, testers, and stakeholders.
Desired candidate profile
1. Core Java Expertise
- Java SE (Standard Edition): In-depth knowledge of core Java features, including object-oriented programming (OOP), Java collections, exception handling, and Java APIs.
- Concurrency and Multithreading: Expertise in Java concurrency, thread management, synchronization, and parallel programming to build scalable applications.
- Java Memory Management: Understanding the Java garbage collection mechanism, memory leaks, and optimization techniques to ensure efficient memory use.
- Java 8+ Features: Familiarity with modern Java features such as lambdas, streams, default methods, Optional, and the new Date/Time API.
2. Software Architecture
- Design Patterns: Deep understanding of common design patterns such as Singleton, Factory, Observer, Decorator, Strategy, and Adapter to create reusable, maintainable, and scalable software.
- Microservices Architecture: Expertise in designing and implementing microservices-based applications using tools like Spring Boot, Spring Cloud, or Quarkus for building modular, independently deployable services.
- Monolithic vs. Microservices: Ability to decide when to use monolithic architecture or microservices based on business and technical requirements, and understanding the trade-offs involved.
- Service-Oriented Architecture (SOA): Knowledge of service-oriented principles, with a focus on designing loosely-coupled and reusable services that communicate via well-defined interfaces.
- Event-Driven Architecture: Experience designing systems using asynchronous communication patterns, with event-driven architectures leveraging tools like Kafka, RabbitMQ, or ActiveMQ.
3. Frameworks and Technologies
- Spring Framework: Expertise in Spring Core, Spring Boot, Spring MVC, Spring Data, and Spring Security for building enterprise-level applications.
- Spring Cloud: Experience in using Spring Cloud for building distributed systems, including features like service discovery, configuration management, and distributed tracing.
- JEE (Jakarta EE): Knowledge of Java Enterprise Edition (JEE), including technologies such as EJB, JPA, JMS, Servlets, and JSP.
- Hibernate: Proficiency in using Hibernate for Object-Relational Mapping (ORM) and understanding its integration with Spring and other Java frameworks.
- JAX-RS / RESTful APIs: Experience in designing RESTful APIs using JAX-RS or frameworks like Spring REST or Jersey.
4. Scalability and Performance
- Scalability: Ability to design systems that can scale horizontally (across multiple machines) and vertically (using more powerful hardware), with strategies like load balancing, clustering, and partitioning.
- Performance Optimization: Proficiency in performance tuning Java applications, including profiling, JVM optimization, garbage collection tuning, and efficient use of resources.
- Caching: Experience in implementing caching solutions using technologies like Redis, Ehcache, or Memcached to optimize system performance.
- Database Optimization: Expertise in optimizing SQL queries, database design, and tuning database connections to enhance application performance. Familiarity with NoSQL databases (e.g., MongoDB, Cassandra, Couchbase) and SQL databases (e.g., MySQL, PostgreSQL).