- Full - Stack Java Developer with strong expertise in Analysis, Design, Development and Maintenance of enterprise applications in Banking, E-commerce, Insurance, and Finance.
- Working knowledge and experience in multi-tiered distributed environment with strong Full Stack technical expertise to drive high-impact business outcomes.
- Proficient in using Java 7, Java 8 features such as Lambda Expression, Stream API, Time API, Multithreading, Transaction Management, Collection API and knowledge on Java 9 features.
- Experience with different modules of Spring 4.x framework including Spring Security 3.2 and Spring Batch.
- Good understanding of using Spring Cloud for Microservices deployment and auto configurations like Apache Kafka.
- Worked with RESTful and web services based on Spring Boot 2.x.
- Proficient in using Struts framework with JSP, Struts Taglib and design patterns like Singleton, DAO, Factory, Session Facade, Front Controller and Service Locator.
- Solid Experience with ORM frameworks such as Hibernate, Spring JPA and Mybatis, Spring Data and Spring JDBC.
- Blended back-end technology with front-end web technologies using Servlet 4.0, JSF, Thymeleaf, jQuery 3.1.1, Bootstrap 3&4, Vue 2.6 and Angular 1.5 in developing dynamic and responsive web pages and OAuth 2.0 between server and client applications.
- Implemented SPA (Single Page Applications) using Angular 2 and used FusionCharts for interactive dynamic data visualization and Jasper to produce and integrate reports.
- Good knowledge with features of Angular 4.0 and developed applications using React JS for view rendering and implemented with Redux and Flux patterns to attain MVC functionality.
- Experience with Relational databases (oracle 12c, MySQL 6.0) and good knowledge of Non-Relational databases NoSQL (MongoDB 3.4) and in-memory data structure Redis (Remote Dictionary Server) to store session and cookie for SSO.
- Developed applications with unit test cases using Junit and Mockito within Test Driven Development Environment (TDD).
- Professional experience in Log4J for extensible logging, debugging and error tracing.
- Documented User Stories in JIRA and used the version control tool Git, Github.
- Experienced in deploying applications to AWS using continuous integration tools like Jenkins.
- Experience in using Docker for deployment of applications in Linux, and knowledge on various Docker components like Docker Engine, Hub and Docker Registry.
- Experienced in full Software Development Life Cycle including Agile/ SCRUM workflow.
Technologies \ Java EE Technologies \: Spring 4, Hibernate 3/5, OAuth 2, Node.js, \ JPA 2, Servlet, JDBC, JSP, JSF, Servlets, Express.js, Struts 2 JavaBeans
Server/Cloud/Container \ Databases \: Apache Tomcat 7/8, Oracle WebLogic 12c, \ Oracle 12c, PostgreSQL 9, MySQL 5, AWS (EC2), Docker \ MongoDB 3, Redis 3
Testing \ IDE \: JUnit 4, Mockito 2, Postman, Cucumber Eclipse, IntelliJ IDEA, VS Code, jDeveloper
Version Control \ Continuous Integration: Git, SVN \ Jenkins 2
Build Automation \ Development Approaches: Maven, Gradle \ Agile, TDD, Scrum
- Built online system based on Spring Boot 2.1 and microservices using Spring Cloud and refactored code from Spring Boot 1.5 to 2.1 within TDD environment using Agile methodology and Git on version control.
- Used Redis for distributed session, JedisLock, and WebSocket to push notifications.
- Hands on experience in using Spring Data JPA that helped in creating automatic Data Access Objects (DAOs) at the compile time with MyBatis on database.
Confidential, Stony Brook, NY
Java Full Stack Developer
- Involved in Requirements gathering, Analysis, Design, Development and Testing of application developed using AGILE/ SCRUM methodology.
- Created the whole project with complete separate frontend and backend.
- Integrated Spring, Spring MVC and Mybatis together(SSM) and worked on developing backend components and services with Lombok.
- Used Redis, Cookie, Jackson, Filter and Spring Session for cluster sessions to store session and cookie for SSO.
- Built Redis Distributed Environment with ShardedJedisPool and Redission Framework.
- Applied Spring Schedule for timing functions and distributed task management.
- Used Guava Cache for Redis Distributed Cache migration.
- Developed management system using React JS for view rendering and implemented with Sass.
- Modulized the project with CommonJS and Webpack.
- Developed Controllers, Services and custom Validations with custom error responses for web services.
- Developed RESTful Services with data representation in different formats such as XML and JSON.
- Developed a set of the application functionality using CRUD (Create, read, update, delete) features and to create Controllers to handle events triggered by clients.
- Implemented logging using log4j for logging purpose of the projects as well as print debugging, warning on the server console.
- Performed Installation, Configuration and Maintenance of production Cluster Environments such as Tomcat, Apache and Nginx.
- Set up Jenkins 2.x(CI) server and build jobs to provide continuous automated builds based on polling the Git.
- Used Maven in each project to automate the builds and managing project.
- Worked on Amazon Web Services (AWS) infrastructure with automation and configuration management tools
- Handled the authentication, authorization, and access-control features by using Spring Security and OAuth 2.0 between server and client applications.
- Successfully implemented RESTful and Microservices using Spring Cloud for microservices deployment and auto configurations and Monitoring and centralized log analyze Elasticsearch.
- Generate weekly and monthly asset inventory reports.
Environment: Java, Java EE, Apache Tomcat, intellij IDEA, Spring, Spring Security, Spring MVC, MyBatis, Maven, Redis, Jackson, Spring Session, ShardedJedisPool, Lombok, Spring Schedule, Nginx
Full Stack Software Engineer
- Day to day interactions with the SCRUM master, architect and team lead for story progress in every Sprint.
- Created UI for an internal application using AngularJS, Bootstrap, HTML and CSS for better user performance.
- Designed and developed two API's using RESTful web services and used Spring JPA for persisting data in PostgreSQL database.
- Developed Unit Tests using Junit, Mockito and PowerMock and Involved in functional and Integration testing
- Developed Integration tests for Spring boot batch application. Used Spring MVC and Dependency Injection for handling presentation and business logic.
- Hands on experience of Build & Deployment phases and usage of Continuous Integration (CI/CD) tools i.e. Jenkins.
Confidential, Stony Brook, NY
Full Stack Software Engineer
- Participated in the application architecture, development tools for web solutions that fulfill the business requirements of the project.
- JIRA tool for project management used in the application to tack bugs, issues and project management functions.
- Documented Build and process of the application on team collaboration tool and using version control service such as Git in maintaining source code for multiple applications.
- Implemented WADL configuration and API documentation for the understanding of microservices and called through the client-side module architecture based on AngularJS services to get JSON Object and modified the response object to display in UI.
- Worked in developing custom validations for forms on the front-end in Typescript.
- Use Design Patterns to develop robust applications with optimal functionality.
- Accessed Restful resources with HTTP protocol, the URL of the resource serve as the resource as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard operations, and used POSTMAN for testing JSON output using.
- Worked with AJAX for implementing dynamic webpage's where the content was fetched via API calls to implement asynchronous calls to the server to update the changes.
- Used backbone.js as Model, Widgets as Controller and jQuery template as View.
- Setup and Configured Jenkins for Continuous Integration and Deployment process.
- Used SQL in constructing views, indexes, stored procedures relational database models.
- Experience using Java technologies: Design Patterns, Collections, JSP with JSTL, Servlet 4.0, Hibernate, OAuth.
- Used NPM (Node Package Manager) to manage the modules and used it to install useful tools such as Grunt, Gulp, Groovy.
- Participate in daily meetings and assisted to clarify any details.
- Preparing and executing Unit test cases.
Full Stack Software Engineer
- Worked with Angular Http services to make REST API calls for various CRUD operations and template driven forms to create data entry screens using Angular forms module.
- Implemented the application using Spring MVC Framework and handled the authentication, authorization, and access-control features by using Spring Security. And enable the interactions between JSP/View layer and implemented different DPs.
- Entailed in system design and development in core java using Collections, multithreading.
- Built DAO package as well as DAO IMPL package to implement the data access logic and using Hibernate Annotation to do the data mapping.
- Expertise in Creating Hibernate configuration file, Hibernate Mapping files and defined persistence classes to persist the data into Oracle Database.
- Developed JUnit test cases for back-end logic implementation development.
- Developed Angular services, controllers and crated models for two-way data binding, and implemented AngularJS Routing to enable navigation from one view to the next as agent performs application tasks.
- Designed user Interface using Angular UI components such as tabs, grids, dropdowns.
- Used Maven to build and deploy application on to Application Server and used Jenkins for Continuous Integration.
- Created RESTful API endpoints using Spring Rest Controllers.
- Performed code reviews and provide guidelines for best practices of software management, Coding Standards and Code Commenting for better understandability.
- Used Advanced REST Client and POSTMAN for testing JSON output using.
- Used extensively Eclipse in development and debugging the application.
- Developed the application using Java EE architecture specification and Design patterns.
- Developed angular unit test cases to test angular components using Karma and Jasmine.
- Developed Spring services and data access objects and used Spring transaction management in the application.
- Used Angular Http services to display the content on the browser and took part in creating custom reusable components.
- Build a custom jQuery framework based on the user requirements providing structure and consistency throughout the application.
- Used Git as source control management giving a huge speed advantage on centralized systems that must communicate with a server.