profile-pic

Vyas Reddy

I'm an experienced software engineer with 8 years of specialization in web and cloud technologies, including 2 years as a lead. I started as a PHP backend developer and have focused on Golang for over 4 years, specializing in microservices, REST API development, infrastructure as code, and Kubernetes. I have full stack experience with React.js, TypeScript, and other JS technologies.

  • Role

    Senior Software Engineer

  • Years of Experience

    8.9 years

  • Professional Portfolio

    View here

Skillsets

  • Wordpress
  • OpenIDConnect
  • PHP
  • ReactJs
  • REST
  • S3
  • Salesforce
  • SEO
  • SNS
  • SQS
  • SSO
  • OAuth2
  • Zookeeper
  • asynchronous
  • CloudWatch
  • distributed
  • Git
  • NATS
  • PagerDuty
  • PostgreSQL
  • Temporal
  • Trino
  • Event-driven
  • Kubernetes - 2 Years
  • gRPC
  • GCP
  • Agorasdk
  • Angular
  • CI/CD
  • CSS
  • D3.js
  • Docker
  • Dynatrace
  • AWS - 3.0 Years
  • Golang
  • HTML
  • jQuery
  • JWT
  • Kafka
  • Laravel
  • Microservices
  • MongoDB
  • MySQL
  • Nextjs

Professional Summary

8.9Years
  • May, 2025 - May, 20261 yr

    Senior Software Engineer - Contract

    Careem
  • May, 2024 - Sep, 2024 4 months

    Senior Golang Engineer

    EPAM Systems
  • Jul, 2023 - Apr, 2024 9 months

    Senior Full Stack Engineer

    LKQ Europe
  • Oct, 2016 - Oct, 20171 yr

    Jr Software Engineer

    WebAppClouds
  • Oct, 2017 - May, 20191 yr 7 months

    Software Engineer

    AutoRABIT
  • May, 2019 - Jun, 20234 yr 1 month

    Lead Software Engineer

    JustDial

Applications & Tools Known

  • icon-tool

    VS Code

  • icon-tool

    Jira

  • icon-tool

    Docker

  • icon-tool

    Postman

  • icon-tool

    Expo

  • icon-tool

    MS Teams

  • icon-tool

    VS Code

  • icon-tool

    Kubernetes

  • icon-tool

    RabbitMQ

  • icon-tool

    AWS SQS

  • icon-tool

    AWS DynamoDB

  • icon-tool

    MongoDB

  • icon-tool

    Zookeeper

  • icon-tool

    gRPC

  • icon-tool

    RestAPI

  • icon-tool

    D3.js

  • icon-tool

    jQuery

  • icon-tool

    JWT

  • icon-tool

    SSO

  • icon-tool

    Laravel

  • icon-tool

    SEO

  • icon-tool

    HTML

  • icon-tool

    CSS

  • icon-tool

    GitHub Actions

  • icon-tool

    OpenTelemetry

  • icon-tool

    Prometheus

  • icon-tool

    Kafka

  • icon-tool

    Vue.js

  • icon-tool

    SQS

  • icon-tool

    SNS

  • icon-tool

    SSO

  • icon-tool

    SEO

  • icon-tool

    Firebase Realtime Database

Work History

8.9Years

Senior Software Engineer - Contract

Careem
May, 2025 - May, 20261 yr
    At Careem, we are building the "everything app" - a unified platform offering ride-hailing, groceries, food delivery, payments, and more. Worked as part of the Catalog Platform team to build and maintain core Go services, enabling reliable product and category data flow across microservices and event-driven pipelines. Implemented asynchronous processing and Kafka-based synchronization, improving data consistency across catalog ingestion, enrichment, and localization workflows. Implemented distributed worker execution using bucket-lease coordination to scale workflow processing safely across pods without duplicate claims. Implemented outbox-to-Kafka producer flow for enrichment events to provide at-least-once delivery guarantees across downstream consumers. Integrated catalog localization workflows for entities, including async translation-job polling, entity update flow, and translation-source audit flag handling (is_translated_by_open_ai). Supported 24x7 catalog-platform on-call using PagerDuty alerting and escalation workflows for Kafka lag spikes, sync failures, and merchant-impacting production issues. Monitored Kafka pipeline health in Dynatrace Kafka age/lag dashboards to detect consumer delay, backlog growth, and event-processing bottlenecks during high-traffic windows. Investigated database performance degradation using AWS Database Insights (query latency, waits, connection/load patterns) and validated impact on catalog request processing paths. Executed data-level verification and RCA support using Trino and data insights queries to validate product/catalog states, failed imports, and sync consistency across services. Implemented asynchronous template-update processing in catalog services using outbox + worker patterns to avoid high-latency synchronous API execution. Implemented bulk template onboarding support through catalog request ingestion (CSV parser + handler + batch create endpoint integration). Actively contributed to engineering delivery through RFC discussions, PR reviews, sprint planning, refinement sessions. Tech Stack: Golang, Microservices, Kafka, PostgreSQL, Kubernetes, AWS, Dynatrace, PagerDuty, CloudWatch, Trino, REST APIs, Event-Driven Architecture, Asynchronous Workers, Distributed Systems, Distributed Tracing, Git, CI/CD.

