• Experienced Java Developer with 8 years of experience in Core Java, Spring, Java Multithreading development, Databases (Both RDBMS and Non-RDBMS), Caching and Messaging, with exposure to Python and Front-End development.
Designed and built chaining asynchronous task system with high fault tolerant and scalability. Developed task coordinator using Java Concurrency and Spring AOP to manage task pools, dispatch tasks via SQS or Kafka and monitor workers’ results with 100 - 200 QPS.
•
Designed and built workers as micro services using Spring Boot to pull and process clients’ metadata from multiple cloud services. Store user data and context in Postgres and Elastic Search.
•
Lead projects, communicated with stakeholders, designed architecture, code reviews, and coordinated tasks by following Scrum methodology. Responsible for team member onboarding and interviews.
•
Setup test framework using JUnit and Mockito for automated unit and integration testing.
•
Implemented OAuth2 Service to integrated with company single sign on service. Published existing APIs using Swagger.
•
Developed Rest APIs. Setup Jenkins, Kubernetes to deploy dockers on to AWS ECS for CI/CD. Solved performance issues by analyzing jmap and jstack.
Developed Rest APIs on the platform and internal management involving MySQL.
•
Delivered an internal management web app using CoffeeScript, React, Bower, Node.js, and NPM.
•
Involved in implementing a multi-agent based, distributed platform using Jade for handling tasks to workers. It provides better transparency, scalability, and performance.
•
Developed User Analytics Service to store client’s analytics data using Spring AMQP framework and RabbitMQ messaging. Develop Android SDK for Android team to connect to our Analytics Proxy.
•
Implemented object storage using Swift and AWS. Experienced in OpenStack and docker to quickly add a new instance.