Roles and responsibilities
- 7+ years of experience in development of enterprise desktop, Web applications with backend and frontend responsibilities using Java J2EE technologies (Java 1.6 onwards)
- 7+ years of experience with frontend technologies object-oriented HTML 5, CSS, JavaScript and TypeScript
- 7+ years of experience with frameworks like Spring, Spring Boot, Spring JPA
- 7+ years of experience in developing APIs (REST & SOAP protocols).
- 4+ years of experience with relational databases like Oracle, SQL Server etc.
- 4+ years of experience in application design using design principles, patterns and best practices.
- 4+ years of Experience in Unit Testing Framework (UI and server side) using technologies like Jasmine, Jest, Karma, Junit, Mockito, Jmock.
- Minimum 7 years of 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.
- 4+ years of experience in Microservices development
- 4+ years of experience with Lean / Agile development methodologies
- 4+ years of experience with Application Performance monitoring using AppDynamics or any monitoring tool.
- 4+ years of experience in developing applications using cloud platforms (either AWS or Azure)
- 2+ years of experience with non-relational databases like Couchbase
- 2+ years of experience in creating configuration build and test scripts for Continuous Integration environments (Jenkins, Ant & Maven Tools)
- 2+ years of experience/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
. 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).
5. Cloud Computing and Infrastructure
- Cloud Platforms: Familiarity with cloud services, such as AWS, Google Cloud Platform (GCP), or Microsoft Azure, and understanding how to leverage cloud-native services for storage, compute, networking, and security.
- Containerization and Orchestration: Experience with Docker for containerization and Kubernetes for orchestrating microservices and handling deployment in cloud environments.
- Serverless Architecture: Understanding of serverless computing concepts, and how to design and deploy Java-based applications using serverless services like AWS Lambda or Azure Functions.
6. DevOps and Continuous Delivery
- CI/CD Pipelines: Expertise in setting up Continuous Integration (CI) and Continuous Delivery (CD) pipelines using tools like Jenkins, GitLab CI, Azure DevOps, or CircleCI.
- Infrastructure as Code (IaC): Familiarity with IaC tools like Terraform, AWS CloudFormation, or Ansible to automate infrastructure provisioning and configuration.
- Monitoring and Logging: Experience with monitoring and logging tools like Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana), and Splunk to track application performance and health.