Senior Golang Engineer

EPAM Systems
May, 2024 - Sep, 2024 4 months
    Written Kubernetes Operators using the Golang Operator SDk framework. Building platform solutions like LDAP User management and kubernetes resources management. Worked on Gen AI POC where users connect to fine tuned models like company enterprise chat, finance model. Worked on the UI side (Next Js/React js) to connect to LLM APIs and chat interface. Tech Stack: Golang, Kubernetes, Nextjs, React.

Senior Full Stack Engineer

LKQ Europe
Jul, 2023 - Apr, 2024 9 months
    Developed a cloud-based software solution for garage shops enabling mechanics to clock work hours, perform vehicle inspections, create work orders and invoices, and add parts from the B2B LKQ portal. Worked on invoice html to pdf generation which involves aws sqs, lambda services in golang. Worked on frontend react js developing road assistance features for customer and written related backend golang apis with feature flags. Involved in Code reviews, sprint ceremonies, guild sessions and involved in Dev interviews for team setup in India. Knowledge transfer from Amsterdam team and onboarding team in India. TechStack: Golang, Reactjs, AWS, SQS, SNS, Microservices, Zookeeper, EventDriven Communication.

Lead Software Engineer

JustDial
May, 2019 - Jun, 20234 yr 1 month
    Developed a Doctor vendor management software which has online video consultation, appointment planner, patients data, writing prescriptions and sharing invoices, bills, prescriptions to patient mobile/email. On Demand Video/In Chat consultation feature. Part of the health care module and played a key role in developing doctor vendor management from scratch and involved in product design and system design. Worked as an individual backend Golang developer. Involved in creating APIs, Integrating CI/CD pipelines, dockerize applications. Led React Js frontend team with (6-8) people. Involved in scrum to decide approach on features and analyze requirements, story points along with the product team. Developed doctor frontend app on Reactjs, Typescript, Redux, redux-saga from scratch. Developed gRPC calls with Golang to serialize the data which increased our benchmarking in performance which is roughly 7 times faster than REST when receiving data & roughly 10 times faster than REST when sending data for this specific payload. Tracing user logs and journey through Kibana, Involved in code reviews and approving MRs and deploying the application in dev environments. Tech Stack: Golang, Reactjs, Nextjs, PHP, AgoraSdk, gRPC, RestAPI, Docker, Postgres, MongoDB, S3 Storage, OAuth2, OpenIdConnect (Google, Facebook Integrations).

Software Engineer

AutoRABIT
Oct, 2017 - May, 20191 yr 7 months
    Worked as Frontend Developer to enhance features by integrating with SOAP and Restful API Endpoints. Integrated UI functionalities like comparing code diff changes, conflicts. Tech Stack: Angular, Salesforce Lightning UI, D3.js, jQuery, and JS animation, Rest API, JWT, SSO.

Jr Software Engineer

WebAppClouds
Oct, 2016 - Oct, 20171 yr
    Worked as PHP back-end developer. Got appreciation and awarded for creation of Alexa, Google Assistant Bots for Booking Appointment Modules. Tech Stack: PHP, Laravel, Wordpress, Rest API, MYSQL, SEO, HTML, CSS.

Achievements

  • Got appreciation and awarded for creation of Alexa,Google Assistant Bots for Booking Appointment Modules
  • Awarded 2nd prize for major academic project 'OurRunner.com' at JNTUH
  • Awarded 2nd prize for OurRunner.com project

Major Projects

15Projects

OurRunner.com

    Platform for on-demand runners and delivery services.

