Post Job Free

Resume

Sign in

Spring Boot Web Services

Location:
Toronto, ON, Canada
Posted:
September 05, 2023

Contact this candidate

Resume:

Professional Summary:

•A passionate Backend Java developer with over 12+ years of experience in a complete Software Development Life Cycle, including Requirement Analysis, Design, Coding, Testing, Implementation, and Maintenance.

•Experience in design & development of enterprise web applications, and web services in Java, J2EE, and related technologies.

•Well-versed with Algorithms & Data Structures, Object Oriented Design, Agile methodology, Waterfall Methodology and Test-Driven Development

•Excellent experience in developing Web-based and Enterprise applications using Java, JSP, Struts, Spring (Both Annotations and Java Config), Spring Boot, Hibernate, Servlets, JDBC, JNDI, JMS, XML, XSLT, WS, and J2EE technologies.

•Experience in Java 8 and Java 11 (Lambdas, Streams, Multithreading).

•Good experience with developing AWS applications using EC2/ECS, DynamoDB, Lambda, S3, IAM, SQS, VPC, and CloudWatch.

•Good understanding of Cloud formation and CDK techniques for configuring application infrastructure in the AWS cloud.

•Experience with developing Spring Boot-based microservices in the Pivotal Cloud Foundry environment.

•Expertise in implementing IOC/Dependency injection features in various aspects of Spring Framework like Spring Core, Spring Boot, and Spring MVC.

•Proficient in developing J2EE enterprise applications in Service Oriented Architecture and Micro Service Architecture using containerized software – Kubernetes

•Experience with messaging systems like RabbitMQ and knowledge in Kafka, Kafka event sourcing,

•Thorough understanding and experience using MySQL, SQL Server databases, and writing SQL or PL/SQL Queries.

•Good experience in logging systems like Log4J, and Slf4J.

•Well experienced in functional and technical systems analysis, architectural design, interface, and API designs.

•Experience with enterprise application techniques, including web services like REST, JSON, XML, SOAP, and HTTP

•Extensive knowledge in database transaction management by integrating JDBC, Hibernate with Spring Boot.

•Extensive experience in building Microservices using Spring Boot, Netflix OSS, and spring cloud and deployed to AWS Cloud.

•Experience with container-based deployments using Docker working with Docker images, Docker Hub and Docker registries, and Kubernetes.

•Efficient in gathering, detailing, documenting, and validating business, and functional requirements.

•Experience in designing small microservices for Service Oriented Architecture (SOA).

•Expertise in using different configuration management tools like Git, GitHub, and SVN.

•Experience in using ANT, and MAVEN tools to compile, package, and deploy the application components to web servers.

•Experience in using Junit, Mockito for writing unit and integration tests.

•Work with Splunk and distributed tracing systems using Zipkin to monitor and analyze log data which is used to debug high priority issues.

•Experience in installing, configuring, tuning IBM web sphere, Apache Tomcat, and JBOSS web servers.

•Quick learner of new technical concepts with a mindset focused on continuous improvement

•Ability to manage multiple projects while meeting challenging deadlines

Technical Skills:

•Programming Languages: Java, Java 1.8

•Java/J2EE Technologies: J2EE, Servlet, JNDI, JMS, JavaBeans, JDBC/JPA

•Distributed Technologies: REST, SOAP, JSON/XML

•Database: SQL Server, MySQL, SQLite, Mango DB

•Cloud Technologies: Pivotal Cloud Foundry, AWS Lambda, AWS DynamoDB, AWS CloudWatch, AWS S3, AWS SQS, AWS EC2/ECS, AWS IAM

•Frameworks: Spring MVC, Spring Boot, Hibernate

•Application Servers: Apache Tomcat, JBoss, and Web Sphere

•Operating Systems: Windows and Linux

•Testing Tools: Junit, Mockito

•Build Tools: Ant, Maven, Gradle, and Jenkins

•Version Control: Git, GitHub, and SVN

•Tools & Other Technologies: Eclipse, JIRA, Docker, Splunk, Kibana, Docker, Kubernetes, STS, IntelliJ

Professional Experience:

Client: ATB Financial, Canada August 2022 to Present

Role: Java Microservices Developer

Responsibilities:

•Involved in programming, testing, debugging, implementing, and maintaining of Java client/server distributed applications to meet organizational needs.

