- Over 8 years of extensive experience as a Full Stack Java/J2EE Developer building web - based enterprise application for various domains.
- Expertise in various methodologies of the Software Development Lifecycle (SDLC) process including analysis, design, development, implementation, integration, testing, debugging, production, maintenance.
- High Proficiency with Object Oriented Programming Design, Multi-threading, Exception Handling, Data Structures and Algorithms, Collections, Garbage Collection, Method References, Functional Interfaces
- Extensive experience using Java technologies: Core Java, JDBC, Java Message Service, JSP, Servlets, JPA, EJB, Swing, Applets, and JSTL.
- Experienced in using J2EE Design Patterns, MVC, Session Façade, Service Locator, Data Access Object, Data Transfer Object / Value Object, Business Delegate and Factory.
- Good working experience with Java 8 features like Streams API, Default and Static methods in Interfaces, Lambda Expressions, Optional Class and Parallel Sort in Arrays.
- Expert in developing web applications using MVC design patterns like Spring MVC and Struts 2 MVC.
- Experience with different modules of Spring Framework like Spring Core Container, Spring MVC, Spring AOP, Spring Data JDBC, Spring Data MongoDB, Spring Data REST, ORM Integration Module, Spring Security, Thymeleaf, Spring Boot & Spring Cloud .
- Extensive experience in Object Relational Mapping (ORM) using Hibernate 4.x, MyBatis and Spring Data JPA frameworks.
- Experience in developing applications as Microservices using Spring Boot based on Service Oriented Architecture (SOA).
- Expert in producing and consuming REST and SOAP Web Services with different APIs like JAX-WS, JAX-RS, JAX-B and implementing using Jersey and Spring REST.
- Experience in integrating the internal security model into new projects with Spring Batch , Spring Micro Services and Spring Boot , Pivotal Cloud Foundry and Netflix Eureka .
- Experience in developing cross platform server-side applications using Node.js, BackBone.js and Angular JS to achieve scalability in real-time web applications.
- Implemented load-balancing with NGINX to allow dozens of Node.js instances to handle concurrent users.
- Strong experience with the relational databases like Oracle-12c/11g, MySQL-5.x and non-relational database MongoDB 3.x.
- Proficient in generating reports by integrating JasperReports, JFreeCharts, Apache POI, Apache iText and Dynamic Data Visualization tools like D3.js.
- Created unit test cases using Junit 4.x and Mockito within Test Driven Development (TDD) environment for the back end and used Jasmine for testing the front end.
- Experience in creating build scripts using Ant, Maven and Gradle tools and scripting Dockerfiles and deploying onto Docker containers.
- Experience in configuring and deploying Web Applications using Web Logic, IBM WebSphere, JBoss, Apache Tomcat and Glassfish.
- Experience in de-bugging using implementation of Apache Log4j for logging and Jira, GitLab, Bugzilla for issue-tracking. Used performance test tools (i.e., Apache JMeter and JProfiler) to analyze and resolve performance bottlenecks.
- Very good experience in using Git, SVN, CVS for version control and ZenHub for Project Management.
- Expertise in developing enterprise applications using Jenkins for Continuous Integration and Continuous Deployment (CI/CD) and extensive experience with Splunk.
- Extensive experience in Amazon Web Services (AWS) like EC2, Simple DB, RDS, Elastic Load Balancing (ELB), SQS, SNS, AWS Identity and access management, AWS Cloud Watch, Elastic Beanstalk, Elastic Cache, AWS EMR and Cloud Front, Redshift.
- Worked with RabbitMQ, Apache Kafka for reliable and asynchronous exchange of important information between the multiple business applications.
- Extensive development experience on different IDE's like Eclipse, Visual Studio, PyCharm and IntelliJ.
- Proficient in Behavior Driven Development (BDD) and Test-Driven Development (TDD) approach using SCRUM framework under Agile Methodology.
- Excellent client interaction skills and proven experience in working independently as well in a team.
Enterprise Java Languages: Servlets, JSP, JDBC, JMS, JPA, JavaBeans\ Core Java, J2EE, C, C++, SQL, PL/SQL\
Databases: Oracle 12c/11g, MySQL 5.x, MongoDB 3.x, \ Eclipse, Visual Studio, PyCharm, IntelliJ\ SQL Server, HBASE, Cassandra\
Web Services Web/App Servers: Amazon Web Services, SOAP, RESTful, \ Apache Tomcat 8/7/6, WebLogic 12.x, \
JAXRS, JAXWS, JAX: B\ JBoss AS 5/4, Glassfish\
VersionControl ORM Frameworks: Git, SVN, CVS, TFS\ Hibernate 4.2, Java Persistence API, MyBatis\
Testing Tools Build Tools: SoapUI, Postman, JUnit 4.x and Mockito\ Jenkins, Maven 3.x, Gradle\
Operation System: Linux, Windows 10/8/7/XP\ Docker\
Confidential, Kansas City, MO
Senior Java Full Stack Developer
- Followed Agile methodology for developing application and involved in analysis, design, development and testing phases of Software Development Life Cycle.
- Used Microservices to build individual components of the application and built the application on Spring 4.x Framework.
- Used J2EE Design Patterns as Singleton, Facade, Proxy, Observer for Middle Tier Development as well as Composite View Pattern for presentation tier.
- Implemented Spring MVC flow to interact with different modules of the application.
- Built and consumed RESTful services in modules and implemented serialization using Spring REST and JSON. Designed and developed the REST based Microservices using the Spring Boot , Spring Data JPA .
- Implemented Microservices based cloud architecture utilizing Spring Boot .
- Designed and developed custom message adapter components using Apache Kafka that allowed the message to travel through Microservices to base on Restful API utilizing Spring Boot with Spring MVC.
- Implemented Spring Security with Okta Security API to provide security for the application.
- Used Spring AOP to maintain the code clean and logic consistent and used pointcuts to call other classes methods according to advice.
- Used Kibana Dashboards for the Application Monitoring and to retrieve the Concise and Console Logs.
- Secured REST API's by implementing OAuth2 token-based authorization scheme using spring security.
- Implemented Angular 5 Router to enable navigation from one view to another.
- Used Protractor to perform end to end testing for single page application developed using Angular 5.
- Involved in developing Thread safe blocks for multithread access and distributed transaction management.
- Used Hibernate 4.2 framework as the Object Relational Mapping tool for persisting java objects on Oracle 12c Database.
- Working with ELK (Elastic Search, Log stash and Kibana) stack to develop an end to end transaction processing system.
- Developed integration modules for disparate clients using Apache Camel.
- Developed Camel routes using Scala DSL and developed custom message converters.
- Build the services utilizing the Pivotal Cloud Foundry (PCF) as a platform as a service for RESTful services.
- Architected and developed a new platform to modernize existing codebase using DropWizard, Spring Dependency Injection, MongoDB and Hazelcast.
- Debugged and modified SQL Stored Procedures, Triggers, Tables, Views and User-Defined Functions.
- Worked on a way to store the log messages in Cassandra which are managed by Hadoop and made available through Kibana for visualization.
- Dynamic Data Visualizations were generated by implementing D3.js and JFreeCharts frameworks to render visualizations based on various parameters.
- Integrated configured Camel with ActiveMQ to use it as bus.
- Created high level functional flow diagrams using Microsoft Visio.
- Utilized Swagger framework for design, documentation, testing and deployment of REST APIs.
- Created build pipeline using CloudBees for Continuous Integration and Deployment.
- Configure Kibana to encrypt communications between the browser and the Kibana server.
- Developed Maven/Docker builds scripts and implemented Docker containers to create images and dynamically provisioned slaves to CloudBees of Continuous Integration and Deployment Pipelines.
- Used AWS S3 to store data and to retrieve the stored date very quickly and used Elastic Search for searching the document. Used AWS SNS to send messages to multiple users and delivered in an algorithmic way using AWS SQS.
- Used JUnit 4.0 and Mockito framework for unit testing of application and implemented Test Driven Development (TDD) methodology. Created automated test scripts using Selenium Web Driver.
- Ensured high quality code by using Agile XP / Pair Programming approach and by using SonarQube.
- Extensively used Postman for testing REST webservices.
- Used SVN for versioning and Log4j implementation is done for logging.
- Jira is used for Project Management and GitLab is used for issue and bug-tracking.
Confidential , Kansas City, Missouri
Senior Software Engineer
- Involved in all phases of the Software development life cycle ( SDLC ) using Agile Methodology, designed use case diagrams, class diagrams, and sequence diagrams as a part of design phase.
- Prepared Technical Design documents with UML diagrams using Microsoft Visio.
- Extensively used the core-concepts of java such as Stream API, Exception-handling and Collections for business logic development.
- Integrated JAVA EE technology Spring MVC with Hibernate for the persistence layer access for mapping to the tables in the Oracle 12c Database.
- Implemented Microservices architecture for the creation of the independent components utilizing Spring Boot for consumingful services.
- Developed Microservices with Spring Eureka to retrieve API routes for the entire cluster. Using this strategy each spring service in a cluster can be load balanced and exposed through one API gateway.
- Created and consumed SOAP web services, for secure retrieving and consumption of patient data.
- Used Microservices architecture with Spring Boot based services interacting through a combination of REST and Apache ActiveMQ message brokers.
- Utilized Spring AOP techniques for handling Data Access Exceptions during the transactions.
- Integrated the Hibernate 4.0.6 with Spring using the JDBC Driver Manager and integrating Hibernate second level cache for caching the user data.
- Developed the DAO layer for the application using Spring Hibernate and developed various business logic and reports using HQL and Hibernate Criteria.
- Implemented Netflix ZUUL API gateway for all the requests from the devices and by registering services to Eureka .
- Used Apache Camel as the integration pattern to communicate between different enterprise components.
- Performed CRUD operations like Update, Insert and Delete data in NoSQL database MongoDB .
- Used d3.js for the visualization of the patient admission analysis.
- Implemented Jenkins for Continuous Integration and Deployment and deployed the application on EC2 instance using Docker Container.
- Created EC2 instances and used the public domain to link with Jenkins for integration.
- Used Hazelcast for load balancing, Apache karaf to deploy OSGI bundles and Wix for development.
- Implemented JMS using Apache ActiveMQ for messaging and queues.
- Utilized log4j for logging, debugging and information extracting purposes.
- Worked in a Test-Driven Development (TDD) by conducting regression testing and used JIRA bug tracking tool and Jasper for report generation.
- Participated in the Agile environment according to the Sprint deadlines and meetings.
Full Stack Java Developer
- Participated in the design, analysis, development and deployment of the SDLC (Software Development Lifecycle). Actively involved in mock screens development and project start-up phase.
- Defined and constructed layers, server-side objects and client-side interfaces based on J2EE design patterns , Developed and implemented Swing , Spring and J2EE based MVC (Model-View-Controller) framework for the application.
- Struts Tag Libraries and Struts Tiles Framework were used in addition to JSP , HTML, AJAX and CSS in developing the presentation layer.
- Worked with Core Java technologies Collections, Serialization, Generics, Annotations and Exception Handling to implement Back-End business logic including Entity and Session Beans.
- Used Spring Dependency Injection , Spring Annotations and Spring MVC components to implement business layer and navigation part of application.
- Developed/Migrated application to Microservices architecture using Spring Boot.
- Developed JSP s to dynamically generate HTML5 and display the data to the client side. Java Mail API was used to notify the user of the status and completion of their project.
- Have used AJAX to retrieve data from server synchronously in the background without interfering with the display and existing page in an interactive way.
- Developed multiple POCs to create an interface between Backend to Frontend by using MongoDB , Express JS , Angular and Node.js .
- Implemented Angular Controllers to maintain each view data. Highly used Angular router to build single page application for navigation through the different status and multiple models.
- Used Hibernate as an ORM tool for handling the Persistence Layer.
- Integrated spring and Hibernate ORM framework for persistence and used Hibernate DAO Support with Hibernate Template to access the data.
- Created database objects like Stored Procedures, Tables, Views, Sequences, Cursors and Triggers.
- RESTful web services using Jersey for JAX-RS implementation.
- Worked on Rest Web services as well as Node Rest framework for backend services.
- Used various jQuery and Bootstrap plug-ins and used SOAP UI Pro version for testing Web Services.
- Exposed and consumed SOAP based Web Services to communicate between systems.
- Implementing a Continuous Delivery framework using CHEF , Maven in Linux environment.
- Created Scripts to Automate AWS services which include web servers, ELB , Cloud front Distribution, database, AWS EC2 and database security groups.
- Used Java Messaging Services (JMS) for reliable and asynchronous exchange of important information such as payment status report.
- Deployed Application instance on JBoss and WebLogic Server .
- Conducted debugging, testing issues and troubleshooting the initial data errors.
- Worked on Agile Methodology and built the application using Test Driven Development approach.
- Created functional specifications and configuration documents based on user requirements.
- Created Class diagrams, Sequence diagrams, use case diagrams and activity diagrams based on the functional requirement document.
- Developed the project using the Dynamic Web Module by implementing Struts MVC framework.
- Designed and developed JSP Pages using Struts2 Framework.
- Implemented front end validations through Javax Validation API.
- Designed Automatic Dependency Injection using JSP use bean tags by integrating with struts.
- Re-designed the UI pages by using Angular JS databinding and directives .
- Configured Oracle 10g DB database schema and binding are done using Spring Data JPA.
- Build RESTful services and consumed SOAP APIs to fetch data from external APIs.
- Created charts, visualizations using Tableau.
- Worked with UI team and utilized Fusion Charts as the visualization tool for showcasing and pictorializing the loan amounts on a bar graphs.
- Implemented Business Delegate, Design, Facade, Service locator, Singleton, Factory method, Template method, Observer, Data Access Objects, Transfer Objects JEE design patterns.
- Utilized Git Version Control system and GitLab CI for the CI/CD.
- Deployed the project on AWS EC2 Ubuntu instance and collaborated with the DevOps team.
- Used DROOLS engine as java runtime rule engine to validate business rule before executing in runtime.
- Worked in a Test-driven development and used Bugzilla for tracking issues in project
- Worked in an Agile environment from daily scrum meetings to reviews, sprint retrospective meetings.
- Developed Unit test cases using JUnit, Mockito and Easy mock . Oversaw all aspects of testing JUnit, FIT, and SIT, End to End, Regression, User acceptance and Performance.
- Involved in preparation of functional definition documents and Involved in the discussions with business users, testing team to finalize the technical design documents.
- Developed the application using with JSP, Servlets, AJAX, JavaBeans and XML.
- Designed components for the project using Model-View-Controller ( MVC ), Data Access Object (DAO).
- Developed Java Servlet that acts as a controller and maintains the session state and handles user requests in Middle Tier.
- Implemented Business Delegate, Session Facade, DAO, Singleton, Factory and DTO Design Patterns.
- Implemented Swing and JAVAFX frames in developing user interfaces.
- Utilized Servlets to handle various requests from the client browser and send responses.
- Used HTTP Servlet to track sessions of the users visiting the web pages.
- Deployed this web application on WebSphere server.
- Involved in batch processing using JDBC Batch to extract data from database and load into corresponding Application Tables.
- Involved in the team with Senior Developers to write JVM memory management code using different Object references and Garbage collector methods .
- Used Log4j and commons-logging frameworks for logging the application flow.
- Used SVN for source code and project documents version control.