Staff Software Engineer
Current- Led a team of junior & senior engineers in the development and design - Replacing the existing Monolithic services with Distributed & Microservices- Architected and built an Android Native Application from scratch that is being used in more than 50 distribution centers- Created build scripts that builds the APK with unique package id and deployed in multiple markets- Built the configuration framework which helped to keep the backend URL configs overridable anytime to keep the client & servers loosely coupled and rollouts using feature flags- Built a reusable network framework which abstracts the network connectivity logics from application and used by multiple Android apps with in organization- Built Rest APIs and BFF orchestration layer using Spring boot framework and deployed as an independent micro service- Develop features, identify tech debts and fix them for mobile apps, microservices and rolled out them to 5o distribution centers- Analyzed the API performance using Dynatrace and fixed issues in API performance- Actively worked on tuning the performance and scalability of mobile applications- Implemented the push notification functionality that is improvised the overall system performance by reducing the no of API calls- Used appropriate Android building blocks such as Navigation graphs, Controller, Fragments that kept the application loosely coupled and ready for scalability- Automated the Unit tests with the integration of CICD pipeline- Used Gradle and packaged the application in a dynamic way to allow other Markets to reuse the application and extend more features- Gathered and documented technical and functional requirements for the project.- Created foundational code elements and architectural diagrams, enhancing reusability and documentation.Conducted unit, functional, destructive, and performance tests, employing modern debugging and root cause analysis techniques.