Software Engineer
Karāchi, Sindh, Pakistan
Developed and maintained backend services using Java 11 and Spring Boot 2, adhering to coding best practices and design patterns.Implemented unit tests using JUnit and Mockito to ensure code quality and reliability.Integrated and configured Keycloak server for authentication and authorization in microservices architecture.Utilized JMS (Java Message Service) using ActiveMQ for asynchronous communication between microservices.Implemented object mapping using Mapstruct to streamline data transfer between layers.Collaborated with frontend and QA teams to troubleshoot and resolve issues in a timely manner.Technical documents were created encompassing API specifications, database design, and the ReadMe files.Reviewed code PRs.Collaborated with the project manager and the team in the process of grooming tickets.To ensure the robustness and maintainability of the code, logging, error handling, and proper exception handling techniques were implemented.Provided support for investigating and troubleshooting production issues.Implemented multitenancy in a SaaS environment.Conducted R&D and integrated JaVers, a tool used for maintaining a history trail of changes that occur within a system.Mentored and trained two junior developers in Java Spring Boot during my tenure.Tech Stack: Spring Boot 2, Java 11, Hibernate, JPA, MySQL, Liquibase, MongoDB, Keycloak Server, JaVers, JUnit 5 using Mockito, Feign Client with Fallbacks, JMS, Mapstruct, Lombok, Maven, Gradle, GitHub, GitLab, Postman, SourceTree, IntelliJ IDEA