- Over 9 years of professional experience in software development industry with wide - ranging skills in web application development.
- Experienced in all phases of Software development life cycle (SDLC) starting from gathering Business requirements, analysis, design, development, testing and implementation of projects using various methodologies like SCRUM, Agile, SAFe Agile, Test Driven Development (TTD), Behavior Driven Development (BDD), Incremental and Iteration.
- Worked in Agile Programming environment to promote solutions that were consistent.
- Experienced in Development, Testing and Deployment of enterprise applications on Windows, Linux and UNIX platforms using IDEs such as Eclipse, STS and IntelliJ.
- Developed core modules in large cross-platform applications using JAVA, J2EE, Spring, Hibernate, JSP, Servlets, EJB, JDBC, Web Services (SOAP, REST), Micro Services.
- Strong experience in Spring Boot Framework modules such as Spring Boot MVC, IOC, AOP, JDBC, JTA, IO, Spring Boot Dashboard, Spring Boot Microservices, Spring Boot REST, Spring Eureka, Spring Ribbon, Spring Netflix, Spring Zuul Proxy, Spring Data JPA, Spring Cloud Starter Config.
- Experienced in implementing Service Oriented Architecture and Web Services using SOAP, REST.
- Strong understanding of Micro services patterns - Circuit Breaker/Hystrix, DDD, Aggregator, Proxy Chaining.
- Developed applications using latest technologies like JPA, Hibernate, REST based Web services using Spring Boot.
- Decent knowledge in using Google Cloud Console. Extensive experience focusing on services like Google Cloud Spanner, Stack debugger, Google Kubernetes Engine, Google Cloud Functions etc.,
- Experienced in working with Spring JDBC Templates, JMS Templates, Spring Rest Templates & Web Template.
- Experience in database modeling, design and development of Java Models in relational databases: Oracle, SQL Server, DB2, PostgreSQL and MySQL.
- Strong experience with Elastic Search development (Kibana Queries, Aggregations, Bool Filters and Nested Queries).
- Experienced in Middleware persistence frameworks like Hibernate/JPA Entities for mapping Java classes using Hibernate Query Language (HQL), HSQL Named Queries, Criteria, Spring Boot Projections.
- Hands on experience with build tools like Maven, Gradle and Logging tools like Log4J and Logstash with Kibana.
- Experience with Code refactoring, optimization and performance tuning for improved sustainability.
- Experience with CICD, Maven, Gradle, Jenkins, CVS, Git, GitHub.
- Experience in testing with JUnit Framework using Mockito and Easy Mock, Spring Junit Runner, JMeter and API Testing using Spring Boot Contracts.
- Expertise in several testing environments like JUnit, Selenium, CURL, Jenkins, SoapUI, POSTMAN and System Testing.
- Responsible for support and maintenance of batch jobs, implemented Spring Batch for huge number of transactions.
- Experience in working with web servers like Tomcat 8.
- Experience in creating Docker images, Containers, push/pull and integrating with Spring Boot.
- Expertise with employment of Spring Boot Kafka and Zookeeper apart from JMS as messaging service.
- Expertise in containerizing spring boot Applications using Docker and Orchestrating the containers using Kubernetes and Docker Swarm.
- Strong Hands on experience in developing REST API docs using SWAGGER.
- AWS Certified Solution Architect having experience on AWS tools like S3, EC2, IAM, VPC, RedShift, Load Balancing, EFS etc.
- Strong communication & interaction with Clients, Developers, Business Analysts, Management and able to lead the team.
- Hands on experience with Python and R languages and exposure towards machine learning concepts like Linear regression using scikit-learn and numpy libraries.
Languages: Java 1.8, SQL, PL/SQL
Frameworks: Spring Boot, Spring Data, Spring Security, Spring MVC, Spring IOC, Spring AOP, Microservices, Hibernate
Technologies: Eureka, Zuul Proxy, Hystrix, Kafka, Spring boot config, Spring cloud sleuth
Application/Web servers: Apache Tomcat 8
Relational Databases: Oracle, SQL server, MySQL, DB2
NoSQL Databases: Cassandra, Elastic Search
Cloud Environments: Google Cloud Platform, AWS
IDE: Eclipse, IntelliJ, Spring Tool Suite (STS)
Operating system: Windows 10, Linux Mint 18.1, Unix
Bug tracking Tools: JIRA, Rally
Methodologies: Agile, TDD (Test-Driven-Development), DDD (Domain driven design), Scrum
Build Tools: Maven, Gradle
Web Services: REST, SOAP
Container Management: Docker, Docker registry, Kubernetes
Confidential, St Louis, MO
Sr. Software Development Engineer
- Involved in complete development of ‘Agile Development Methodology/SCRUM’ and tested the application in each iteration
- Implemented Representational state transfer (REST) Web services for distributed systems using Jackson framework to transfer data between client and server.
- Used a Microservice architecture, with Spring Boot-based services interacting through a combination of REST and MQ message brokers.
- Involved in component development using J2EE principles and used design patterns such as Singleton, Factory and Data Access Object (DAO) in the implementation of the application.
- Used Java Messaging Services (JMS) for reliable and asynchronous communication. Implemented JMS layer using IBM MQ and Apache Kafka.
- Used Apache Camel for creating routes to read messages from the Messaging Queues and Topics.
- Created and configured the continuous delivery pipelines for deploying microservices using Jenkins CI server.
- Implemented Business Logic using Java, Spring, Spring boot, Spring Jackson and Spring JDBC.
- Used Spring Batch for batch processing of files and database.
- Achieved Dependency injection by creating spring services, spring controllers and DAOs so as to wire objects of business classes.
- Executed processes for installation and maintenance of Apache Web server and JBoss Application server.
- Worked on database interaction layer for insertions, updating and retrieval operations of data from data base by writing queries and stored procedures.
- Created DDL and DML SQL scripts for creation of database objects in Oracle DB.
- Leveraged secondary level EHCache in sync with Spring JDBC to get optimized performance using persistence layer.
- Implemented Test First unit testing framework driven using JUnit, Mock objects, Easy mock and published assertion framework build on top of the JUnit Assertions.
- Responsible for Continuous Integration (CI) and Continuous Delivery (CD) process implementation using Bamboo and Jenkins along with UNIX Shell scripts to automate deployment jobs.
- Used Log4J to print the logging, debugging, warning, info, errors on the server console.
- Used Maven building tool for creating WAR and JAR files to be deployed in application servers. It is also used for dependency management of code in application.
- Involved in application support, resolving the job failures in higher environments, interacting with the operations support group for resuming the failed jobs.
- Resolved bugs/defects in application by coordinating with team members of the project to assure a positive outcome.
Environment: Java 1.8, J2EE, Spring, Jackson, RESTful Web services, SOA, Spring Boot, IBM MQ 8.0, Apache Camel, Apace Kafka, Microservices, JMS, Maven, JBoss EAP, JSON, XML, JUnit, Mockito, log4j2, IntelliJ IDEA, SoapUI Pro, Oracle, TOAD for Oracle, SQL Developer, PL/SQL, PuTTy, Git, Linux, Unix, Jenkins,, Bit Bucket.
Sr. Software Development Engineer
- Used Agile methodology and attended daily and weekly SCRUM meetings to update working status etc.,
- Followed Agile with JIRA for a 2-week release approach of development/deployment strategy.
- Worked with controller, service and view components in applications using Spring boot framework.
- Implemented Spring modules like Controller, DI/IOC, Autowiring, Spring security, AOP and AspectJ.
- Consumed messages from Kafka queues and integrated then with REST services with Beans.
- Hibernate DAO classes were developed to retrieve and save data using Spring framework manager classes.
- Cloud environment for micro services was provided using Spring cloud Netflix (Eureka server, Hystrix, Ribbon).
- Expertise with employment of Spring Kafka and Zookeeper apart from JMS as messaging service.
- Deployed the Application into Docker container and made easily accessible at runtime using Cloud Foundry and other cloud services like Netflix Eureka, Spring Hystrix as fallback method, Spring Ribbon for load balancing and a broker service to maintain status using Spring Kafka and Zookeeper.
- Kubernetes were used as the best ecosystem to deploy and manage Dockerized Micro-services.
- Analyze and resolve conflicts related to merging of source code for GIT.
- Log4J and SLF4J is used for logging purposes and debug levels are defined for controlling what we log.
- Writing Unit test cases using JUnit testing framework and performed unit and system testing.
- Merging properties of different environments to incorporate necessary changes that get reflected in new environments.
- Working with on-site and off-site resources for successful implementation of the Workflow module.
- Designed class, sequence, activity, flow diagrams using UML Visio.
- Involved in writing Thread safe blocks for Multithreading access to make valid transactions.
- Designed and developed processes using Multi-Threading to make asynchronous.
- Used Spring core for dependency injection/inversion of control (IOC), and integrated AngularJS and Hibernate.
- Spring Boot Microservices were developed with microservice architecture using REST and Apache Kafka.
- Monitored service health check from Spring Boot admin console using swaggered UI registered micro services.
- Load balancing among the servers was implemented by using Spring Ribbon.
- Implemented fail safe and circuit breaker patterns in Spring Boot Micro Service applications using Hystrix and monitored the services using Hystrix Dashboard.
- Used Eclipse based Spring Tool Suite (STS) for development and debugging Spring Boot applications, Microservices and deployed into AWS lambda Expression.
- Worked with Apache Tomcat 8 server to deploy and configure Java API’s and front-end modules.
- Used DB2 for the backend data and performed complex queries using joins for CRUD operations.
- Used HQL, Named Parameters, Named Queries and Interfaces such as Expression, Query and Criteria for implementation of Hibernate template and extensively used Hibernate Cache.
- Implemented service layer on the top of Cassandra using Java, Spring Data Cassandra and Restful API.
- Developed DAO layer using Cassandra and expertise in CQL (Cassandra Query Language), for retrieving the data present in Cassandra cluster by running queries in CQL.
- Involved in code reviews and unit testing using JUnit framework.
- Worked with several testing frameworks such as JUnit, Easy Mock, Mockito and Power Mock.
- Used Drools engine for validating business rules before executing in runtime.
- Used Bitbucket for version control and JIRA for bug Tracking and Project Management.
- Tested REST services using POSTMAN application.
- Used JUnit for unit testing.
- Created Unit, Acceptance and Integration Test Documents and Code Review Documents.
- Identified the Business requirements of the project.
- Involved in preparing System Requirements for the project.
- Involved in preparing the Detailed Design document for the project.
- Used Spring AOP to implement logging in the application to know the application status.
- Developed Use case diagrams, Object diagrams, Class diagrams, and Sequence diagrams using UML.
Environment: Agile, Java 8, AngularJS, TypeScript, Spring Boot, Hibernate, Bitbucket, Docker, Kubernetes, Web Services, Kafka, REST API, Elasticsearch, Cassandra, DB2, Maven, Jenkins, Spring Cloud Netflix, Config Server, Eureka Server, Hystirx, Discovery Client, Ribbon, Zuul Proxy, HTML.
Confidential, Bloomington, IL
Sr. Software Development Engineer
- Involved in gathering requirements and built technical specifications from the requirements.
- Agile methodology was used to develop the application. Daily Scrum was conducted as a part of this methodology.
- Used Spring modules for building the application based on different design patterns.
- Performed Inheritance based ORM with tables to simplify the data in Hibernate.
- Design/Developed UI screens, components using Angular JS directives, custom directives, making service calls.
- Implemented Routing mechanism in single page application using angular ng-route module and routing provider services.
- Developed Business logic with the help of spring dependency injections, make them as Spring beans using configurations and spring annotations.
- Developed SQL queries and executed them by using Hibernate Template provided by Spring.
- Implemented Spring based declarative transaction management as Spring Aspects.
- Configured and build Asynchronous communication with JMS services with MQ Series.
- Developed Message Driven Beans (MDB) components to manage backend transactions.
- Developed HQL queries to retrieve data using Hibernate. The Data Manipulation operations were implemented using Hibernate Template provided by Spring.
- Used Hibernate mapping annotations, interfaces to work with Data base CRUD operations.
- Developed various advices for logging, versioning and caching Spring aspects of the application.
- Used caching mechanism of database connection object for faster retrieval of data.
- Consumed Web Services (REST) from third party for authorizing payments to/from customers and implemented them using JAX-RS.
- Did Packaging and Deployment of builds through Maven scripts and integrated with Jenkins.
- Test Driven Development (TDD) approaches was utilized and the test coverage was always maintained and validated using Clover and Cruise Control.
- Used Log4j for tracking the applications and SVN used for version control.
- Involved in the code review process and updating the best practices document.
Environment : Java EE 7, Websphere 8.5, Hibernate, RSA, Perl, Spring MVC, UNIX Shell Script, XML, PL/SQL, Maven, and Jenkins.
- Assisted in maintaining and updating existing applications and modules.
- Contributed to development of client side and server-side codes for external and internal web applications.
- Maintained IT labs and updated the systems, Installed OS.
- Provided assistance and support to programming team members as required.
- Work with DBA, database developers, application developers on application's upgrades, and troubleshooting.
- Created and Updated/modified SQL stored procedures for data integration and reporting.
- Performed numerous data pulling requests using SQL for analysis.
Environment: Java 7, Java Script, SQL, HTML, CSS.