Summary
Overview
Work History
Education
Skills
Software
Timeline
Generic

Rittik Banik

Distributed Systems Architect/Engineer (Staff Level)
Seattle,WA

Summary

Technologist working on solving problems related to scalability, consensus, leader election and failure detection in partially synchronous crash recovery system models. My primary area of interest include developing fault tolerant systems which are linearizable. I also have some experience maintaining strongly eventual consistent systems based on operation and state based CRDTs. I have previous experience building complex distributed systems (for deployments onto a hybrid cloud ecosystem ) in:

  • Digital Payments and Digital Commerce
  • Real Time Payments Processing, Settlement, Loyalty and Benefits
  • Lead at Meta's largest key value store ZippyDB and Core Data Engineering.
  • Distributed systems that cater to AI workloads.
  • https://engineering.fb.com/2021/08/06/core-infra/zippydb/

Overview

14
14
years of professional experience
5
5
years of post-secondary education

Work History

Software Engineer/Architect

Facebook/Meta
10.2021 - Current
  • Working on ZippyDB which is Meta’s persistent, managed key-value storage service, that provides reliable, scalable, geo-replicated storage for high throughput applications. It’s currently deployed in production in 16+ regions, serving out 1.35 billion read/write queries per second and hosting over 267 petabytes of data. It is leveraged across multiple products across Ads, Commerce, FRL, Newsfeed, Instagram, Whatsapp, Messenger etc.
  • Lead some of the most challenging migrations for Meta payments including the one that allowed sale of the Meta Quest.
  • Landed cross shard transactions for Meta's largest key value store which hosts around 267 PB of data across Meta's family of Apps across Ads, Commerce, FRL, Newsfeed, Instagram, WhatsApp, Messenger etc.
  • Lead and directed complex projects at Meta's single largest key value store, ZippyDB including adding improvements to the resharding stack and migration of AI workloads.
  • Distributed transactions with 2PC, RAMP and Calvin.
  • Working with Rocks DB, LSM storage, bloom filters, skip lists and Compression.

Senior Software Architect/Engineer

Microsoft
06.2021 - 10.2021

Responsibilities

  • Implementation and design of Azure data pipelines to perform Royalties processing based on Azure data processing platforms.
  • Influencing and engaging with cross -functional leaders and teams across Engineering, Architecture and Product to define roadmap and segregation of responsibilities.
  • Mentoring and providing thought leadership in defining multi year roadmap for multi tenant architecture towards business agility.

Staff Architect

American Express (Hybrid Cloud)
01.2020 - 06.2021

Responsibilities:

  • Implemented split brain resolution for Apache Ignite using Zookeeper/ZAB.
  • Designing and architecting for large scale cloud infrastructure focused on transactional and analytics workloads.
  • Event driven transactional workload processing using immutable write ahead logs as primary datastore following polyglot persistence model.
  • Performance improvements using lockless data structures which prevent frequent context switches and invalidation of data inside L1 caches.
  • Mesh-based mTLS identity, authblue SSO, k8s network policies, and Istio policy management using OPA Gatekeeper.
  • Implemented distributed algorithms for message passing systems using asynchronous networks with a focus on appropriate consistency models.
  • Debugging and maintaining open source systems which are built on top of distributed algorithms like LWW, Read repair, Linearizable CAS and fault tolerant total order broadcast.

Staff Architect

American Express (Digital Payment Processing and Enterprise Architecture)
09.2018 - 01.2020

Responsibilities:

  • Maintenance and initial development of a strongly eventual consistent system which uses operation based CRDTs and relies on reliable broadcast and commutative operations.
  • Debugging complex open source software which used best effort broadcast for state machine replication. This required analyzing complex state update functions which needed to be deterministic, commutative, idempotent and message loss tolerant.
  • Design and implementation of a guaranteed message delivery framework replacing existing batch processing with Streaming API's using best effort
  • Ensuring durability, correctness, resiliency and high availability allowing for lambda scaling architecture in a cloud native ecosystem.
  • Leading a core team of RTF that drove the technology stack for real time processing, in-memory computing, data transformation, advanced analytics and chaos engineering.
  • Influencing and engaging with cross-functional leaders and teams across Engineering Architecture and Product to define roadmap and segregation of responsibilities.
  • Application of low level Systems programming concepts to provide consultation and direction to the Amex cloud and Information security teams on product evaluation and review.e.x. eBPF.
  • Developing custom core components like performant async http dispatchers, JDI debuggers, idempotent checkers and terraform scripts for infrastructure creation.

Senior Software Engineer

American Express (Loyalty And Benefits)
11.2015 - 08.2018

Responsibilities:

• Leading technology strategy and delivery of a global team working out of UK, US, Singapore and India to standardize Points Transfer experience of MR, Co brand and Cashback cards across 32 markets.

• Implementing Global Loyalty as a Service(GLaaS) using a federated reuse model for market specific integrations.

• Mentoring and providing thought leadership in defining a multiyear roadmap for Redemptions towards business agility and technological innovation.

• Providing data insights into market trends and customer behavior using data driven techniques of Dash-boarding and Predictive Analytics.

