Egen - Naperville, IL
July 2021 - Present
Software Engineer
For PEAPOD -
Developing and maintaining payments and cart micro service through API development, building new features while debugging and resolving any production issues.
Contribution towards cart team -
• Joined in at a crucial moment when ATG migration was being done. Old code was migrated to a new spring boot monolith application with more than 50 API's to migrate
• Contributed to the migration in a fast paced agile environment to meet deadlines
• Involved in design discussions with team and developed all layers of api (controllers/facade/services/dao)
• Reduced latency of add to cart api by 15%, that is, optimized it to be within 1s
• Added new routes using spring cloud gateway to provide front end access to back end api's through routers
• Made production releases through Jenkins CD using both canary and rolling deployment approaches
• Added unit & integration tests using Mockito to ensure correctness in code and business logics and in achieving higher code coverage
• Part of rotation policy for PagerDuty incidents and on-call shifts
Contribution to payments team -
• Sole owner and maintainer for payment micro service code base and bridging the gap between cart core services and back end systems
• Maturely upgrading and maintaining the micro service by adding new & essential features
• Added Hazelcast caching in the application to reduce the million's of api calls to the downstream
• Added and integrated new payment methods such as Apple Pay in the system as part of platform development
• Migrated complete payment repository from Bitbucket to Github and moved the deployment process to Azure DevOps Pipeline run through Github actions
• Ensured no downtown while migration was being done to Azure DevOps Pipeline by using canary approach of deployment while monitoring Datadog
• Added new api's as per scrum requirements
• Collaborated with different teams to fulfill new business requirement
• Part of rotation policy for PagerDuty incidents and on-call shifts
For UPTAKE -
Developing and maintaining code for Uptake’s – Uptime Platform, which is an Industrial IoT project.
Code base is a multi module microservices application , written in Java using Spring Boot, Elasticsearch, Kafka, Docker, Jenkins and Bitbucket for version control.
Developed microservices (controller/façade/service/repository layers) end to end as part of elasticsearch migration from 1.7.1 to 7.8.0, to break down the monolithic design into several multi module microservices architecture.
Deployed these services to Marathon using Jenkins CI/CD and then managed them via DC/OS to scale or alter configurations accordingly.
Created elasticsearch index templates and indexes, setting their replicas and primaries as per amout of data and adjusting other properties and mappings.
Wrote ad-hoc scripts in python for data migration between elasticsearch 1.7.1 and 7.8.0
Used new relic as APM tool to scan through logs while debugging for any issues
Used Mockito for writing Test cases for the different layers of the application (controllers, services, repositories)
Used Postman/Insomnia to test the working of each endpoint and then through a local UI setup to check the correct flow of the code.