
I am a seasoned Staff Engineer with a background in leading complex projects, optimizing infrastructure, designing robust architecture, driving innovation, and fostering cross-functional collaboration. With expertise in Go, Java, Python, and cloud services, I bring 11 years of proven success in ensuring project excellence.
At Funding Societies, I orchestrated a project ensuring compliance and streamlined multi-region deployment. My role involved driving AI initiatives and optimizing platform services.
During my tenure at Jeavio, I specialized in next-gen features and migration projects, providing expert guidance and defining key metrics.
At PubMatic, I excelled as a Product Owner, developing high-capacity data processing platforms and real-time reporting. My work also included QPS programs and efficient data analytics integration.
At SAP Ariba, I led migration projects and developed performance-enhancing tools, leveraging my expertise in SAP HANA.
While at Ola Cabs, I led backend system development, enhanced system performance, and facilitated seamless integration.
My experience at Ubona Technologies involved leading the development of Cloud Telephony solutions and enhancing customer engagement.
I have a strong foundation in technology, a knack for problem-solving, and a passion for innovation. I look forward to contributing my skills and experiences to your team.
Staff Software Engineer
ClouderaStaff Software Engineer
Funding Societies | Modalku GroupSenior Principal Engineer
JeavioSoftware Development Engineer - II
OLACABSDeveloper
SAP AribaPrincipal Engineer
PubMaticSoftware Analyst
UBONATECHNOLOGIESSoftware Engineer
PERSISTENT SYSTEMS.png)
Docker

Kubernetes

Rancher

Helm

Postgres

Prometheus
.jpg)
Grafana

gRPC

Spring Boot

NodeJS

Lua

OpenAI

SQS

DynamoDB

Lambda

ECS
Snowflake

Airflow

PostgreSQL

Redis

Consul

Terraform

CircleCI

Kafka
.png)
FastAPI

MySQL

Memcached

HDFS

Hive

Ansible

Maven
.png)
Jenkins

JMeter

Selenium

Tomcat

RabbitMQ

Git

EC2

RDS

Asterisk

SIP

Objective C
I'm basically from the background of software development. I have around 11 years of experience. I've worked with back-end technologies, and where I am, like, a Java expert, with experience in Python. I'm currently working with the staff engineer of the funding society as a staff engineer. Working with the current funding society is a Fintech startup based in Singapore. They provide lending products. I'm currently helping the lending teams over there to help them with any technical problems they're facing. Throughout my career, I've worked with different startups and MNCs, mostly focusing on back-end technologies and big data technologies. I've worked with various technologies and languages, not specific to one language. Like, throughout my career, I've worked with Java, Ruby on Rails, Scala. At the same time, I worked on Golang, Python, Scala, Python, and Node JS. And that's about me.
In the multiple regions of the US, what would you consider to provide? Definitely, I will try to identify whatever reasons. So, there should be different reasons. There won't always be a primary and secondary cluster. I will try to set up for it. And both clusters will be on different data centers in altogether different regions. So, if something goes wrong, you want to update it will be automatically updated so that it happens to the other region. And that will provide more disaster recovery. So, that's one of the considerations I will think about. Like, yeah.
How would you monitor cash flow question marks? Yeah. Definitely. There is a common problem. So whenever the protesters are producing a loss of messages compared to the consumers, this will be gradually increasing. So mostly, there are a couple of things out there. There are open source monitoring tools on Kafka. You can monitor it and you can see how many consumers are lagging behind the producers. That's one of them. The second approach we're using is to pass a dummy message to the consumer for comparison. You can, from the consumer side, check the time difference between when you produce a message and when the consumer processes it. If something goes wrong, you can definitely create an alert through channels, like phone calls, emails, or a Slackbot. And, what kind of action will take place? I will try to take action first by checking the consumer groups at the consumer level to increase the number of consumers. I will also check the number of partitions, and if they are sufficient or if we should increase them. Based on that, I will try to increase the partitions to enable parallel processing from the consumer side. That's the two things. And, one last thing, I will also try to keep the number of Kafka clusters low. Something. So yeah. That's it.
When the YAML is deployed, specifying, if the replica field is not defined, it will be declared by default as one. And this will automatically create only one replica with that instance.
What I will definitely try to create is all the multi-cloud deployments for the different cloud providers. So that's one of the things I will take care of. Second thing, whenever I'm working with Kubernetes, I will try to create. Mostly, it's a networking problem, and I will figure out how to set up the networks and all.
One of the things I would prefer is multi-cloud or multi-region deployments. So, multi-zone is now an option we're waiting on. You can think about it. Each Kafka broker should be in a different availability zone. That's one of the things I will take care of. There is an elastic block store. I will use it. EBS, I will use it. There will be auto-scaling definitely. If a broker goes down, it will automatically start a new broker. Those things I will try and definitely I will add monitoring and alerting.
Consider the port on imports, inputs for always links. Can you support if I'm not able to find any item. Just one of the double quotes has this list might be, and that doesn't require in the Terraform code. Generally double quotes has a slash double quotes, so we can remove it. Second thing we can improve is, we can add the tags. Tags should be with the name. So, you can identify that instance in AWS console easily, which instance it's created by which telephone call. There should be a text with the name. That will be one of the things I will see. That thing is, I'm not seeing anything apart from that one. Assist. Well done. That is one of the things you have to provide, the setup of the providers like AWS in this case. It's AWS, so there will be a provider block. Core blocks should be there with the region. So that's it from this.
Okay, let's move forward. We should accept that always the system is a function, or is the system? So whatever command should be a part of the round bracket should be that command bracket. There is definitely an error because o s dot system is a function you are passing why by this space? So we might want to work on it at line number 3. That should be in the round bracket of the command.
Hidden put on c means the configuration applies multiple times. I think you can apply that one, and the result will be the same. So I think, you can use AWS cloud formation or data from something which helps the ID importance. You can use the words on control of those codes so you can keep track of the different things on that one. And, definitely, whatever code should be parameterized and should be clearly managed for dependency. So that will be helping our manage the item potency.
So first thing you can use it to come up with an organizational structure only, so you can separate it into different modules. You can create common modules and parameterize using a TF bot so you can easily manage it. The second thing is you can use it to store the state environment in some cases. You can also use the Terraform model registry, where you can register your Terraform models, and maintain them running. Or you can use the GitHub one. To store remote statements, you can use S3 or DynamoDB or something. So you can at least revert whatever was last saved. You can use parameterized configuration.
What approach can you think you can use? You can use the services as a straightforward set, and you can use some of the Kubernetes functionality like a port and terminal infinity. And you can provide the persistent volume for all of those stateful services so you can know whatever state and last state. You can store it in the persistent volumes. And definitely, you can use a load balance and then health check in the auto scaling of the Kubernetes so you can easily start it if one of the instances goes down. That one. So, definitely, horizontal scaling should be horizontal port scaling. You can use it for that one. And you can implement the backup and restore mechanism very well. So whenever the restart happens, it will be in a consistent state. Whenever it starts, it should be in a consistent state.
How do you enjoy first of which will be in first So there's a code you can use it with the beta report, one of those. And immutable infrastructure, you can use it, and that will be helpful, whatever contact some current environment will not obtain any changes. And the blue green deployments where you implement a blue and a green environment. So we are blue is a little bit currently spawning a new infrastructure unless blue becomes green. Can we show that kind of deployment strategy, you can use it. And feature flags or can release those kinds of we can use it.