•Prepared detailed design documents for backend APIs by including requirements, class diagrams, sequence diagrams, and data flow models.

•Designed and developed applications in the cloud using Java, Spring, and AWS technologies

•Used Spring Boot, RESTful web services, Hibernate, and AWS DynamoDB for developing backend microservices in Java

•Built AWS Lambda services that are integrated with AWS DynamoDB to handle event-driven requests

•Extensive experience in developing Microservices using Spring Boot, Netflix OSS (Zuul, Eureka, Ribbon, Hystrix, Zipkin), and followed domain-driven design

•Used Cloud formation templates and CDK to build cloud formation stacks in AWS infrastructure

•Used CI/CD pipelines to deploy the application code to the AWS cloud

•Built CRUD REST APIs using Spring REST web services for accessing backend information present in the DynamoDB databases

•Performed server-side validations using the Spring framework

•Worked on AWS CloudWatch for monitoring the application performance and to store the logging information

•Written testable code with proper design that has comprehensive Junit tests and Integration tests

•Extensively worked with Java Collection classes like List, Set, HashMap, Stacks, and Queues

•Utilized Java 1.8 features like Lambda expressions for collection evaluation and comparing the data, Stream API for Bulk data

•operations on collections which would increase the performance of the Application, Parallel Operations on collections for effective sorting mechanisms and to change the sequential stream flow of threads while session establishment.

•Used Open API standards to define the contracts for messages and APIs, so that clients and providers can easily understand the requirements

•Used JPA and Hibernate with entity beans for interacting persistence layer for CRUD operations.

•Handled operations and maintenance support for AWS cloud resources which includes launching, maintaining, and troubleshooting EC2 instances, S3 buckets, and Auto Scaling. Also created snapshots for data to store in AWS S3.

•Strong experience with MongoDB development (reports, schema design, map reduce functions) and migrations from SQL relational databases to NoSQL databases like MongoDB

•Performed continuous analysis of system activity to proactively identify areas of improvement and concern

•Created new developer onboarding documentation by including all project and environment setup

•Developed end-to-end data processing pipelines that begin with receiving data using distributed messaging systems Kafka

•Reduced operational burden in the team by configuring different service metrics, latency, and low-traffic alarms which prevented unnecessary false tickets

•Configured load tests that prevented outages due to high CPU/memory usage on service hosts

•Extensively worked with QA teams coordinating testing, deployment, and release cycles

•Communicated with stakeholders and management teams on a regular basis to clarify questions/concerns

•Worked on Performance defects and helped the team identify possible solutions to reduce unnecessary expensive backend calls. Worked on maintaining the SLA and even improving the response times.

•As support on-call, performed root cause analysis and troubleshooting to resolve customer issues and operational tickets.

Environment: Java8, Junit, Hibernate, J2EE, Spring Boot, REST API, Microservices, AWS Dynamo DB, AWS Lambda, AWS IAM, AWSVPC AWS DevOps, Kafka

Client: Mphasis Ltd, Ind

Role: Java Microservices Developer April 2020 to July 2022

Responsibilities:

•Requirement Analysis and documentation as per SDLC Methodologies using Agile Methodology.

•Participated in all development activities within Agile development methodology and Test Driven Development (TDD) environment.

•Experience with Agile Development Methodology including Extreme Programming (XP) and Scrum Lifecycle Practices including Pair Programming, Test Driven Development (TDD).

•Responsible for obtaining requirements, designing, analyzing, developing, validating data, and testing the system. Designed and coded application components in an Agile/TDD environment utilizing a test-driven development, SDET approach, and pair Programming.

•Designed and developed enterprise applications using Spring Boot and implemented REST web services based on RESTful APIs

•Developed code using design patterns like DAO, Factory Pattern, Singleton, and Value Objects.

•Implemented Microservices architecture using Spring Boot for smaller and independent applications.

•Implemented Spring Retry based on Hystrix circuit breaker fallback response

•Implemented Hystrix circuit breaker pattern to handle timeout errors when the services are down.

•Responsible for migrating existing modules in IBM MQ to Apache Kafka and worked on creating Kafka adaptors for decoupling the application dependency.

•Implemented microservices based on RESTful API utilizing Spring Boot.

•Involved in developing code for obtaining bean references in Spring framework using Dependency Injection (DI) using annotations.

