Thursday, Dec 22, 2022

I am a Backend Tech Lead at UBS Business Solutions (India), working in cloud and distributed systems space.

Work Experience

Tech Lead : June 2021 - Present (UBS Business Solutions)

Tech Stack :

  • Backend : Java 8 and 11, Kotlin(1.5.x), Node.js, Python 3.x, Spring Boot, Maven 3.x
  • CI/CD: Gitlab CI/CD, Azure Devops
  • Infrastructure: ARM Templates, Terraform 3.x
  • DB: Postgres
  • Cloud: Azure Public Cloud
  • Containers: Docker Engine, container-d, Kubernetes(AKS)
  • Service Mesh: Isito (1.8 through 1.16)
Evidence Lab Data Analytics
  • Here I primarily work on a markee greefield product offering, a platform for research analysts to collaborate and share jupyter-notebooks without hassle.
  • The solution hosts JupyterHub onto AKS with modifications specific to our needs.
  • Solution, enables notebooks to be version controlled, have pre-configured jupyter-hub kernels with internal tools and packages. Also the solution enables team based folder access for sharing notebooks and personal folders for trying out something without the hassle of muddying shared spaces an much more.
  • Setup Infrastructure using terraform and ADO pipelines.
  • Implemented a custom authenticator for JupyterHub which works in conjunction with KubeSpawner which could connect with our Identity Provider.
  • Introduced Istio as service mesh of choice for setting up mTLS across entire Kubernetes cluster.
  • Configured various parts of jupyter-hub including the Spawner, Culler, Notebook server etc as per the requirements.

Evidence Lab Distrbution

  • Worked on migrating the on-prem spring-cloud based microservices onto Azure Public Cloud (AKS).
  • Worked on setting up the infrastructure using terraform and ADO pipelines.
  • Designed and developed multi-cluster AKS application deployments.
  • Designed and worked on setting up the application deployment pipelines, which made sure developer experience stays the same as working with on-prem services.
  • Implemented Istio Service Mesh across 3 clusters in Multi-Primary, Multi-Network Configuration and worked to setup service discovery across clusters, providing HA for services across azure regions.
  • Designed solution to visualize multi-cluster metrics and traces with Grafana dashboards using prometheus federation installation to gather telemetry data from Istio envoy access logs.
  • Wrote Blogs and held multiple KT sessions to evalgalize the use of Kubernetes and containers to help teams adopt the same.

Lead Dev : May 2019 - June 2021 (Synechron Technologies)

I worked with Synechron Technologies, Pune. A services company that specializes in IT services for Financial Institutions.

Tech Stack:

  • Backend : Java 8 and 11, Node.js, Spring Boot, Maven 3.x, Spring Cloud (zuul, ribbon, eureka, hystrix)
  • CI/CD: Teamcity Enterprise
  • DB: Postgres
  • Cloud: Azure Public Cloud
  • Containers: Docker Engine, container-d, Kubernetes(AKS)

Evidence Lab Distrbution

  • I started as an lead developer. My work comprised of building the middleware services and infrastructure.
  • The microservices that we work on deliver datasets with millions or records and we are always looking to improve the performance.
  • These APIs serve as life line for multiple use cases where the data is served via an interactive portal or Tableu based distribution solution or delivered directly to end customers to build their own products using them.
  • Made sure to use Industry standards for buidling microservices, which could be easily extended and worked on by multiple developers. Used Mircoservices Chassis pattern to develop microservices and push all the cross cutting concerns such as cache-loading and warm up, consistent logging and creating distributed traces.
  • Extended an in house redis cache-loader which was responsible to load data in nearby caches. Used Mediator and Strategy Patterns to orchestrate Producer and Consumer threads that loaded the data onto cache from Database using a blocking queue.
  • Introduced possibility of extending different Cachers and Loaders which could load the data in different caches and from different sources using Abstract Factory Pattern.
  • Designed and built the JWT based authentication / authorization solution that helps to provide developers easy access to the Open apis. This is now used across the bank within the IB department.

Junior / Senior Dev : Dec 2012 - May 2019 (Wipro Technologies)

Tech Stack:

  • Backend : Java 8, Python 3.X, Node.js, Spring Boot, Maven 3.x, Oauth2.0, Apache Camel, Openshift(k8s)
  • CI/CD: Jenkins
  • Tools: Apigee Enterprise For Private Cloud
  • Cloud: Azure Public Cloud

I started my career with Wipro Technologies as a project engineer. During this time I was fortunate to work on entire lifecycle of the projects from gathering requirements to production support. Following the first project, I travelled to UK where I worked as a junior and over the course of time a senior developer for the British Insurance firm Prudential UK.

  • The project involved building up the Retirement Account and Annuities related middleware services using SOA architecture.
  • The services were mainly written with Java8 and apache camel as framework and deployed on Fuse servers.
Cloud Migration:
  • The stack built on on-prem Fuse servers were later requirement to be migrating on to cloud.
  • This project entailed migrating the SOA based architecture onto microservices.
  • Adding in the cloud based stack using Openshift as platform of choice for containerizing and deploying the services onto Azure Public Cloud.