• Leading the cloud migration strategy (of J2EE and Golang applications) and implementation to the private enterprise cloud platform (ePaaS) for all loyalty products streams over the last two years.

• Received CIO recognitions for creating Shop Small mobile dashboards using linear regression.

• Spearheaded the effort to introduce Machine Learning into the Loyalty space for automatic anomaly detection and performing market basket analysis.

Software Engineer 1

American Express (Digital Payments)
04.2014 - 11.2015

Responsibilities:

  • Prototyping new light weight tools like IBM Liberty Profile and JRebel to automate the delivery process and speed the delivery process during iterations.
  • Implementation of Elastic Search Rivers to keep primary and secondary Data sources in sync. Built custom River plugin for IBM Db2 and Elastic Search .
  • Implementation of faceted search in Elastic Search with enhanced UX experience.
  • Relevance scoring of favorites using function scoring and custom scoring for multiple criteria’s.
  • Using decay functions for distance and date based scoring
  • Creating dynamic caching strategies using coherence and hibernate 2 nd level cache across clustered environments to enable caching.

Lead Technical Engineer

General Motors (Compuware)
01.2011 - 01.2014

Responsibilities:

  • Data analytics and data mining of telemetry system data sent from millions of GM cars that have the OnStar system installed.
  • Creating integrated solutions across the multiple projects (Integrated Logging prototype using Elastic Search, Log back, Play and Scala).
  • Code in Groovy to screen request XMLS in order to validate entering requests in XML.
  • Utilize dynamic, static routing slips and splitters of Service Mix components on input XML to route them through a series of connecting servers to the backend application. This requires configuring ESB components using context files.
  • Architected specific Java 7 security for SSL /TLS handshake for both shared and cert mode communication in a client/server model.
  • Used behavioral patterns like Chain of Responsibility, Mediator and Observer across multiple modules to create light weight apps.
  • Reengineered structurally outdated apps with adapter, flyweight and decorator patterns.
  • Increased concurrency to +60 % using Netty and Java NIO frameworks for the gateways.

Education

Bachelor of Science - Electronics

Birla Institute of Technology (Bachelor of Engineering)
Mesra Ranchi
01.2000 - 12.2004

Skills

AI Algorithms and Theories

AI Model Development

AI research and development

Machine Learning

Deep Learning

Distributed Algorithms

Distributed Technology & Decentralization

Security in Distributed Systems

Data Analytics and Data Mining

Machine Learning(R and Python)

Software

Istio, Consul, Anthos and GKE -  Implemented Identity and Security management strategies with eCP(Amex Open Shift based private cloud) and Identity Management teams to validate a variety of use cases for eCP V5 

On Prem and Hybrid Cloud Solutions - Evaluate the entire SDDC, network and infrastructure stack (GKE On Prem/NSX-V/ vSphere) along with the cloud teams with a focus on observability, identity, CI/CD and security solutions

Terraform, Ansible and Gitlab -  Chaos Engineering performed using terraform scripts and multi pipeline gitlab jobs to provision, create, test and destroy infrastructure on the fly 

Docker,Kubernetes and Openshift -  CPU and memory profiling applications on the cloud to gain better insights Followed container driven development strategies

Javascript - Custom visualization developed based on Domino’s Pizza tracker and Geographical Map tracing using D3js, Angularjs and Kibana API's

MongoDB/Couchbase/Cassandra and Kakfa - Leveraged  No Sql, time series DB and scalable messaging solutions for batch application processing

Java/Scala - Polyglot programming model followed for creating JVM based microservices with a very good understanding of the low level details of the Java Memory Model

ElasticSearch(ELK)/Prometheus/Grafana/Jenkins  and Redis - Extensive experience using ELK stack, Druid, Grafana, Prometheus, Jenkins, XL Release and Redis for measuring KPI related to application, infrastructure and business data 

Golang - Micro services application developed with a 12MB foot print on a 250 milli core CPU and 1500 MB RAM Capable of providing 1500 TPS on a single pod 

Spark and Cassandra -  Performed ML tasks on existing data present on a Cassandra instance Spark jobs run on Jaeger tracing data for alerting and monitoring

R / Python, Supervised and Unsupervised Learning - Performed time series and  market basket analysis techniques to predict and determine market trends

Timeline

Software Engineer/Architect

Facebook/Meta
10.2021 - Current

Senior Software Architect/Engineer

Microsoft
06.2021 - 10.2021

Staff Architect

American Express (Hybrid Cloud)
01.2020 - 06.2021

Staff Architect

American Express (Digital Payment Processing and Enterprise Architecture)
09.2018 - 01.2020

Senior Software Engineer

American Express (Loyalty And Benefits)
11.2015 - 08.2018

Software Engineer 1

American Express (Digital Payments)
04.2014 - 11.2015

Lead Technical Engineer

General Motors (Compuware)
01.2011 - 01.2014

Bachelor of Science - Electronics

Birla Institute of Technology (Bachelor of Engineering)
01.2000 - 12.2004
Rittik BanikDistributed Systems Architect/Engineer (Staff Level)