Senior Software Engineer at PayPal · Austin, Texas
Full stack engineer with over 10 years of experience designing and building scalable, reliable enterprise web applications with Java, Spring, React, Angular and Azure. I write here about databases, distributed systems, Kubernetes and algorithms.
Experience
Senior Software Engineer · PayPal
Dec 2024 — Present · Austin, Texas, United States · Hybrid
- Leading observability for App Switch — which lets PayPal users start a transaction in a mobile browser or merchant native app and complete it in the PayPal app — across all PayPal integrations including the Native SDK, JS SDK and Direct API, tracking and monitoring real-time native checkout completion rate.
- Engineered a real-time Flink pipeline processing hundreds of millions of events per day to derive and publish custom metrics into Datadog for customer interaction latencies and real-time checkout completion rate, significantly reducing MTTD (~15 min) during critical failures in mobile app checkout.
Java · Apache Kafka · Apache Flink · Datadog
Projects
BuyMeNot
A cross-platform savings app for iOS, Android and the web — log the purchases you talk yourself out of and see what that money would compound to in an index fund — built with Expo Router and React Native Web, Google sign-in, and a Supabase Postgres backend where every table is scoped to its owner with row level security.
React Native · Expo · TypeScript · Supabase · PostgreSQL · Tailwind CSS
sharathenugala.com
This site — a statically generated Next.js blog and portfolio, containerised with Docker and deployed to Azure Kubernetes Service with ingress routing and cert-manager TLS, built and shipped by GitHub Actions through Azure Container Registry.
Next.js · React · Tailwind CSS · Docker · Azure AKS · GitHub Actions
Data Structures & Algorithms
A personal reference of data structure and algorithm implementations, and the source behind several of the algorithm write-ups on this site.
Java · Algorithms · Data Structures
Writing
More Than Just a Cache
Redis4 min read
Redis is popular for cache but it can also be used as durable database. Redis stores all of its data in memory which is the reason for its ligtning fast…
Core Concepts, Use Cases, and Scaling Strategies
Kafka6 min read
Kafka is a popular event streaming platform and it can be used either as a Message Queue or as a Stream processing system.
High-Level Overview of Database Write and Read Mechanisms
Database2 min read
There are two major ways how data is written and read back later in databases:
Understanding Heaps and Priority Queues through a Java Implementation
Data Structures3 min read
In computer science, binary heaps and priority queues play a pivotal role, especially in areas like scheduling algorithms and graph processing. This blog post…
Comparing Shortest Path Algorithms in Graphs
Algorithms1 min read
Graph algorithms are fundamental in computer science and are widely used in various applications like network routing, scheduling, and project management. This…
Solving HTTPS Configuration Issues in AKS with Cert-Manager
Azure2 min read
Setting up a TLS cert to make your website secure(HTTPS) on Azure AKS can be challenging. This post details resolving issues related to cert-manager and ACME…
Sharding vs Partitioning
Database2 min read
In the ever-evolving landscape of web development and cloud computing, database management remains a cornerstone. With growing data volumes and user demands…
Understanding Database Replication
Database1 min read
Database replication is a technique used to maintain multiple copies of data from a database, and keep it updated in real-time. This is crucial for ensuring…
Add custom domain in AKS - Ingress
Azure1 min read
Azure AKS resource with a deployed node js service Domain name registered with any 3rd party provider like GoDaddy
Automated Deployments in AKS
Azure1 min read
Azure offers two forms of automated deployments: Automatically containerize and deploy and Deploy an application. The difference is when you already have a…
When to Use Static Generation v.s. Server-side Rendering
Next.js1 min read
Next.js recommends using Static Generation (with and without data) whenever possible because your page can be built once and served by CDN, which makes it much…
Two Forms of Pre-rendering
Next.js1 min read
Next.js has two forms of pre-rendering: Static Generation and Server-side Rendering. The difference is in when it generates the HTML for a page.