CryptoDApp

    Working on Decentralized lottery project which runs on ethereum nodes Using Solidity for smart contracts and Go Ethereum (Geth) for communicating smart contracts.

MatchFur

    A Dating app for pets - Built on ReactNative

School Bus App

    Bus tracking application for parents to identify their children - Bus real time location - Built with ReactNative,Expo

Foodiys.com

    Platform for registering restaurants, built using PHP, HTML, jQuery, JavaScript, and MySQL.

www.nukl.ai

    Faucet and wallet integration on Nuklai chain using avalanche golang sdk

Golang Consultation for a client on fiverr

    Helping them in debug and code fixes in web3 projects and backend development.

Generative AI course builder using Gemini Pro model

    User can login to portal and can generate any course and can complete and will get completion certificate. Frontend is on react js, and backend nodejs

FindIndian.de

    Building a social platform for Indians in Germany to connect with fellow Indian students.

GoPkg.blog

    Own blog, writing few articles related to golang, kubernetes & cloud.

cryptoluck.org

    Working on a web3 project, where users can play fantasy games using eth tokens.

freevoicechange.com

    Tool for transforming voice online using Eleven Labs API and React-Speech-Kit.

2dayjob.vercel.app

    Tool for job seekers to track interviews, built using Next.js.

Sareegamapa.com

    Music download website, earning revenue through AdSense based on views.

Sareegampa.com

Jan, 2016 - Jul, 20248 yr 6 months
    Created songs website while in college, earning well from adsense for some days.

Education

  • Master of Business Administration

    IUBH (2025)
  • Bachelors Of Computer Science

    JNTUH (2016)

Certifications

  • Extending kubernetes with operator patterns - linkedin learning

  • Aws essential training for developers - linkedin learning

  • Working with microservices in go (golang) - udemy