•Integrated Spring DAO for data access using Hibernate to fetch data from the database.

•Designed and developed API with all the CRUD capabilities using REST.

•Worked on Lambda Expressions, Stream APIs, Time API, and Functional interfaces by using Java 8.

•Worked with NoSQL database to store JSON-like dynamic connections data.

•Performed CRUD operations like updating, Inserting, and Deleting data in Cassandra and Oracle database management systems and

•handled database access and data transmission based on RESTful web service.

•Created Visualizations and Metrics Dashboards and visualized data indexed in Splunk and logged the data.

•Developed unit test cases using JUnit and ensure the code coverage report.

•Used GIT version control and JIRA to track problems.

•Worked with the testing team to complete scheduled development tasks according to the project timeline

Environment: JDK 1.8, J2EE, Spring Boot, Spring, Hibernate, Microservices, RESTful Web Services, Splunk, IntelliJ, JUnit, ApacheMQ, Kafka, Oracle 12c, Cassandra, Tomcat, Log4j, Maven, GIT.

Client: Capgemini,Bangalore, Ind

Role: Java Microservices Developer March 2019 to March 2020

Responsibilities:

•Responsible for designing and developing the middleware application for the payment interface.

•Incorporated various Java and J2EE design patterns for efficient and error-free programming.

•Used Spring Framework for Dependency injection and integrated with Hibernate.

•Developed microservices and Restful Web Services using Spring Boot, Spring Data with JPA.

•Configured Hibernate Mapping files for mapping the domain objects to the database tables and their corresponding properties to the table columns.

•Used Log4j for external configuration files and debugging.

•Built cloud formation stacks utilizing JSON templates to deploy microservices as part of Jenkins.

•Maintained version control using Git.

•Designed and developed Message-driven architectures that consumed the JMS messages from the Java message queue and process the database updating and conversion.

•Used JUnit to conduct Unit testing of Java services.

Client: Robert Bosh Ltd, Bangalore, Ind

Role: Java Developer Sept 2015 to Feb 2019

Responsibilities:

•Worked with Business Analysts, Business Owners, QM Analysts, and Application Support Teams to understand all stakeholder requirements.

•Worked in agile framework as an individual contributor Responsibilities include - Interaction with Business team in story grooming, reviewing story/acceptance criteria.

•Involved in application development: Spring MVC module, DI, AOP, Spring ORM &configuring controllers with annotations and related configuration files

•Developed and Consumed Web services securely using Rest API and tested using postman.

•Developed critical components of the application including spring forms, Spring controllers, JSP views, and business logic and data logic components that include Hibernate Entities, Spring-Hibernate DAO and Spring models following MVC architecture.

•All the functionality is implemented using Spring IO / Spring Boot and Hibernate ORM. Implemented Java EE components using Spring MVC, Spring IOC, spring transactions and spring security modules.

•Implemented, exposed and consumed REST web services using Jersy and Spring.

•Implemented all the components following test-driven development methodology using Junit and Mockito.

•Resolved application-based issues through debugging, market research, and investigation

Client: NIIT Technologies, Bangalore, Ind

Role: Software Developer Aug 2010 to Aug 2015.

Responsibilities:

•Involved in analysis, specification, design, and implementation and testing phases of Software Development Life Cycle SDLC

•Developed business modules with JSP, Servlets, and Execution Service framework which is based on Struts.

•Responsible for system development using Factory, DAO and MVC Design Patterns.

•Involved in writing stored procedures and functions in PL/SQL to access Oracle database.

•Developed Data Access Object (DAO) Adaptors for interacting with the Data Access Objects and controlling the coupling of the system.

•Developed multiple modules individually from front end to back end services.

•Use Java/J2EE technologies to develop web applications for client server environments and add functionalities to existing applications.

•Learned and developed highly interactive and customized UIs using JavaScript, HTML, JSP, and CSS to improve functionality of web applications.

•Developed front end pages and services using Struts framework.

•Performed unit testing of applications by developing and applying test cases in JUnit.

•Worked on EJBs

•Assembled EJB JAR and WAR files in EAR file and deployed in server.

•Consulted and communicated with customers on project status and understanding requirements.

Education:

Bachelor’s in Computer Science July 2001 to May 2004

Masters in Computer Science, July 2005 to May 2008



Contact this candidate