- Seasoned professional with 13+ years’ experience in software analysis, design, development and support for web/enterprise applications in the financial domain like Hotel/Club ERP, Ecommerce and E - Learning domain.
- Working as Senior Java Developer at Confidential .
- Experienced in software architecture and applying best practices with practical experience of large scale applications development.
- Experienced in software development life cycle models like Waterfall, Agile, Scrum and Kanban methodologies.
- Experienced in both Windows and Linux based development environments.
- Proficient in Java 8 features like Lambdas, Functional Interfaces, Stream APIs, Collection API improvements.
- Experienced in performance enhancement and code optimization techniques.
- Experienced in design & implementation of web based application using Struts, Spring. Spring Boot, and JSF frameworks.
- Experienced in design & implementation of Hibernate/Sprint Data JPA layer entities and repositories and also involved in developing the service layer architecture.
- Excellent knowledge of distributed applications and experienced in developing middleware based on WSO2 ESB for integration in SOA environment and WSO2 API Gateway for API based front ends.
- Excellent experience developing APIs for E-Learning solutions.
- Experienced in designing REST/SOAP based services with authentication and authorization mechanism.
- Experienced in design and implementation of micro services architecture based on REST API and OOP design principles.
- Experienced in Mock based testing using JUnit.
- Experienced in building environments on Dockers.
Web Server Side Technologies: Spring MVC, Struts, JSF and JSP/Servlets, Velocity templates
Cloud: Spring Cloud, AWS
Aspect Oriented Programming: AspectJ, Spring AOPSpringBoot, Spring MVC
ORM Framework: JPA/Hibernate, Toplink/EclipseLink.
Middle Tier Technologies: WSO2 ESB. Design Patterns (Singleton, DAO Pattern, Observer, Command, Proxy) Unit Test Framework (TDD): JUnit, TestNG
Operating Systems: Linux, Windows
Databases: MySQL, MS SQL Server, Oracle and Cassandra.
IDE: Intellij Idea, Eclipse, STS, Netbeans and WSO2 integration designer for designing the ESB and mediation flow.
Version Control tools: GIT, SVN, CVS
Build Tools: Maven, ANT
Web/Application Server: WebSphere, Weblogic, JBOSS.
Servlet Container: Apache Tomcat (6, 7, 8).
Reporting: Jasper Reports, IReports
Bug Tracking: Mantis, JIRA, PVCS
Messaging System: IBM Websphere MQ, Active MQ, Kafka.
Senior Java Developer
- Responsible for maintaining continued migration from EBilling to microservices by understanding business flows.
- Resolved performance issues by fixing services timeout issues, query performance issues and also done code reviews for new enhancements.
- Done enhancement and writing new apis as needed using Spring Restful architecture.
- Fixed cloud configuration and deployment issues.
- Fixed old test cases and developed new test cases by understanding business flow.
- Configured and deployed EBilling microservices on development and QA environments.
- Communicated with both onshore and offshore development teams for easy integration with EBilling microservices.
- Provided technical guidance and best practices to management and development teams about API gateway for microservices deployment.
- Identified and fixed service deployment issues using Eureka service registry.
- Mentored team for using Git and also helped environment teams for stabilizing CI/CD build pipelines.
Senior Technical Lead Software Engineer
- Working on Confidential E-Commerce project. The product was developed using Microservices. Worked at their offshore office In Karachi, Pakistan.
- Designed microservices related to order placement and shopping cart using Spring Boot.
- Developed docker scripts for the application under development using docker compose.
- Designing shopping cart feature based on CQRS and Event Sourcing design pattern. Providing technical mentorship about how we can effectively implement for targeting huge traffic.
- Demonstrated CI/CD pipeline using Jenkins for the API services.
- Built POC’s using Kafka, Storm for building data pipelines and streaming.
- Worked on their Return To Vendor (RTV) product. RTV was developed using microservices. Identified deployment and configuration issues.
- Done code reviews and root cause analysis.
- Fixed build pipeline issues.
- Fixed SONAR issues.
- Conducted daily Scrum standups.
- Plan, estimate and execute the projects tasks according to the business requirements.
- Created Docker script for RTV. Docker based deployment were on project’s future roadmap.
- Providing mentorship and technical guidance to junior resources.
- Mentored team over Java 8 about how we can affectively use Java Stream APIs.
Tools: JBOSS EAP-6.0.4, Java 8, Spring Boot, Oracle, JPA, Webservices, APIs, Jenkins, Sonar, Docker, CQRS, IntellijIdea, Mockito, Junit, Integration test cases, Unit testing, KAFKA, Cassandra, GIT, Maven, NodeJS.
Distinguished Engineer - Senior Technical Lead
- Designed and developed Microservices APIs using Spring Boot for Learner Mode, Manager Mode, Instructor Mode and all their business processes having end to end communication with Learning Management System ( Confidential ) Kernel.
- Designed and developed UI along with the UI team using ReactJS.
- Created docker based deployment for QA and for Sandbox environment.
- Done POCs for migrating Confidential Unified Dashboard to Spring Cloud using AWS and Azure.
- Configured and created docker script microservices services discovery and registration and using Netflix Eureka for Spring Cloud.
- Configured and created docker script for latency and fault service infrastructure for microservices using Netflix Hystrix.
- Configured and created docker scripts for API gateway with both WSO2 API Gateway manager and also with Netflix ZUUL.
- Troubleshoot issues and maintain existing system.
- Managed project progress and troubleshooting issues by conducting daily Scrum meetings.
- Performed code reviews, provided technical mentorship, programming and design guidelines to team members
- Identified and resolved performance issues by measuring application throughput using JMeter and Appdynamics.
- Worked as Technical Lead for Microservices API development using WSO2 platform.
- Represented enterprise services organization in cross-functional R&D Core Teams tasked with delivering agile projects.
- Developed microservices APIs using Spring Boot.
- Configured Hystrix for fault tolerance and latency using Spring Cloud for Confidential .
- Configured API gateway using both WSO2 and later with Netflix Zuul using Spring could.
- Quickly learned and identified best practices and deployment patterns for microservices using WSO2 platform.
- Created microservices API for the E-Learning module using Spring Boot. All those APIs were deployed using WSO2 API gateway.
- Created docker script for deployment of application to QA and Sandbox environment.
- Created intermediary layer for communication between Soap services and Rest based microservices newly developed. The plan was to move those SOAP based services later in multiple development sprints.
- Developed microservices orchestration at WSO2 Enterprise Service Bus (ESB)
- Strong development concepts in Enterprise Service Bus (ESB) service orchestration and configurations, Business Application Monitor (BAM)
- Done POCs using API Manager, ESB and writing swagger definitions for APIs under development.
- Troubleshoot development and deployment issues by looking at the code level of WSO2 product and apply best practices.
- Configured Production and UAT environments with WSO2 products using Enterprise Service Bus (ESB), API Manager (APIM), Business Process Server (BPS) and Business Application Monitor (BAM).
- Mentored team about how we can develop API based solutions for our E-Commerce applications.
- Designed and deployed scheduler for bulk course import into the Learning Management System ( Confidential )
- Developed backend services using apache CXF, Axis2, JAX-WS based SOAP services and exposed them using WSO2 ESB.
- Implement JSON SOAP & REST interfaces as endpoints in WSO2 ESB
- Tracked project progress and troubleshooting issues by conducting daily Scrum meetings.
- Performed code reviews, provided technical mentorship, programming and design guidelines to team members.
Tools: WSO2 ESB, WSO2 API gateway, Java 8, Spring Boot, APIs, Mysql, REST/SOAP Webservices, Integration of multiple modules with ESB, GIT, Maven.
- Worked at their offshore office
- Identified and resolve issues and provide root cause analysis and fixings for various functionalities and also when project's ORM layer was migrated from Toplink to JPA/Hibernate.
- Wrote microservices for E-Learning module. The product was on monolithic architecture and was migrated to microservices architecture.
- Wrote multiple microservices for Leaner, Customer and Manager modules using Spring Boot and provides integration points on WSO2 ESB.
- Created also dockerize scripts for Spring boot microservices deployment.
- Created container orchestration
- Identified performance and business issues in Learning Management System and provided solutions on how we can resolve those issues.
- Identified and resolved configuration issues related to the technologies used.
- Created SRS and performed designing and development on Automatic Alert Notification System. The product was designed using JMS and Drools (Rule Engine).
- Resolved old pending system bottle necks and application loading issue by reducing load time of huge dataset records to 1 to 2 seconds. Appreciated by company management on my performance resolving initiatives.
- Providing guidelines on day to day development cycle to team members.
- Mentored team member from both technical and architectural perspective and help them provide architecture centric solutions.
- Participated in design/architectural meetings.
- Analyzed application and identifying areas where improvements needed.
- Identified and resolved performance issues by measuring application throughput using JMeter and Appdynamics.
Advisory Software Engineer - Technical Lead
- Worked at their offshore office in Karachi, Pakistan
- Organize plan and control project team resources on project plans.
- Prioritize and develop technology solutions.
- Translating customer requirements into solution blueprint.
- Designed/developed low level/high level system architecture and also suggests
- Improvements to existing application architecture.
- Designed and developed JMS based solutions using WebSphere MQ, XML and Webservices. System was maintaining business documents on Filenet, a document management system remotely hosted on client. Application was communicating with Filenet using XML and Webservices.
- Resolved SQL Injection issues by following OWASP guidelines and rules. Resolved over 80% of application’s SQL injection issues.
- Migrated application from Weblogic to WebSphere application server as per client requirements.
- Experienced in Weblogic/WebSphere application server administration and deployment.
- Developed technical documentation about WebSphere features and application compatibility issues with WebSphere and prepare deployment plan and document about how we can effectively use WebSphere. The deployment was made on Linux (Redhat).
- Provided technical assistance on migrating application from Oracle 10g to Oracle 11g database.
- Provide support to onsite business/QA teams.
- Identify and resolve performance issues both in application and at database level and also provide technical mentorship to the team on this.
- Performed code reviews, provided technical mentorship, programming and design guidelines to different team members.