Interests

  • Travelling
  • A Few Screening Questions Before You Begin

    Yeah, myself, Yas. I have 8 years of experience in software development. So I started as a PHP back-end developer, and now I shifted to Golang. And also, I worked as a lead engineer in one company. So I used to lead the front-end team, which used React, and it was a team of 5 to 8 people working individually, with goals and developers at the same time. And yeah. And from the last couple of months, I'm focusing on cloud and Kubernetes. So I'm exploring how to automate Kubernetes operations using Golang operators. So, creating resources or automating resources for Kubernetes users. I'm exploring into that space. And also, I'm interested in the web 3 space. It's like using Golang's Ethereum SDK. So I used to create small contracts. I'm working on some personal project. Yeah. And also, I do freelance in my free time, like creating any mobile applications using React Native or Flutter. So yeah. That's it about myself. Thank you.

    To be honest, I have not used MongoDB much. So I'm familiar with Postgres and MySQL DBs. But for DB migration and everything, using Golang, we can easily use the SQLX library. So we have the migrations file And we can do seeding or something. So using the SQLX package. And also, you can go with the Go ORM. Using Go ORM, we can connect to any DB, not only SQL drivers. We can connect to the MongoDB drivers or Amazon DynamoDB drivers. Anything we can connect. So we can have a migrations folder. So we can see the migrations DB migrations.

    Yeah. Basically, let's say if you're writing an application in our microservice architecture, we'll focus on single functionality, so we can say single responsibility in these data principles. So we'll focus on creating, let's say, a login or authentication model. We'll stick to that part, and we can easily scope and scale the login or authentication service using Kubernetes by creating ports or scaling the ports, replicas, and everything. So we can route the traffic to that service using a load balancer or ingress or egress. So, using this, we can create the basic structure so that we can evolve into many other services and scale to a Kubernetes structure. And also, we can use even given structures. Let's say, in microservice architecture, it's very hard to find the map of all services if you're maintaining hundreds of microservices. So it can be tough to keep a map for that service discovery. Instead, I prefer even architecture. So we can easily track all the publishers or subscribers using topics. We can list all the topics at one place. And by that, we can scale the application very easily, and it's a fault tolerance. Even if anything happens, we can easily retrieve the messages and serve later.

    Yeah. Nishta has discussed about even given architecture. So it's a kind of, better way and industry standard architecture. So if we can follow, we can easily follow using in Golang, we can have the NASH streaming. They are giving many features using Jetstream. We can store the persistent messages for longer term. Whereas in RabbitMQ, it's very hard to store the message. I mean, persistent is not there. So and, also, let's say, we need to be careful about DBs actually. There's a concern when you are creating a microservice, so we need to make sure that, let's say you are creating a login or user authentication database. So we can make only user stable or authentication DB deployed separately, not in the centralized DB. So we can easily scale along with the application. If we distribute the DBs also in the same way of microservices, it's easy to scale. And to maintain data consistency, again, we need some Kubernetes administration, so we can find that if we need to make the changes accordingly for deployments or something. So for that, again, we can write Kubernetes operations. Let's say something is changed, so we can easily automate the process using the Kubernetes operations. I will explain that.

    Yeah, see, basically, let's say, on the other hand, if you're getting any workloads, I mean, you know, what I can say is. So I'm not familiar with Kubernetes operations, but I can say using these patterns. Right? So, scheduler patterns, at a particular time, we need to scale the application. At a particular time, if you have a specific schedule, for example, at 9 o'clock, you need to scale the applications, you know, into more instances. We can use that scheduler pattern. So, using that, we can easily scale the applications at this particular time or different times. And also, I said, using Kubernetes operators, we can use custom controllers to easily achieve these patterns. We can easily scale instances using these custom controllers or CRDs. Yeah.

    Yeah, see, 0 downtime is a very difficult job for any Kubernetes administrator. So that's the kind of challenge SREs came into the picture to address. And I can say using these operators and everything. So we can make sure, for example, if any bug occurs in production, we can easily access a kind of web playbook. I can say the Kubernetes operator, using that operator. So we can say if anything crashes, we'll try to reset our desired state. So, let's say we have three replicas. If something happens and something crashes, this operator will make what we call increasing our replicas. It will always try to match that desired state. So, yeah. And using this, you know, any Kubernetes team has inbuilt logic, which is called a controller. So they always match the same disaster. So for that, we need to have Kubernetes definitions. I mean, in EMLPulse, we'll have a reach-out policy always. Or, you know, if we keep it enabled, it cannot be recovered. And also, we can have a threshold limit easily, at so we can make sure, for example, Kubernetes tries for three times. If the port is failing, try to recover the port for three times, so we can make that threshold limit. We can keep that threshold limit. Yeah.

    It's simple. So, before deploying our Go application, we can have that raise flag. So, we can while building the Go build or something, so we can easily have the raise flag. So let's say if you use that flag, it can say whether any data risk conditions are there or any coroutines are writing to this same resource, same variable. So it can easily find out the data risk conditions using that flag. Yeah. Again, so MongoDB collection. And also, we can make sure for this data res condition, we can use a mutex package. We can lock and unlock the threads or you know, the Go goroutines. Let's say if you are writing to the same resource, same variable or same kind of DB or something. So we can log that particular goroutine. Right? So we write log or we can use a read-write log. Yeah.

    Audio design and optimize gross service to handle a large supercomputer. But what I mean is that we can have a rate link or in an API gateway. So before that, we can let's say before our application, we can have that rate limiter. And so we can let's say if our microservice is able to set for 200 requests per nanosecond or something. So we can have rate linked up for that. And if the let's say 300 requests came, but our service can serve only 200. So we can make that remaining 100 requests in some cache or something, and we can serve later in the next throughput. So, basically, we can have this rate limit if we are getting a large number of data. On the other side, using message queues is always a good choice for this kind of data. I mean, large amounts of data. So they just subscribe and publish the event. And whenever our service is there, it will pick up the event, and it will serve the transactions or anything.

    I am not into deploying applications into Kubernetes. But generally, we use load balances for navigating traffic order, using ingress or ingress. And now we have many kinds of SaaS best practices in AWS. We can easily have the AWS load balancer, and we can easily load traffic. Also, now we have the APG. So, Google provides a good API gateway, which manages and tracks all network traffic, and balances traffic, enabling. Yeah, pretty much. I am not sure about this service's measure, or texture, on how to deploy.

    Yeah, so we can follow the repository pattern. We can use that to maintain the models separately. And we can mock and easily write test cases using these mocks. If we can easily mock the DB interfaces, we can follow the repository pattern. Using that, we can connect to any DB. We'll stick to the data and everything in the models. Through models, we can get from repository to service and then controller. So, using this, we can differentiate the best at the model side. We can have the repository structure with repository model. We can write all queries or something. Let's say, MongoDB. We can write all the necessary things in the MongoDB repository and SQL repository and then service.