<aside>
💡 Turn on/off dark mode for this page with cmd/ctrl + shift + L
for the best viewing experience.
</aside>
🔗 https://www.linkedin.com/in/nandak552
🐦 https://twitter.com/nandak522
⏱️ About me
- I am a Software Architect with more than 18 years of total experience in software design, development, testing, and automation, 7 years particularly in the Platform Engineering / Site-Reliability-Engineering domain.
- As a builder and innovator, my true passion lies in (distributed) systems and cloud infrastructure. I am driven by the opportunity to create scalable and efficient solutions in these areas.
- Additionally, I possess a strong aptitude for building and architecting scalable command line and web-based applications, covering the full-stack. I have successfully applied my expertise across various industries, including healthcare, e-commerce, and talent management.
- I've mentored and trained teams, led strategic value initiatives, and been a force multiplier.
👨🏻💻 Experience
Razorpay (July 2023 - Present)
-
Principal Engineer - 1
Developing a Cell-based Architecture at Razorpay to enable scalable expansion across multiple geographies while ensuring robust security and compliance standards. (80% of role)
- Initiated and led early-stage implementation of Cell-based Architecture, setting up processes and exploring solutions for global scalability.
- Co-pioneered Lambda@Edge Cell-Router, delivering functional demo within one month.
- Transitioned to key individual contributor role, collaborating with senior team members on architecture refinement.
- Got the first fully operational Cell deployed in Singapore(https://api-sg.razorpay.com/), implementing branching strategies for GitHub repos containing Singapore specific code changes and authored automated GitHub workflows.
- Evaluated and devised strategies for Spinnaker pipelines for doing cross-cell, cross-region deployments with canary releases.
- Became a key-reviewer of technical specification for Cell-Router engine, researching industry best practices and AWS services.
- Developed "Single Pane of Glass" view for project tracking across all Cellular-Architecture releases.
- Led cross-functional collaboration, aligning company-wide infrastructure strategies with Cell-Architecture principles.
- Mentored teams on Cellular Architecture adoption, driving strategic planning and incremental wins.
- Innovated custom Spinnaker stages (for doing Helm releases), enhancing deployment consistency and rollback capabilities across 100s of services.
- Contributed to Spinnaker open-source project, developing a solution for a bug. It's released in version 1.35.0.
Also, part of Developer Productivity Team, I play a crucial role in helping developers achieve Razorpay's vision of being the one-stop platform for all money movement needs of businesses. (20% of role)
BigBasket (Apr 2016 - Jan 2023 : 6 yrs 10 mos)
- Architect (Apr 2021 - Jan 2023 : 1 yr 10 mos)
- Took the initiative and developed a tool in-house called Atlas that automates setting up Load balancers and related resources in AWS, including (Nginx) proxies, using a Web GUI with Terraform, and Golang as core backend technologies. This formed the base for rolling out 40+ different lines of testing in BigBasket's non-production environments. Want to know more ? Hope over to blogpost on BigBasket’s Tech blog: Atlas: Streamlining BigBasket’s 40+ lines of testing across 80+ Microservices in Non-Production Environments
- Served as a liaison between Platform and DevOps teams to effectively work on certain strategic initiatives aimed at Cloud-Infrastructure.
- Brought more visibility into our Aerospike clusters by integrating them with Prometheus.
- Took the initiative and proposed the practice of spinning Newrelic dashboards, and alerts through Terraform. This also avoids duplicating Newrelic dashboards, and alerts, while maintaining consistency, even when microservices grow from 10 to 100+.
- Introduced Github's Gh-ost schema migration tool to Bigbasket and practically eliminated the need for taking late-night (db related) scheduled downtimes every few months. Made the Engineering team's life easy. Gh-ost rocks!
- Senior Principal Engineer (May 2018 - Mar 2021 : 2 years 11 months)
- Became the go-to person in BigBasket for all things regarding Kubernetes.
- Took the initiative and developed an in-house tool called Heva in Go/Golang for validating and merging Helm Values files. This brought a common standard (and even auto-baked production learnings) for all (80+) microservices' configurations in Bigbasket. Want to know more ? Hope over to blogpost on BigBasket’s Tech blog: HeVa: Achieving Consistency in Microservice Deployments through Manifest Discipline
- Took the initiative and came up with an initial implementation splitting Kubernetes deployments so that half the pods run on spot vs on-demand. This has tremendous cost benefits.
- Gave a talk on Scalability and Reliability at BigBasket (Large Scale Production Engineering/ LSPE-IN Conference)
- Gave numerous techtalks to teams regarding Helm, Kubernetes, Docker, and Istio and inspired them. Want to know more ? Hope over to blogpost on BigBasket’s Tech blog: BigBasket’s Experience with Istio
- Lead various microservices migration to Kubernetes in production. This increased agility while reducing costs.
- Laid ground rules for launching the initial set of microservices, that became a reference for many more in the longer run.
- Inspired many application teams to treat Reliability, Monitoring as one of the foundational principles for developing microservices.
- Prepared numerous templates for BigBasket's Engineering team, including Incident Post-mortem (R.C.A) templates, Tech spec templates, and Blogpost templates. These templates allow content authors to have creative freedom while maintaining structure and discipline in their writing..
- Lead numerous production cutovers that involved Mysql databases, Kafka, Aerospike upgrades, and service migrations between multiple Kubernetes clusters.
- Mandated and lead Infrastructure As Code (I.A.C) practices in our team to spin infrastructure on the AWS cloud.
- Wrote many technical specs/docs/wikis for all the things that are deeply technical and inspired many teams to do the same.
- Principal Engineer (Apr 2016 - Apr 2018 : 2 yrs 1 mo)
- Planned and lead numerous production cutovers, which involve database upgrades, and migrations.
- Worked directly with CTO, lead a team focused purely on Mysql database performance, shaved millions of SQL queries hitting a monolith database, and improved the response time of bigbasket.com tremendously.
- Authored a Kafka Client in Python, built on top of confluent-kafka-python library, but has pretty much all goodness of Celery. (Handles delayed processing, duplicate processing, celery style decorators for the producer, and consumer logic.) This has been running great in production for 6 years, processing over 54 million msgs every HOUR!!
ZeOmega (Oct 2009 - Mar 2016 : 6 yrs 6 mos)
- Associate Development Manager (Jun 2014 - Mar 2016 · 1 yr 10 mos)
- Developed the UI layer(Websockets + AngularJS) and web service layer(Pyramid+RabbitMQ) to handle (Jiva)version agnostic clinical content.
- Automated the build and release management and lead the team to handle releases efficiently.
- Tech Lead (Jun 2012 - Jun 2014 · 2 yrs 1 mos)
- Lead the Continuous Integration Build and Release Management using Jenkins. Automated many manual procedures which were killing developer time and productivity.
- Introduced the concept of Techtalks & Code-athons to the company and successfully organized two code-athons.
- Lead Software Developer (Oct 2009 - Jun 2012 · 2 yrs 9 mos)
- Developing various configurable features in Jiva which behave differently across different Clients.
- Developing a suite of scripts for auditing any developer's code based on certain Jiva specific standards.
- Learning & training many people on the ins & outs of Python Packaging tools like Buildout, Pip(in Virtualenv). Contributed lot of improvements to the build tools that enhance developer productivity inside the company.
- Working on an In-House developed framework to handle loading client data(in CSVs) into Jiva’s database, using ZeroMQ.
- Developing in-house python scripts to automate the Administration part of Github Teams, Repos. Using Github API V3. Also interfacing with LDAP/AD system.