Gulsar Rabina Mohamed Hanifa - Java Developer |
[email protected] |
Location: Remote, Remote, USA |
Relocation: Yes |
Visa: H1B |
Gulsar Rabina Mohamed Hanifa
Java Developer (919)-454-3100 [email protected] Yes H1B PROFESSIONAL SUMMARY: Enthusiastic professional with over 10 years of software development experience in Object Oriented Programming, Design and Development of Multi-Tier Distributed, Web based, Enterprise applications using Java/J2EE technologies. Strong experience in developing Service Oriented Architecture (SOA) and MicroServices Architecture based J2EE applications. Expertise in Core Java concepts, such as Object-Oriented Design (OOD)/Object-Oriented Programming (OOP) skills, Generics, Exception Handling, Collections, Multithreading, and some new features in Java 8 such as Functional Interfaces, Default Interfaces, Streams, Method references, Lambda expressions and DateTime API and OpenJDK with Java 11. Experience in developing Spring applications for banking applications with Spring 5 Core, REST, MVC, JPA and JWT/Oauth for security. Experience in addressing security vulnerabilities (listed in OWASP 10) in the application by following security best practices and running security scans (SCA and SAST) to identify vulnerabilities. Proficient in developing web applications using forefront technologies like Spring 5 and Spring Boot 3.1 microservices with REST API Web services, ORM tools like Spring JPA/JDBC and Spring Cloud. Experience in developing front end web applications using Angular12, 14, React 15, HTML, CSS, JavaScript, jQuery, AJAX, and JSON and Twitter Bootstrap. Experience in developing applications using various Java design patterns and Microservices design patterns to solve common problems. Experience with designing web applications from scratch using Spring framework by coming up with the system and database architecture. Good knowledge in application development and deployment using AWS as well as completed AWS Solution Architect Associate certification. Proficient in developing applications using Java, Grovy and Kotlin based on the requirements. Experience in IAM (Identity and Access Management) in the applications through implementations of security protocols using Spring Security, Sailpoint etc. Experience in working with Software Development Life Cycle (SDLC) Models such as Agile (SCRUM, TDD) and Waterfall Model to ensure code quality, unit testing, and continuous integration (CI). Experience in working with Big Data (Hadoop) and Relational Databases like Oracle DB, MySQL, DB2, embedded H2, MS SQL Server using SQL, PL/SQL and non-relational databases like MongoDB (NoSQL). Extensive experience working with Continuous Integrations tools like Jenkins, uDeploy and Bug tracking and Issue Tracking using Rally and HP Quality Center. Good Knowledge in various version control software such as GIT, Tortoise SVN, Bit Bucket and Perforce for supporting code repositories. Experience in developing enterprise applications in Windows and Linux environment. Worked in Jbpm business process management tool for writing workflows to handle the flow of the application. Good experience in migrating Struts application to Spring, application server configurations and release management for the web applications. Proficient in programming by using the Integrated Development Environments (IDEs) such as Eclipse, IntelliJ IDEA, and NetBeans. Experience in developing and deploying applications in containers such as Docker and exposure to Kubernetes. Experience in working and designing solutions for various domains including Digital Banking, Retail and Tele Communications. TECHNICAL SKILLS: Java/J2EE Technologies Java JDK 1.5, 1.6, 1.7, 1.8, Java 11, OOPS, Collections, Multithreading, Exception Handling, Streams, Functional and Default Interfaces, Method references, Lambda expressions, JSP, Servlets, EJB, JDBC. Frameworks Struts 2.0, Spring 5, Spring MVC, Microservices using Spring Boot 3.1, Quarkus, Spring JPA, Spring REST, Spring Cloud, Spring Batch, Autosys, Quartz Web/Application Servers/Containers Web Logic, JBoss and Tomcat, Docker, Kubernetes, IBM Websphere IDE/Tools Eclipse, IntelliJ IDEA, NetBeans, STS Testing and Build Tools JUnit, Glassfish, Mockito, Cucumber, Log4j, Gradle, Maven, Jenkins, Nexus, uBuild and uDeploy Operating System Windows 10/8.1/7, Unix Source Control Tortoise SVN, GitHub, Bitbucket, GitLab Databases SQL, PL/SQL, MySQL, DB2, Oracle and H2, PostgreSQL Web Technologies Angular 12, 14, Typescript, HTML 5, CSS3, JavaScript, jQuery, AJAX, Angular JS, Bootstrap, JSON, React JS 15. Web Servies and Tools XML, JSON, XSLT, JAXB, JAX-RS, RESTful Web Services, SOAP UI, Postman SDLC Waterfall and Agile (SCRUM, TDD) Code Quality Tools SonarLint, SonarQube, Jacoco, Phabricator, Crucible, Structure 101 Cloud AWS, Azure WORK SUMMARY: Java Lead Consultant | VLink Inc. | April 2022 Current Java Lead Consultant | Virtusa Consultancy Services, Chennai, India | September 2019 - April 2022 Senior Java Developer | Infosys Limited, Chennai, India | January 2017 - September 2019 Java Developer | Infosys Limited, Chennai, India | October 2012 - December 2016 PROFESSIONAL EXPERIENCE: Client: Bank of America, US Duration: Apr 2022 Current Designation: Lead Consultant - Java This application primarily focuses on the customer authentication process of banking. There are multiple pages for authentication, providing privileges to customers and username/password related services. Currently there are separate applications to perform these tasks for desktop and mobile. The application is rewritten using the microservices concepts to enable it as a Single Page Application (SPA), thus enhancing user experience. Technologies: Bank customized UI framework using Handlebars and Node js, Java 8 and 11, Maven, React JS, Angular 14, JavaScript, jQuery, GitHub, BitBucket, uBuild, uDeploy, SOAP UI, Postman, Kafka, Docker, DevOps with CI/CD, Jenkins, Nexus, Spring boot, Microservices, Spring Cloud, Spring REST, Spring JPA. Roles and Responsibilities: Involved in converting the monolithic Spring application into microservices using Spring Boot. Remodeled the authentication part of the application using RESTful web services and achieved persistence using Spring Data JPA with Java 11 using Mongo DB and H2. Performed POCs on Ruby on Rails and SpringBoot for developing the web application and finalized on Spring Boot. Utilized the Ruby on Rails features such as MVC, scaffolding, active records and Ruby language for developing APIs. Developed each functionality as a separate microservice application using Spring Boot by segregating the modules. Enabled communication among the microservices using service discovery and centralized configuration using Cloud Consul. Developed the circuit breaker logic to handle application downtimes and their corresponding configurations. Developed the middleware system using REST APIs, IBM tools and configured Spring JPA with MongoDB for persistence. Developed the application following the java and microservices design patterns. Worked on UI integration with Spring Boot for handling the service calls to fetch data. Experience in developing cloud native applications using Azure Cloud services and persistence layer using PostgreSQL Query Language. Experience in DevOps practices like CI/CD pipelines using the Cloud deployment manager, logging and monitoring tools to deploy the application, perform health checks and monitor the logs for issues. Developed the micro services application as a cloud-based application to utilize the features of AWS such as App Functions and Lambda functions. Configured and managed Docker engine for various environments to deploy and manage the application in cloud. Designed the application from scratch by identifying the modules in the monolithic application to be converted to micro services and worked on integrating them for seamless operation. Developed the application by utilizing the microservices features like centralized configuration, service discovery, circuit breaker pattern and load balancing using Spring Cloud. Implemented the authentication part with Spring Security using JWT and Oauth2. Used SAML tokens for REST services and SSO login with LDAP and implemented role-based authentication/user identity using IAM. Experience in shell scripts and log monitoring using Putty. Build the code changes using Maven in development environment and Jenkins, uBuild and uDeploy for SIT. Performed code review for functional and technical requirement validation. Maintained the code version for each development task using Bitbucket version control system. Used GIT as source code collaborator and GitHub for maintaining code and documentation. Fixed the Sonar bugs before every release to improve code quality and performance. Fixed critical issues by debugging the application through log monitoring tools like Putty, Dynatrace, Splunk, App Dynamics and application debugging with IDEs. Worked on issue triages and guiding the team in identifying and fixing bugs in the application. Worked on writing unit, integration test cases and systems tests using Junit, Mockito with in-memory DB like H2 and Redis. Developed the automation tests for the application with Selenium framework using Java. Client: British Telecom, UK Duration: Oct 2019 Apr 2022 Designation: Lead Consultant - Java This is a middleware application where new services were written to fetch rules matching certain criterion. The old application had rules written in xml format. A Spring based web application was created and the rules got stored in database. Rules were matched using Drools framework. Frontend application is developed using React. Technologies: Java 8, Java 11, Spring framework with Boot, JPA, Drools, Gradle, MySQL, Hadoop (Big Data), H2, Phabricator, SonarLint, Jacoco, Structure 101, Junit, Mockito, Cucumber, Spring Boot, Spring REST, IntellliJ IDEA, Postman, SOAP UI, React JS 15, Kubernetes, Appium, Spring MVC. Roles and Responsibilities: Worked on creating web services using Spring REST, JPA in Spring Boot and Java 11 as the base. Implemented the CRUD operations for fetching and updating business rules as a Spring Boot application to enable Middleware to access the rules by making REST webservice calls. Analyzed huge data in the form of xml files and converted them to database tables with MySQL and implemented data processing with Hadoop. Experience with modeling tools to create architecture diagrams like class and sequence diagrams. Implemented the middleware application using REST APIs, Drools and JPA for persistence. Worked on the design of UI wireframes for the application and implemented using React components, forms and SCSS for styling. Implemented REST API calls from React components using JSX. Worked on React Redux to implement Redux store and subscribe it, wrote callback methods to update the UI based on the events. Implemented the Redux code using Typescript by creating hooks. Worked with Oracle SOA tools like Oracle ESB (Enterprise Service Bus), Registry and Orchestration. Designed the Spring Boot application from scratch as well as involved in database table design using MySQL and H2. Worked on various POCs to find the apt rules framework to be implemented in the application and finalized on Drools. Worked on deploying the application in Azure Cloud using CI/CD tools on Kubernetes. Worked on writing unit and integration tests using embedded H2 to enhance loading time of the application. Worked on application integration and API managementausing MuleSoft through xml configuration. Configured and used code quality tools like SonarLint and SonarQube for cleaner code, code coverage tools like Jacoco to ensure unit tests cover all branches of the code. Incorporated the use of peer review tools like Phabricator and Crucible for code review and Structure 101 to avoid boilerplate code and maintaining the complexity of classes and methods to minimum. Used Swagger for testing the API changes in all development phases. Worked on creating wireframes for UI pages and assisted UI team with setting up React framework. Worked on code quality issues using SonarLint and code coverage using Jacoco. Managed a team of backend and UI developers and addressed them in resolving conflicts to achieve deliverables on time. Provided technical support during software maintenance/upgrade. Performed Unit testing for developed changes before deploying on Dev server. Performed code review to validate all the code changes before integration. Performed regression testing during all development phases. Monitored web applications for bugs and security vulnerabilities. Fixed the Sonar bugs before every release to improve code quality and performance. Client: Bank of America, US Duration: June 2016 Sep 2019 Designation: Senior Java Developer Handled the development of online applications that help the customers open a deposit account with the bank. This application is the entry point for the customers who wish to have an account with the bank. The deposit account opening process goes through multiple phases before it is approved, and separate applications are developed for each phase. Technologies: Java JDK 7, Spring MVC, Jbpm with Tomcat and JBoss server, Oracle 12c, Urbancode, Jenkins, Maven, Eclipse, TOAD, Perforce, Tortoise SVN. Roles and Responsibilities: Implemented business requirements using Core Java, Spring, REST API and Spring MVC. Implemented a separate workflow for Super User role and designed web pages and APIs to support role specific taks for Super User. Worked on the corresponding changes in the database part to add a new role and provide the necessary authorizations. Worked on a module to mask customer sensitive data in UI and logs. Used Agile methodology for application development and provided the status update for the assigned task during scrum call. Coordinated with clients and other stake holders for gathering and analyzing the business requirements. Estimated the business requirement and worked with client for approvals and validations. Converted the given requirements into smaller programming specifications for easier development and testing. Fixed the Sonar bugs before every release to improve code quality and performance. Gained knowledge through the utilization of Agile related DevOps tools like Rally, Jenkins and SonarQube. Worked on a critical module from offshore as SPOC and delivered it successfully with zero production defects. Tested changes in all development phases. Used Rally for creating, tracking and prioritizing the tasks during daily Scrum. Integrated all the changes done by team and performed integration testing to ensure accuracy of the business requirement implementation. Supervised the daily processes for taking required steps on failures. Tortoise SVN and Perforce tool for Deployment, maintenance and version control of Java code. Worked on code quality and coverage through Junit and SonarQube. Worked on DML creation for property files as a Maven project which would be run for each production release. This reduced the manual work in doing SQL operations during each release. Worked on ADSF and ADA related issues during the project. Acted as the Configuration Controller (CC) of the project during bank audits. Client: Bank of America, US Duration: Sep 2015 May 2016 Designation: Java Developer Worked in the development of a banking application which provides all the functionalities of online banking. Primarily involved in developing a module which enables the customers to update their personal information like email, phone number and address with the bank. The information is then linked with their banking accounts and used for providing transaction-related information to customers. Technologies: Java 1.6, Struts 2.0, Oracle 11g, Spring and Web Services, ADA, Eclipse, SOAP UI, Postman, Jenkins, Perforce. Roles and Responsibilities: Implemented SOAP call for updating the customer s information like phone number, address and email in the backend using Spring application. Developed the SOAP suite to test the services for various scenarios and wrote unit test cases for the modules involved. Used Jenkins tool for building and deploying the changes on different development phases. Tested changes in all development phases. Involved in integration testing and regression tests to maintain application stability. Worked on Waterfall SDLC model on all phases of the project lifecycle. Gathered and analyzed the business and technical requirements. Coordinated with different stake holders for requirement analysis. Prepared design documents and mapped business processes for given requirement. Converted requirements gathered into small programming specifications. Automated the execution of unit test cases for the modules developed using Selenium. Client: Darden Restaurants, US Duration: June 2014 Aug 2015 Designation: Java Developer Associated with the development of an interactive employee engagement portal application hosted using Oracle Web center with an underlying framework called Oracle ADF. This portal is used by employees spanning across 1900+ restaurants in United States and Canada. Focused primarily in shaping the Login module which allowed the employees of the restaurants to create a user account in the Portal. Technologies: Java 1.6, Oracle ADF and Web center, Tortoise SVN, Oracle 11g Roles and Responsibilities: Redesigned the Login module to promote RWD (Responsive Web Design) using Bootstrap. Revamped the existing application by removing redundant and boilerplate code. Applied the coding best practices and rewrote the Login module of the application which resulted in improved response times for the application. Implemented utilities for repeated functionalities in the application. Introduced OTP service as authentication for the new employees joining the portal. Structured the application based on MVC pattern during the redesign. Gathered and analyzed the business and technical requirements. Coordinated with different stake holders for requirement analysis. Implemented CRUD operations for managing the user logins for the application. Headed the development team and achieved the best release code through effective code quality management. Ensured maximum code coverage and rigorous testing to catch defects at an early phase. Supported team through critical releases and offered postproduction support on weekends. Client: Bank of America, US Duration: June 2013 May 2014 Designation: Java Developer Involved in the development of a banking application which handles the service requests of its customers. The application, named TI (Transaction Investigation) allowed the customers to create Service Requests to enquire about the transactions made or the services utilized by them. Application consisted of sub modules to Create/Edit a request, Approve the request and view the created or approved requests. The application followed ADF framework, with EJB handling the business layer and ADF faces components for UI. Tools and Technologies: Java, Oracle ADF, Oracle 11g, HP Quality Center, Perforce, Jenkins, SonarQube Roles and Responsibilities: Worked on the development of this application from scratch. Involved in all phases of the end-to- end implementation project- requirements gathering, analysis and design, development, testing and debugging. Gathered and analyzed the business and technical requirements. Developed business logic with Java code and SQL queries. Prepared Junit test cases for the regression testing of all the modules. Acted as the DP (Defect Prevention) anchor for the application. Developed all the modules following the algorithms provided by the leads. Involved in the detailed design, coding and testing phases of the project. EDUCATION: Bachelor of Technology (B. Tech) | Panimalar Engineering College | Information Technology Chennai, India | May 2012 Keywords: continuous integration continuous deployment user interface javascript database information technology hewlett packard microsoft procedural language |