Rishav Karki
Rishav Karki
Rishav Karki
PROFESSIONAL SUMMARY:
Having over 9 years of professional experience as a Java Full Stack Developer working in designing, developing, and
maintaining Java-based applications and webservices.
Knowledge and experience in designing and developing Java-based client-server applications in various domains like
banking, insurance, and other sectors.
Experience in implementing, customization, integration, and support of business application systems and involved in
all phases of the Software Development Life Cycle (SDLC).
Expertise in Core Java concepts like Collections, String, Exception Handling, Multi-Threading, Serialization and
Generics.
Experience in integrating Java 8 features such as Lambda Expressions, Functional Interfaces, Stream APIs, Optional
and Method References.
Excellent understanding of Object-Oriented Programming and its components like Inheritance, Abstraction,
Polymorphism, and Encapsulation.
Strong experience in Spring Framework such as Spring Boot, Lombok, Spring Dev-tools, Spring Actuators, Spring
Starter Dependencies, Spring Security, Spring IOC, Data Access Framework, Spring Data JPA and Microservices to
develop Java EE web services.
Experience with RESTful web services and microservices and have knowledge in developing and deploying them.
Exposure to front-end web development using JavaScript, TypeScript, ReactJS, HTML5, CSS3, Responsive Web
Design, Angular (2,4,6,7,8) and experience in making webpages.
Implemented presentation layer using AngularJS, ReactJS, Typescript, NodeJS, JSON, jQuery, JSP, HTML5, CSS3,
and Bootstrap.
Developed user interface by using ReactJS and also used React forms for data driven form components and React
router to define module level routing.
Experience working with several behavioral, creational, and structural patterns like Model-View-Controller(MVC),
Data Access Object (DAO), Bridge design pattern, Singleton, Builder Pattern and more.
Experience working with Spring Object-Relational Mapping (Spring ORM) to integrate ORM APIs such as Java
Persistence API (JPA), Hibernate, and JDBC.
Experience and knowledge in Developing Microservices implementing various design patterns.
Experience with Relational Database Management System (RDBMS) using MySQL and Oracle, and NoSQL Database
using MongoDB.
Experience in Unit Testing using JUnit and Mockito.
Experience in testing REST APIs’ functionality through Postman.
Familiar with Agile software development methodologies and have experience in working with Scrum framework.
Experience with Git and version control and have strong understanding of branching and merging strategies.
Exposure to Apache Kafka with its Architecture, Producer and Consumer.
Experience in using CI-CD tools like Git, Bitbucket, Jenkins, and Docker with good understanding of Jenkins Pipeline.
Experience with AWS S3 cloud environments and knowledge in deploying and scaling Java applications on cloud
platforms.
Technical Skills:
PROFESSIONAL EXPERIENCE:
Responsibilities:
Spearheaded the migration of The Employee Training Tracking System from legacy systems to a modern microservices
architecture using REST APIs, Java, and Spring Boot.
Architected and developed backend systems using Java, Spring Boot, and Spring Security to ensure a robust, secure,
and scalable foundation for modernized applications.
Orchestrated the decomposition of the monolithic system into microservices, with each microservice employing REST
APIs for real-time communication and data exchange.
Crafted and enhanced RESTful endpoints, implementing CRUD operations, authentication, and authorization
mechanisms through Spring Security for controlled access to sensitive employee data.
Implemented intricate business logic, including real-time training progress tracking, dynamic certification updates, and
personalized training recommendations.
Ensured data security and compliance with industry standards and regulations such as OWASP Top Ten, GDPR, and
HIPAA, employing encryption techniques, access controls, and data anonymization.
Designed and developed RESTful web services using Spring and Hibernate, incorporating security measures, data
validation, and comprehensive exception handling strategies.
Employed Spring Data JPA to establish Object-Relational Mapping, utilizing interfaces such as CrudRepository and
JPARepository for efficient data interaction.
Crafted custom JPA queries using native query language and @Query annotations, facilitating efficient retrieval, and
updating of data from relational databases.
Integration of AWS Elastic Load Balancer (ELB) for dynamic service discovery and registration, optimizing
microservices communication within our AWS environment.
Implemented JWT-based authentication and authorization mechanisms using Spring Security to ensure secure access to
REST APIs.
Orchestrated the integration of Spring Kafka within the microservices ecosystem, enabling reliable communication and
data sharing between services during transactions.
Implemented Apache Kafka for real-time data processing and streaming, ensuring reliable inter-service message
communication and system event tracking in financial transaction processing.
Collaborated with cross-functional teams to design and implement Kafka-based solutions, working closely with
developers, to meet business requirements and ensure smooth deployment and operation.
Collaborated closely with frontend teams, integrating the modernized backend seamlessly into the user interface using
technologies like ReactJS (v18), Axios Library, and Spring Data JPA.
Used React and React Native to implement UI components together with predefined components from the redux
library.
Extensively used React-Router techniques Axios service to retrieve data from the server synchronously.
Conducted unit testing, utilizing Junit, Mockito, and Postman to validate REST API functionality, safeguarding a
reliable migration process.
Proficiently managed relational databases, employing MySQL to store and retrieve critical application data.
Documented REST API functionalities, employing Swagger, and system components to facilitate knowledge sharing
and foster team alignment.
Operated within an Agile development framework, participating in Scrum ceremonies, daily stand-up meetings, sprint
planning, and retrospectives.
Capitalized on AWS Elastic Container Registry and Elastic Container Service to streamline build, testing, and
continuous integration and delivery.
Managed AWS EC2 instances, ensuring optimal performance and scalability of virtual servers within the AWS
infrastructure.
Containerized workloads using Amazon Elastic Kubernetes Service, leveraging Kubernetes for automating
deployment, scaling, and management of containerized applications.
Demonstrated effective version control and collaboration practices through Git and GitHub, ensuring smooth teamwork
and code management.
Utilized Maven as a versatile development tool, with proficiency in IntelliJ, and VS Code as integrated development
environments.
Environment: Java, JPA-Hibernate, Spring Data JPA, Spring Boot, Spring Security, Spring AOP, Spring Core, JPA-Hibernate,
HTML, JavaScript, ReactJS (v18), Maven, Junit, Mockito, MySQL, Rest API, Spring Boot, Micro Services, Kafka, GitHub,
Jenkins, AWS EKS, AWS Lambda, AWS ECR, AWS ECS, AWS EC2, SonarQube, Jira, IntelliJ, VS Code, Postman.
Responsibilities:
Developed and maintained transaction validation systems using technologies such as Java, JPA-Hibernate, Spring Data
JPA, Spring Boot, and Spring Security to create a robust, secure, and scalable back-end system to validate online
transactions.
Worked on developing and maintaining REST APIs in a microservices-based architecture to interact with various pre-
existing APIs to securely transfer and process transaction data.
Collaborated with the fraud detection team to ensure proper APIs are called when fraudulent activities are detected.
Adept in integrating and utilizing service discovery tools, such as Eureka, to automatically detect and register
microservices, enabling efficient and effective communication between components.
Proficient in implementing the Hystrix circuit breaker pattern to ensure the stability and reliability of microservices.
Implemented RESTful web services for different projects and have experience in handling different types of HTTP
requests and responses.
Used Spring and Hibernate to develop microservices, and have experience in implementing different features like
security, data validation, and exception handling.
Implemented the Object-Relational Mapping for the system by implementing Spring’s Data JPA using interfaces such
as CrudRepository, JPARepository, and PagingAndSortingRepository.
Created and Implemented Custom JPA Queries using native query language and @Query- to retrieve and update data
from the database.
Implemented JWT-based authentication and authorization mechanisms in REST APIs using Spring Security.
Implemented the integration of Spring Kafka with microservices to facilitate the communication between different
microservices during transactions and ensure reliability in case of failures.
Used Postman for API Testing for all CRUD operations.
Consumed REST APIs using Axios library and integrated with the React (version 16.12) front-end for data retrieval
and manipulation.
Involved in implementing various client-side interfaces on the front end using React.js used various predefined
components from NPM and redux library and deployed application to NGINX.
Worked with REACT Router for implementing navigation and routing within the application.
Worked with relational databases using MySQL and Oracle.
Implemented Load Balancing using Ribbon to distribute traffic across multiple servers.
Integrated GraphQL with third-party services and APIs, expanding the functionality and data sources available to
applications.
Developed and implemented GraphQL subscriptions to enable real-time updates in an application.
Developed circuit breaker and fault tolerance for Microservices using Hystrix.
Worked in an Agile development environment and have experience in working with Scrum framework and conducting
daily stand-up meetings, sprint planning and retrospectives.
Used Jenkins for building, testing, and facilitating continuous integration and delivery, and Docker for containerization.
Used BitBucket for version control tasks like cloning, branching, merging, stashing, and forking, and for collaboration.
Utilized Maven as a development tool and Eclipse, IntelliJ, and VS Code as IDEs.
Environment: Java, JPA-Hibernate, Spring Data JPA, Spring Boot, Spring Security, Spring AOP, Spring Core, Maven, Junit,
HTML, CSS, Bootstrap, JavaScript, ReactJS (v16.12), Jest, Enzyme, Mockito, RDBMS Oracle, REST API/Web Services,
Micro Services, Kafka, GraphQL, GitHub, Jenkins, Dockers, Docker Hub, AWS, Bitbucket, SonarQube, Jira, Eclipse, IntelliJ,
VS Code, Postman.
Responsibilities:
Developed the claims processing system using Java, JPA-Hibernate, Spring Data JPA, Spring Boot, and Spring
Security to create a robust, secure, and scalable back-end system for handling claims and interacting with a relational
database management system.
Implemented single-page applications with Angular 8 using custom directives and developed Angular routes using
route providers.
Utilized Spring AOP to implement security measures like authentication and authorization to the claims processing
system and used log4j for logging purposes.
Implemented two-way data binding in Angular which helps the application handle the automatic synchronization of
data between the model and view components using typescript.
Actively involved in Scrum meetings to discuss workload management and used Jira for story creation and progress
tracking.
Utilized MySql as the relational database management system to store and manage the data used by the claims
processing system, including claims data and user information.
Developed REST APIs and Web Services to enable communication between systems allowing them to share data and
functionality.
Implemented Versioning through content negotiation to give us the ability to update or modify the REST API,
meanwhile allowing the client to work smoothly.
Implemented different Spring Bean Scopes using @Scope annotations, proxy Mode attributes and @RequestScope
annotations.
Worked on fraud prevention system by using Spring Security and JPA-Hibernate, to detect and prevent financial fraud
by analyzing transaction data.
Extensively used Java 8 features like Streams API, Functional Interface, and Lambda Expression to support functional
programming, and better optimize data processing.
Used Object-Oriented Programming (OOP) in Java and its concept such as Multithreading and Exception handling.
Used Angular 5 to help the front-end team in data binding and interpolation to ensure the view works smoothly with the
model and controllers at the back-end.
Used Git and GitHub for version control and collaboration.
Utilized Jenkins for continuous integration, to automate the build, test, and deployment process, allowing deployment
to different environments.
Utilized SonarQube for code quality analysis and to meet the standards set.
Performed Unit Testing for the angular app using Jasmine and Karma, and for back-end using JUnit and Mockito.
Environment: HTML, CSS, Bootstrap, JavaScript, Typescript, Angular 5, Java, JPA-Hibernate, Spring Data JPA, Spring Boot,
Spring Security, Spring AOP, Spring Core, Maven, Jasmine, Karma, Junit, Mockito, RDBMS, MySQL, REST API/Web
Services, Micro Services, GitHub, Jenkins, SonarQube, Jira, Eclipse, IntelliJ, Postman.
Responsibilities:
Worked in developing and maintaining the Inventory Management System using Java and related technologies such as
Spring, Hibernate, and RDBMS.
Implemented RESTful web services and microservices to provide an API for the Inventory management system.
Implemented Aspect-Oriented Programming (AOP) using Spring AOP to provide cross-cutting functionality such as
logging and error handling in the Inventory management system.
Implemented Spring Security in the API Gateway to perform Basic Authentication with JWT and Role based
Authorization.
Developed REST APIs and an API Gateway to handle Inventory data and to perform CRUD operations through
utilization of Spring JPA.
Used Oracle to work with relational databases and hibernate to map Java classes to database tables, and Java data types
to SQL data types.
Implemented HTTP methods like POST, GET, PUT and DELETE using Spring annotations like @PostMapping,
@GetMapping, @PutMapping and @DeleteMapping.
Used Maven as the build tool and managed dependencies for the system.
Utilized JUnit and Mockito for unit testing and integration testing of the Inventory management system.
Learned about CI-CD pipelines and Implemented Jenkins for testing, building, integration, and deploying the
application on testing and production servers.
Used Git and GitHub for version control and collaboration.
Utilized SonarQube for code quality analysis in the development of the system.
Worked with Jira for project management and tracking of the project progress.
Developed the application using Eclipse and IntelliJ IDEs.
Environment: Java, JPA-Hibernate, Spring Data JPA, Spring Boot, Spring Security, Spring AOP, Spring Core, Maven, Junit,
Mockito, RDBMS Oracle, REST API/Web Services, Micro Services, GitHub, Jenkins, SonarQube, Jira, Eclipse, IntelliJ.
Environment: Java, JPA-Hibernate, JSP, Spring MVC, Spring Core, Maven, RDBMS Oracle, GitHub, Tomcat, Linux,
Eclipse.
EDUCATION: