Lead Java Developer Resume
Warren, NJ
SUMMARY:
- Result - oriented full-stack Java/J2EE developer bringing more than 8 years of progressive experience in architecting, designing, developing highly scalable & reliable customer facing Enterprise Mobile, web and distributed applications.
- Specialization in Microservices, Service-Based Architecture, and SOA. Most of my recent experience involves architecture refactoring & development efforts moving from monolithic applications to Microservices architectures.
- Interested in learning and real time experience of Lambda Architectural solutions using Spark Streaming, Kafka, Cassandra, Akka & Scala.
- Excellent client interaction skills and proven experience in working independently as well as being a powerful addition to any team due to competencies with version control systems (Accurev, PVCS, SVN, TFS & Git) and internal development tools (Maven/Ant), as well as results-driven and flexible mindset & quick learning skills of new technologies.
- Exemplary knowledge and hands-on experience in designing and building Platform Frameworks to enable cross-functional teams to produce REST services. Applied excellent knowledge on core java design patterns & algorithms, data structures, Spring frameworks, Spring Security, Spring Data with JPA annotations, Spring Batch and Log4j2 Logging frameworks.
- Designed and developed various Microservices using Spring Boot and Spring Cloud. Implemented API Gateway pattern with Netflix Zuul and Spring Cloud, API Registration and Discovery with Spring Cloud and Eureka, Spring data JPA, Spring data MongoDB, Distributed Tracing with Spring Cloud Slueth & Zipkin and Spring Batch, asynchronous communication using messaging with RabbitMQ over Camel routes in Microservices.
- Experience in integrating applications across various network platforms/environments and delivery channels using Service-Oriented Architecture (SOA), Event Driven Architecture (EDA) and Enterprise Application Integration (EAI).
- Implemented Apache Camel supported Enterprise Integration Patterns (EIP) to integrate various systems/platforms based on ActiveMQ, RabbitMQ, WMQ, HADOOP, ETL, JAX-WS CXF, Apache Solr search, Jetty & HTTP (Apache cxf). Proficiency in implementing the Apache Camel dataformats and typecoverters using JAXB, JSON and Apache Bindy.
- Experience and in-depth knowledge of Servlets and JSP like HTTPServlet interfaces, GenericServlet interfaces, Servlet Interfaces and their implemented/un-implemented classes.
- Leveraged Coherence (Near Cache), EHcache solutions for replicated & partitioned cache services, intermediate data store, stream caching, caching concurrent consumers and caching requests. Used JMS for EHcahe replication. Worked on the POC to implement Terracotta as in-memory data solutions.
- Proficient in implementing various Java/J2EE design patterns including Singleton, Factory, MVC, Front Controller, DAO, Service Locator, Business Delegates.
- Expertise in Spring MVC architecture, Spring DI/IOC, Spring AOP, Spring integration with Hibernate, Spring integration with JDBC and writing JDBC Templates, SQLj, Stored Procs using PL/SQL and adhoc/reporting SQL .
- Expertise in Middle tier optimization and performance tuning, Database performance tuning. Achieved more than 8000 transactions per second in UPS’s global integration operator and supporting more than 100M customers in My Verizon App.
- Experience in application testing using JUNIT 4.0 framework for unit testing, Component testing and System testing.
- Extensive knowledge using various well known IDEs such as Oracle SQL Developer, Eclipse, IntelliJ IDEA and Spring Tool Suite and UML modeling diagrams.
- Extensive experience in Enterprise Web Based Applications, Distributed Applications and Products using Tomcat 7.0 Web server on UNIX/Linux, Windows98/2000/NT/XP machines with Oracle 10g, DB2 7.1 and MySQL 5.1 databases.
- Experience in configuring and deploying java OSGi Bundles to runtime container Apache Karaf running on JBoss FUSE, web applications (WAR and EAR) on IBM WebSphere (WAS 5.0/6.0), and Tomcat 5.x/6.x/7.x Application servers. Experience in configuring the ServiceMix on Linux OS.
- Excellent communication skills and providing architectural solutions to technical team, implementation, working with various teams like UX (AKQA), BA, PM & QA.
- Hands on experience in developing Banking applications (ACH(Automated clearing house), Transfer, Payment, Payee Management and Account Opening), awareness of FIX Protocol, Logistics domain application, Telecom, Retail domain applications & Healthcare applications like Insurance claims applications.
- Experience working with start up projects from scratch, taking responsibility of such projects and leading a technical team to create framework, POCs, guiding, new technology awareness, assigning work, daily scrum meeting, code review, finalizing project scope, designs & reporting to PM.
TECHNICAL SKILLS:
O/S: MS Windows XP/NT/2000/Vista/7, UNIX/Linux
Programming Languages: Core Java (jdk 1.6, 1.7 & 1.8), Scala (learning), Groovy
Core Java : Algorithms, Multi-Threading, java data structure,Concurrent API, java.io etc.
Authentication/Authorization: OAuth 2.0, JWT, SAML 2.0, Device Authentication
Web Technologies: Servlets, JSON, RESTful, Knowledge of AngularJS v1.3,Java Script, JSP, Ajax, HTML, jQuery
Java Messaging Service: AMQ (ActiveMQ 5.5.0), RabbitMQ 3.6.x,WMQ (WebSphere MQ v7.5.0.1)
Search Engine: Apache Solr v.4.6.0
Frameworks: Apache Camel 2.7.1, Apache cxf 2.4.1, spring 4.2.3,Struts 2.0, Hibernate 3.6, JAXB, OSGi, Spring Boot,Spring Cloud, Netflix Zuul, Eureka
Tools: / IDE: Spring Tool Suite 2.8, Eclipse3.1 IDE,IntelliJ IDEA 2016.1, QC, RTC, GIT, Accurev,SVN, TFS, JMX, Splunk
Databases: MySQL 5.1.24, Oracle 10g, DB2NoSQL: MongoDB 2.2, Mainframe PS, VSAM files
Web Server: Tomcat 5.x /6.x/7.x, Oracle Weblogic 12.1.2IBM WebSphere (WAS 5.0/6.0), Jetty 9.0
Enterprise Service Bus: JBoss fuse ESB 7.1.0
Runtime Container: Apache Karaf 2.3.0, Apache ServiceMix 4.4.0
Logging/Debugging: Log 4J and Spring AOP
Methodologies: OOPS, UML
Testing Tool: JUnit 4.0
Project ManagementMethodology: Agile Methodology, Scrum work, SDLC
PROFESSIONAL EXPERIENCE:
Confidential,Warren, NJ
Lead Java Developer
Responsibilities:
- Architectural and development efforts towards Microservices and Middle Layer for Mobile First Prepay App.
- Involved in the complete Software Development Lifecycle (SDLC) using agile development Methodology. Interacted with various teams like UX (AKQA), PM and participated in SCRUM meetings.
- Developed and set up the core platform and enterprise layer platform for the cross functional team to hide the various implementation to consume variety of Legacy applications services.
- Implemented Microservices Gateway to authenticate and generate authorization token. Used OAuth 2.0 based JWT tokens Authentication and Authorization approach.
- Microservices Registration and Discovery using Spring Cloud and Netflix’s Eureka.
- Implemented Spring Boot integration with Spring Session with redis cache for the presentation layer stateful Microservices. Created Data Usage Microservices to be included in the profile Microservices.
- Implemented API Gateway pattern with Netflix Zuul and Spring Cloud, API Registration and Discovery with Spring Cloud and Eureka, Spring data JPA, Spring data Mongo DB.
- Distributed Tracing with Spring Cloud Slueth & Zipkin, Spring Batch, asynchronous communication using messaging with RabbitMQ over Camel routes in microservices.
- Developed Data Access Layer using Spring Data with JPA annotations, Spring Boot Integration with Mongo DB.
- Created Data Model for initial Java JPA entities for Data Usage Microservices.
- Used log4j with Spring AOP aspects for logging facilities. Utilized Spring framework Executor for async process like logging to file & DB.
Confidential, Warren, NJ
Lead Java Developer
Responsibilities:
- Recommended and developed the architecture of the front layer for the Mobile First Shop Native app. Designed and development of the custom Platform Framework which resulted in enabling cross-functional teams to produce RESTful services. The responses are plain JSON tightly coupled with Native Mobile app for iOS and Android.
- Involved in the complete Software Development Lifecycle (SDLC) using agile development Methodology. Interacted with various teams like UX (AKQA), PM and participated in SCRUM meetings.
- Implemented various types of Verizon supported Device Authentication (AAA, 4G), Wifi secure sign in & RememberMe flows.
- Development of RESTful contracts Services using Spring REST framework, Jackson JSON processor.
- Implemented user’s Session Management to local JVM as well as global to replicate part of the session data.
- Added security to a secure function flows to get authenticated and added listeners to keep alive session in authorization server using OAuth 2.0 to make it a distributed services.
- Used Coherence Near cache for replicating reference and user’s authentication session data across all JVMs. This resulted in making distributed front layer (Self Serve and Shop).
- Created Data Model for initial Java JPA entities for AKQA designed, business driven and Mobile First Platform specific reference data.
- Developed Data Access Layer using Spring Data with JPA annotations, Spring Boot Integration with MongoDB.
- Coded the logic for performing the integrity checks for numerous source files in the Controller layer.
- Used log4j with Spring AOP aspects for logging facilities. Utilized Spring framework Executor for async process like logging to file & DB.
Confidential, Warren, NJ
Lead Java Developer
Responsibilities:
- Architectural and development efforts towards Microservices for Mobile First Shop App and Web users.
- Involved in the complete Software Development Lifecycle (SDLC) using agile development Methodology. Interacted with various teams like UX (AKQA), PM and participated in SCRUM meetings.
- Development of RESTful contracts Services using Spring REST framework, Jackson JSON processor.
- Created Check-out Microservices to provide stateless RESTful APIs utilizing REST services with Spring Boot.
- Utilized Apache Camel to integrate Microservices with other Microservices and RabbitMQ messaging exchanges.
- Recommended and developed internal security model into new projects with Spring Security and Spring Boot.
- Implemented Mobile Native API Gateway to authenticate and generate authorization token. Used OAuth 2.0 Authorization approach.
- Developed Microservices Registration and Discovery using Spring Cloud and Netflix’s Eureka.
- Created Data Model for initial Java JPA entities for Check-Out & Order processing.
- Developed Data Access Layer using Spring Data with JPA annotations, Spring Boot Integration with MongoDB.
- Coded the logic for performing the integrity checks for numerous source files in the Controller layer.
- Used log4j with Spring AOP aspects for logging facilities. Utilized Spring framework Executor for async process like logging to file & DB.
Confidential, NJ
Sr. Java developer
Responsibilities:
- Led a project on converting a single Monolithic application, which is maintaining the Verizon Devices & Projects life-cycle to Device Management and Project Management Microservices.
- Provided architectural solutions to this migration. Configuration and implementation of architectural platform using various Spring frameworks which resulted in team members to focus on the API development.
- Spring Boot integration with ORM module. Created JPA entities for ORM module using Spring Data (Hibernate).
- Used Object oriented based Hibernate Query Language (HQL) for full support of Relational Operation.
- Involved in developing Spring MVC UI layer using AngularJS, Javascript, HTML5 templates, jQuery UI framework and jQuery.
- Suggested and implemented the search engine using Apache Solr which made search of projects and related devices or vice versa very fast and smooth.
Confidential, NJ
Sr. Java developer
Responsibilities:
- Involved in architecture designs of the whole application, implemented test bundles to justify the approach.
- Involved in designing EIP Diagrams, UML Diagrams and Entity diagrams using MS Visio 2003.
- Implemented GIO Preprocessing EIP in Apache Camel JAVA DSL based as well as XML based. Defined various generic endpoints which consumes from ActiveMQ (AMQ), WMQ, Jetty and HTTP components. This preprocessing converts any type of producer message to a common GIO object.
- Implemented GIO Core processing EIP which does various lookup destinations, merging with other type of messages, determines the delivery dates and determines the appropriate destination of this transaction.
- Due to asynchronous processing implemented various retry patterns for merging exceptions, web service exceptions, and database exceptions.
- Implemented Camel Cache Replication using JMS Replicated Caching strategy on Ehcache.
- Implemented Ehcache for faster core processing to keep most part of transaction in cache until committed to database. Also keep the frequently used database details to cache.
- Saved package real time information as documents to NoSQL MongoDB which is being used for non-critical processes such as provide reports on real time package details.
- For providing consumers the real time package details, implemented JAX-WS services hosted in CXF. The JMS based consumers are using Apache CXF to connect to CXF.
- Implemented GIO Distribution module using various EIP for various producer endpoint like AMQ, WMQ, Hadoop Endpoint, FTP Servers (ETL processing). Working on HADOOP consumer for splitting and large data processing.
- Created various OSGi bundle deployed to Apache Karaf container on JBoss Fuse ESB Enterprise Service Bus.
- Involved in performance testing and determining the no of ServiceMix required at each Tier to support 8000 transactions per second.
- Involved in writing JUnit test cases for unit tests and integration testing, working with QA team.
- Involved in the version management, branching/merging, labeling, building and deploying to ServiceMix. Also writing the build scripts to pull from PVCS/TFS servers and maven build scripts. Production support and Enhancements of this application.
Confidential, NY
Sr. Java developer
Responsibilities:
- Requirements gathering, documentation, application design and development of Citibank Safe Box Accounting a web application to manage Safe Deposit Box Accounting. Developed Inquiry, Payments and Managing box Modules.
- Maximized background job processing efficiency by re-designing existing job processing framework. The new background job processing framework helped Citibank save many VMs, improved QoS and allowed to scale reliably for processing millions of jobs(short-lived to long running jobs).
- Improved operational efficiency by re-designing SSO based authentication (primarily SAML). This allowed Citibank to making it customer facing by integrating it with Citibank Online.
- Introduced powerful logging, monitoring and alerting systems using Spring Framework. This enabled Citibank to pro-actively detect and fix manual entry issues.
- Followed various design patterns in the process like - Creational Patterns - Factory and Singleton, Front controller MVC and DAO in integration tier.
- Implemented Spring REST APIs by implementing Dependency Injection (DI/IOC), Spring integration with Hibernate. Implemented Spring Configuration and removed all the XML configurations.
- Developed JPA entities and written JPA annotations for ORM module using Hibernate 3. Used Object oriented based Hibernate Query Language (HQL) for full support of Relational Operation.
- Building and Deployment of WAR, JAR files on IBM Web Sphere servers. Used IBM Extra X-tream emulator and Rdz 8.0.3 for validation of Mainframe Batch. Production support and Enhancements of this application. Unit and Integration testing on development and pre-production servers
Confidential
Sr. Java developer
Responsibilities:
- Led the effort of middle tier re-factoring effort of moving to a light-weight container for the Citibank’s ACACS Utilities. This involved in migrating EJB beans to Spring framework by following Agile software development cycle.
- Designed and implemented the integration layer of ACACS Utilities to validate and initiate financial transactions with proper tracking. After cutoff all the transactions entered so far are being collected by Mainframe application and processing to Product Processors.
- Involved in designing use case diagrams, Activity diagrams, Class diagrams, Sequence diagrams and Object diagrams using MS Vision 2003.
- Using Front controller, MVC, Business Delegate and Session Façade design patterns developed platform framework. Implemented Spring Inversion of Control (IOC/DI), Spring Integration with Hibernate to produce and consume RESTful web services. Implemented ORM module in Hibernate 3 using JPA annotations, HQL.
Confidential
Java Developer
Responsibilities:
- Middle tier re-factoring effort of Citibank’s Fund Availability Notice Adjustment Web Tool moving to a light-weight container. This involved in migrating from JBoss to Tomcat by migrating EJB beans to Spring framework.
- Designed and Implemented Customer Queries, Calculate Delays and Managing FANs Modules platform framework.
- Implemented framework platform using excellent use of the integration of Spring for implementing Dependency Injection (DI/IOC), Spring integration with JDBC to use JDBC Templates. This helped cross functional team to focus on producing RESTful Web Services and integrating with further legacy services. Involved in the TDD of this application. This also helped to me and team to follow the TDD development approach.
- Implemented ORM module in Hibernate Framework to perform CRUD Operations on Oracle 10g. Used Object oriented based Hibernate Query Language (HQL) for full support of Relational Operation.
- Led initiative to move an existing application from ANT to Maven tool and taking care of the version control and configuration management using SVN. WAR, JAR build and deployment to Tomcat and Web Sphere servers.
- Involved in Presentation Tier using JSP, JSP Standard Tag Library (JSTL), Java Script and Ajax.
Confidential
Java Developer
Responsibilities:
- Design and development efforts towards new REST APIs and enhancing existing APIs for the front layer of Citibank’s Account Opening Processes and Servicing Web Application (Concierge).
- Developed Enterprise layer for the integration of Concierge with other legacy applications like credit check (in the required cases), GCIF & back end applications using Enterprise Message Driven Beans (MDBs).
- Used Oracle 10g as relational databases and optimized queries for good performance.
- Developed RESTful Web Services using Apache cxf, JSON, jQuery and involved in developing Presentation Tier using JSP, JSP Standard Tag Library (JSTL).
- Implemented messaging architecture platform for WebSphere MQ with JMS and MDB’s using XML messaging to communicate with external systems. Configured Spring xml files for implementing Dependency Injection (DI/IOC).
- Building and Deployment of WAR, JAR files on IBM Web Sphere servers using SVN repository and Maven tool.
Confidential
Java Developer
Responsibilities:
- Design and development efforts of creating a wrapper REST APIs to a Citibank’s legacy Monolithic Statement Message and Insert Facility (SMIF) Web Application.
- Actively participated in architectural solutions and suggested a stateless approach to make it a distributed Microservice, which helped Citibank to expose SMIF to other channels.
- Leveraged application frameworks like Spring, Spring AOP, Hibernate for the Microservices.
- Implemented SOA architecture using WebSphereMQ with JMS and MDB’s using XML messaging to communicate with external systems. Building and Deployment of WAR, JAR files on Apache Tomcat 5.0.
- Written Stored Procedures and Function in PL/SQL to optimize the queries in DB2 for good performance.
Confidential
Jr. Java developer
Responsibilities:
- Development efforts on Web Application for Medi Assist India TPA clients to manage their policy and claims.
- Applied excellent knowledge on design patterns like Singleton, Factory Method, DAO to implement an application combining JSP, Servlets, JDBC - MySQL 5.0.1 to store data from users state-wide, HTML, CSS, JavaScript.
- Actively participated in all phases of SLDC to implement and adopt dynamic changes.
- Suggested & Optimized Java code and Spring JDBC queries to extend where performance was more important.