Animesh Nath, Developer in Mumbai, Maharashtra, India
Animesh is available for hire
Hire Animesh

Animesh Nath

Verified Expert  in Engineering

Software Developer

Mumbai, Maharashtra, India

Toptal member since May 4, 2023

Bio

Animesh has over ten years of experience working as a software engineer. He likes to follow the best practices while coding or designing, keeps up to date with the latest technologies, and has a knack for solving a problem entirely from its root cause. He is a lifelong learner and has gained a lot of experience in fintech and startup products. Animesh has led teams and solved challenging issues related to concurrency and building stable and reliable systems that can handle peak volume flows.

Portfolio

Clevertap
Java 8, MongoDB, Redis, Functional Programming, Linux, Data Structures...
MSCI
Java 8, Spring Boot, Spring, Functional Programming, Linux, Data Structures...
Morgan Stanley
Java 8, Spring, Functional Programming, Linux, Message Queues, Data Structures...

Experience

  • Java 8 - 10 years
  • Spring - 5 years
  • Algorithms - 5 years
  • Message Queues - 4 years
  • Linux - 4 years
  • Data Structures - 4 years
  • Functional Programming - 3 years
  • MongoDB - 2 years

Availability

Part-time

Preferred Environment

Java 8, Spring, MongoDB, RDBMS

The most amazing...

...system I've built with best practices aimed to avoid technical debt, was tested to handle high volumes, and survived an outage caused by the upstream system.

Work Experience

Senior Associate

2021 - PRESENT
Clevertap
  • Optimized latency and removed bottlenecks in the dispatch flow by CPU and memory profiling the system and fixing the bugs. Increased the throughput from 2 to 6 million messages per second.
  • Worked with a teammate to embed a logic creating short links similar to short URLs for SMS message notifications as the firm was moving for a new requirement to provide short-link features to users. Optimized the architecture by validating the cost.
  • Reduced dispatch error rate by adding a layer of adaptive rate limiting. This innovative solution dynamically scaled sending throughput based on error rates from multiple providers, ensuring seamless operations from design to deployment.
  • Guided the team in using coding best practices to write clean code. Advised on managing time efficiently by asking to track their work and whether they can put in productive hours or how many hours produced quality work.
Technologies: Java 8, MongoDB, Redis, Functional Programming, Linux, Data Structures, Algorithms, Concurrent Programming, Java, Amazon Web Services (AWS), API Design, Git, Team Leadership

Senior Associate

2020 - 2021
MSCI
  • Developed a Java exchange identifier lookup system and tried to optimize it as per the usage sequence. Attempted to add more features by making it pluggable. Segregated modules by functionality to follow best practices.
  • Fixed bugs and followed Azure pipelines to remove some manual handling in the technical processes to fasten the deployment.
  • Wrote a few quick POCs to demo to the client and then completed the application from POC by following best practices and clean code. Added fewer deployments and continuous build processes to unblock daily code pushes and deployments.
Technologies: Java 8, Spring Boot, Spring, Functional Programming, Linux, Data Structures, Algorithms, Concurrent Programming, Microservices Architecture, API Design, REST APIs, JSON REST APIs, SQL, Relational Databases, Git, Microservices, Spring Microservice, RESTful Microservices, PostgreSQL

Senior Manager

2017 - 2020
Morgan Stanley
  • Renovated a major interface component connected to the upstream team component using CPS, a producer-consumer pattern technology. Reduced the memory footprint by 80%, with lesser heap memory and no OOM errors, reducing latency by 10%.
  • Removed bottlenecks in the timeout manager flow, a central component that communicates with flows in charge of confirmation delivery. Wrote a script and did the analysis to find approaches. Reduced the delivery latency and scaled the throughput.
  • Reduced latency in the confirmations delivery flow to the client. Zipped all the confirmation files on the mail to reduce the latency from 30 minutes to under two minutes. Implemented best practices post-analysis to find the root cause.
Technologies: Java 8, Spring, Functional Programming, Linux, Message Queues, Data Structures, Concurrent Programming, Spring Boot, Microservices Architecture, API Design, SQL, JSON REST APIs, REST APIs, Relational Databases, Git, PostgreSQL

Java Developer

2015 - 2017
Capgemini
  • Developed a Java module to integrate and deploy Oracle IPR quickly and with zero defects. It had proper best practices and a proper state machine to handle response and error codes. This was the first time I worked with teams.
  • Deep-dived into a Java virtual machine (JVM) app to find the root cause of why it stopped working. Identified database call bottlenecks, including stored procedure optimizations and JVM memory leaks, to improve latency and system uptime.
  • Participated in on-call support to identify bugs and deploy bug fixes to remove technical debts, reducing the system response time by 20%.
Technologies: Java, Spring, Spring Boot, Relational Databases

Programmer Analyst

2011 - 2015
Cognizant
  • Learned how to debug and find the root cause of an issue.
  • Optimized and fine-tuned stored procedures to remove bottlenecks and reduce latency. Learned how to write effective, lesser, and cleaner code to reduce tech debt in the future.
  • Started a solution for automating redundant manual tasks, wrote them quickly, and got them tested to make them usable.
Technologies: Java, Relational Databases

Experience

Renovating and Optimizing the Interface Component of Upstreaming of 12+ Million Messages Daily

A Spring Java-based application for streaming messages from the upstream pub/sub-component. Most of the time, the legacy application had Out Of Memory errors because of the heavy volume and the high number of objects created. The size of each object was huge due to the complete DOM tree loaded for the XML message. As a result of the banking domain component, zero defects were expected as every message was needed, and throughput was expected to grow. We met all the above expectations during delivery by following a blue-green approach to delivery and a high level of testing and coding best practices using trade-offs on time over space and using SAX parsing technology.

The memory footprint was reduced by 80% and throughput by 10%.

Adaptive Rate Limiter

The adaptive rate limiter helps to flexibly adapt the current rate limit of the flow of messages in the system concerning the current error count collected within an interval. If the error count increases, the rate limit is reduced to reduce the flow. If fewer errors exist, the rate increases until it reaches the max throughput threshold or gives more errors.

We have also written the rate limiters: heavy volume flow rate limiter (>1 message per second to 100 million messages per second), low volume flow rate limiter for delivering messages (less than one message per 10s). This helped reduce overall client-to-provider error rates (HTTP 429 or rate limit exceeds errors) by 50% by regulating the overall flow in the system, as per the exact rate.

Education

2006 - 2011

Integrated Dual Degree in Material Science

Indian Institute of Technology (BHU) - Varanasi, India

Skills

Libraries/APIs

REST APIs

Tools

Git

Languages

Java 8, Java, SQL

Frameworks

Spring, Spring Boot, Spring Microservice

Paradigms

Concurrent Programming, Functional Programming, Microservices Architecture, Microservices

Platforms

Linux, Amazon Web Services (AWS), Amazon EC2

Storage

MongoDB, Relational Databases, PostgreSQL, Redis

Other

Data Structures, Algorithms, Message Queues, API Design, JSON REST APIs, RESTful Microservices, Team Leadership

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring