- Around 7 years of professional experience in all phases of the Software Development Life Cycle (SDLC) process including the Analysis, Design, Documentation, Integration, Testing, and Implementation of Client - Server Architecture and Large-Scale Enterprise applications using Java and J2EE technologies.
- Experienced in developing Enterprise Software using Agile and Waterfall Software development methodologies.
- Participated in creating Product / Sprint catalogues, Spring planning and exit meetings.
- Familiar with all aspects of technology projects including Business Requirements, Design Specification, Technical Architecture, Development and Deployment.
- Proficient in developing dynamic Single Page Applications (SPAs) using the MEAN (Mongo, Express, Angular, Node JS) stack development toolkit.
- Extensive experience in Server-side scripting using Node JS to build web applications that are event-driven and non-blocking.
- Proficient in developing web UI interfaces using Angular 2/4/6/8, DOM scripting and jQuery with applications in various MVC frameworks like Backbone JS and Ember JS.
- Experienced in building reusable web user interfaces using React JS and Redux frameworks.
- Extensive knowledge using Java technologies like Core Java, JDBC, JMS, JSP, Servlets, JPA, EJB, Swing, Applets, JSTL and Struts
- Expertise in core Java concepts like OOPs, Collections, Exception handling, Multithreading, Synchronization, Serialization & Deserialization, Lambda expressions, Generics and Garbage collection.
- Hands on experience using components of Spring framework like S pring MVC, Spring DAO, Spring AOP, Spring Boot, Spring Security, JDBC and Hibernate.
- Deep understanding and experience with Java 8 features like Streams API, Default & Static methods, Interfaces, Lambda Expressions and Parallel Sort in Arrays.
- Expertise in using web servers like Apache Tomcat, JBoss, Nginx and WebLogic to configure and deploy applications.
- Experienced in middleware persistence frameworks like Hibernate/JPA entities for mapping Java classes using Hibernate Query Language (HQL), HSQL Named Queries and Projections.
- Expertise in ORM tools Hibernate with JPA specifications, HQL, Caching which automate the mapping between SQL databases and objects in Java.
- Experience with Asynchronous processing using JMS, IBM MQ Series.
- Expertise in built tools using Maven, Ant, Gradle and deploying onto Docker containers.
- Experienced in XML technologies like XSL, XSLT, SAX, DOM, XPath, WSDL, DTD, XSD, SOA, JAXB, Apache AXIS.
- Developed Microservice based applications using Spring Boot and Spring Cloud and created dynamic documentation for RESTFUL web services using Swagger.
- Highly proficient in implementing J2EEdesign patterns like Singleton, Factory, MVC (Model-View-Controller), Adapter, Session Facade, DAO (Data Access Object).
- Experience developing projects with SOAP and RESTful Web Services using JAX-RS, JAX-WS, JAX-B and implemented them using Jersey and Spring REST libraries.
- Well versed in creating queries, Triggers, Cursors, Views, Functions, Stored Procedures, Indexes, Joins, Constraints, DDL, DML and user defined functions.
- Experience in JUnit Framework using Mockito, Spring Junit, JMeter, Karma and Jasmine.
- Experienced in migration of existing application into microservice architecture using Spring Cloud and AWS.
- Extensive experience in Amazon Web Services (Amazon SQS, EC2, S3, Elastic Load Balancing, DynamoDB, EBS and Lambda).
- Knowledge in implementation of Pivotal Cloud Foundry (PCF) services such as Pivotal Container Service, Pivotal Application Service and Pivotal Functional Service.
- Expertise in using version control systems like Git, Bitbucket and Gitlab for maintaining code repositories.
- Experience debugging applications using monitoring tools like Apache Log4j, Splunk for logging and Bugzilla for issue tracking.
- Expertise using IDEs like Eclipse, NetBeans, Visual Studio, Spring Tool Suite, Notepad++ and Sublime Text Editor.
Programming languages: Java (1.5/1.6/1.7/1.8 ), C, C++, Python, SQL
Software methodologies: Agile, Scrum, Waterfall, TDD, SDLC
J2EE Technologies & frameworks: JSP, JSTL, Servlets (3.1, 3.0), Java Beans, EJB, JDBC, JAX-RS, JAX-WS, Axis Java Security, JBPM
Web Service Frameworks: Spring, Hibernate, Struts (2.5, 2.3), Spring MVC, Spring IOC, Spring Boot, Spring AOP, Spring Web Flow
Web Services: REST, SOAP, JSON, WSDL, Oracle SOA, UDDI
Design Patterns: Singleton, Business Delegate, Data Transfer Object, Data Access Object, Façade, MVC
IDEs: Eclipse, IntelliJ, NetBeans, Visual Studio, Spring Tool Suite, Sublime Text Editor
Web Servers: NGINX, Web Sphere Application Server, Apache Tomcat (8.5/8.0), Apache HTTP Server, JBoss, JBPM
Databases: MySQL, SQL Server, DB2, Oracle, PostgreSQL, Mongo DB, Cassandra
Build Tools: Maven, Ant, Jenkins
Testing Tools: JUnit, Log4J, Karma, Jasmine, SOAP UI, Mocha
Version Control Tools: Git, GitLab, Bit Bucket, SVN
Operating systems: Windows, Unix, Linux, Mac OS
Cloud Technologies, DevOps Tools & Other: JIRA, Docker, Jenkins, AWS, EC2, Azure, Pivotal Cloud Foundry, Lambda, DynamoDB, Elastic Search
O-R Mapping: Hibernate, JPA
Full Stack Java Developer
- Involved in the design, development and implementation of enterprise wide applications.
- Implemented the entire project using Agile methodology with daily scrum meetings with the team, sprint planning and estimating the tasks for creating user stories.
- Developed unit, functional and integration test cases by implementing Test Driven Development for each application.
- Developed reusable Angular 6 components and UI services that consume REST services leveraging component-based architecture provided by Angular 6.
- Implemented client-side validations using Angular 6 and created services on UI for storing and retrieving data from the backend.
- Extensively used Node.JS to build highly scalable RESTful API interfaces, making them readily available for consumption on the front end.
- Implemented various Java 8 features like Streams API, Default & Static methods in Interfaces, Lambda Expressions and Parallel Sort in Arrays.
- Developed RESTful web services with JAX-RS using Spring Boot and micro-service architecture.
- Implemented various standalone micro-services using Spring Boot which removes boilerplate configuration and makes applications faster.
- Used Spring Boot properties like actuators and health checks to enhance micro service implementations.
- Implemented Web Services to integrate between different application components using Restful Jersey.
- Used REST conventions to communicate with DynamoDB and implement CRUD operations.
- Worked with DynamoDB a NoSQL database to store, retrieve, update and manage all the details for Ethernet provisioning and customer order tracking.
- Developed Open API specifications for documentation and easy consumption of various backend services using Swagger UI.
- Configured Apache Tomcat web server giving users a single point of access to applications, services, information and social connections they need.
- Created SQL Server logins, assigned roles and Authentication models as a part of Security.
- Used Apache Kafka (Message Queues) for reliable and asynchronous exchange of vital information between multiple business applications.
- Used Log4j, a logging utility tool for logging important transactions, debugging errors and gather useful insights about the consumption of services.
- Used Postman for testing backend API endpoints by making http requests to different URIs and ensure getting back the correct data.
- Performed unit testing of micro-services using JUnit a Java based testing framework.
- Created automated tests for Angular web UI components using Karma.
- Used GitHub for source code control, project management, and version management by regularly pushing code to repositories.
- Leveraged the Kubernetes engine for containerization of microservices by bundling the configuration files and dependencies, for easier integration in our DevOps environment.
- Designed and maintained a CI/CD pipeline to automate deployment for a multitude of applications on Amazon Web Services (AWS) with focus on high-availability, fault tolerance and auto-scaling.
- Installed applications on AWS EC2 instances and configured the storage on S3 buckets.
- Developed AWS formation templates and set up Auto scaling for EC2 instances and involved in the automated provisioning of AWS cloud environment using Jenkins and Puppet.
- Responsible for completing assigned JIRA tickets in time and update status regularly.
- Used Eclipse, Sublime Text Editor, Swagger and other Integrated Development Environment (IDEs) for ease of development.
- Used Maven as a build tool for building projects, manage dependency and documentation based on POM (Project Object Model).
- Worked on creation of custom Docker container images, tagging and pushing the images.
Full Stack Java Developer
- Worked on gathering system requirements for the application, work with the business team to review specifications in the software requirement specification document followed by other phases of Software Development Life Cycle.
- Involved in the Agile development process to gather and analyse requirements and create user stories & tickets using a project management tool.
- Developed automated test cases by applying Test Driven Development (TDD) methodology.
- Designed the front-end User Interface using modern technologies like HTML5, CSS3, jQuery, JSON, Ajax, React JS and Bootstrap.
- Created Declarative views and Encapsulated components for the application User Interface using React JS and Redux library.
- Used jQuery UI plugins like Draggable, Resizable and Autocomplete in developing interactive web pages.
- Used NodeJS for creating non-blocking RESTful services using modern ES6 features including Promises, Literals and Classes.
- Experience in working with Hibernate as the back-end ORM tool for implementation of persistence layer and mapping POJOs.
- Developed Hibernate DAO classes and implemented retrieval and saving data to/from the database using the spring framework manager classes.
- Extensively used Hibernate concepts such as inheritance, lazy loading, dirty checking and transactions.
- Created and injected Spring services, Spring controllers and DAOs to achieve Dependency Injection and to wire objects of business classes using Java 8 features.
- Developed a batch process which involved java multithreading to cascade multiple changes on multiple records in only one transaction and used WSDL and SOAP protocol for Web Service implementation.
- Used REST Jersey for producing web services and involved in writing programs to consume web services using SOA.
- Worked on REST APIs and Elastic Search to efficiently handle and search JSON data.
- Exposed Stateless session beans as RESTful web services using Jersey and handled asynchronous communication with our RESTful service for various requirements.
- Developed a Spring Boot application using micro-service architecture to maintain small & lightweight services and used API routes for communication between these services.
- Implemented standalone Spring Boot microservices by autoconfiguring all components and developing production-grade services.
- Created a Spring container file for configuring Hibernate and to perform Dependency injection among all bean classes involved in business logic operation.
- Designed and developed DAO layer with Hibernate 3.0 standards, to access data from MySQL database through JPA (Java Persistence API) layer creating Object-Relational Mappings.
- Tested ReactJS applications with Mocha for unit testing and Karma as test runner.
- Identified scenarios and strategies for performance testing and collaborate with test team on execution.
- Used JMeter for load and performance testing for multiple applications on both Linux and windows.
- Setup AWS infrastructure resources such as EC2, S3, IAM, EBS, Elasticsearch, Logstash, Security Group and Lambda in CloudFormation.
- Created EC2 instances and used the public domain to link with Jenkins for integration.
- Used AWS SNS to send messages to multiple users by developing an algorithm and delivering using AWS SQS.
- Used Amazon Elasticsearch service for application monitoring and full-text speech
- Used GIT as source control management giving a huge speed advantage on centralized systems that must communicate with a server.
- Configured and deployed applications on NGINX for load balancing and HTTP cache.
- Worked with tracking tool JIRA on Agile Scrum performance estimation and capacity planning work with the project manager and product development teams to create and implement projects.
- Involved in daily Scrum meetings, Sprint Planning, and estimation of tasks for creating user stories and presented Demos at the end of sprint.
- Involved in writing test cases using testing frameworks by conforming the Test-Driven Development (TDD) methodology.
- Responsible for the overall layout design and prototype of the application using Angular JS libraries, TypeScript, CSS/LESS and HTML5.
- Integrated back-end web API with the use of Spring Boot and integrated REST services (APIs) using JSON for seamless data transfer.
- Implemented persistence framework using Hibernate & handled transactions using the provided data source.
- Implemented controllers in Spring MVC delegating request from the front end to the delegator layer and to make calls with backend systems
- Developed user management screens using Spring framework and DAO classes using the Hibernate framework for data persistence.
- Developed SOAP web services using JAX-WS and persistence using Hibernate and JPA framework.
- Integrated Spring Security for single sign on for different users.
- Developed application service components and configured beans using Spring IOC, creation of Hibernate mapping files and generation of database schema.
- Developed REST and SOAP based web services leveraging the micro-service architecture.
- Developed scripts for uploading data from text files and XML files into databases, performed business validations on the data using PL/SQL Procedures.
- Involved in writing PL/SQL Stored Procedures, Functions, Triggers and Views for SQL database.
- Involved in SQL Server 2008 Database design for new modules and developed the persistence layer based on Hibernate.
- Used Log4J for application logging and notification tracing mechanisms.
- Involved in code reviews and performed Manual, Integration, Regression, Functional and Black Box Testing using JUnit.
- Automated the testing of web services using SOAP UI.
- Involved in automating infrastructure in Pivotal Cloud Foundry (PCF) using Cloud Formation and Jenkins
- Configured Eureka service registry of PCF for each service to enable communication via the cloud.
- Configured Jenkins to handle application deployment in Pivotal Cloud Foundry (PCF) server and integrate with GitHub version control.
- Developed shell scripts for deploying applications in Dev/Prod environments.
- Used Eclipse IDE and worked on installing and configuring JBOSS web server.
- Used Maven for dependency management and SonarLint to detect and fix quality issues.
- Participated in system design, planning, estimation and implementation of multiple projects by observing Agile methodology.
- Gathered business requirements from the client and documented technical specifications.
- Designed Class diagrams, Sequence diagrams and Use Case diagrams based on the functional requirement document.
- Implemented various interfaces using Web Forms, JSP and HTMLcontrol for Client-Server interaction.
- Used jQuery Plugins for Drag and Drop, Widgets, Menus, User Interface and Forms.
- Implemented Service Oriented Architecture by developing Java web services using WSDL and SOAP.
- Developed several microservices using Spring MVC to integrate into production ready applications.
- Analysed and implemented Model View Controller (MVC) architecture and developed Forms and Action Classes for the entire application.
- Used various J2EE components like Servlets, JSP, JSTL, AJAX, SAX, XSLT, JMS.
- Developed web services using core Java components like Collection, Interfaces, Multi-Threading and Exception Handling.
- Used JDBC to interact with the Oracle database for storage and retrieval of information.
- Used Mockito for mock creation, verification and stubbing.
- Used Gitlab for version control and Log4j for application logging and notification tracing.
- Implemented Maven builds to create JAR and WAR files for deployment to server.
- Used Eclipse IDE and Notepad++ for ease of development.