ananthakumaran@gmail.com
  Bangalore, India.
Summary
  Senior Full Stack Engineer with 15+ years of experience. I have built complex web frontends, high throughput API backends and job processing systems. Nowadays, I mostly play the solver role.
Work Experience
  
    Userflow
    July 2024 — Present
    remote
  
  
    Working as a Principal Software Engineer for Userflow.
    
      - Led the migration from a single PostgreSQL instance to a sharded multi-instance architecture, and later to a multi-region setup to comply with GDPR regulations. Designed and implemented the control plane and data plane model to support this transition, where the control plane is replicated across all regions while the data plane remains region-specific.
- set up and maintain a self-hosted ClickHouse cluster and migrated over 6TB of data from PostgreSQL.
- optimized infrastructure to reduce costs by over $16K per month.
- redesigned the segmentation engine to leverage ClickHouse, enabling segment queries to be converted into a logical plan executable in ClickHouse, PostgreSQL, or a hybrid approach. This optimization allowed real-time queries by using PostgreSQL for recent data (last 1 day) and ClickHouse for historical data, reducing the need to store historical data in PostgreSQL.
    Used several technologies including Phoenix, Websocket,
    ClickHouse, Redis, PostgreSQL, Oban, Kubernetes, Cloudflare,
    Prometheus, Elasticsearch, Pinecone, Terraform, GCP, GKE.
  
 
  
    Scripbox
    May 2022 — June 2024
    onsite
  
  
    Worked as a Lead Software Engineer for Scripbox.
    
      - helped setup a standardized observability system that encompasses metrics, logs, and traces for all applications.
- implemented event logs using Kafka and Debezium, guaranteeing the transactional integrity of the published messages.
- external event integration with providers such as Amplitude and WebEngage was previously implemented independently across multiple services in an ad hoc manner. I unified the implementation, making it easier to integrate with new providers.
- led the implementation of BSE direct fund offering.
    Used several technologies including Rails, Phoenix, MySQL,
    Elasticsearch, Kafka, Redis, PostgreSQL, Exq, Kubernetes, Kong,
    Prometheus, Debezium, AWS.
  
 
  
    Gojek
    Oct 2019 — Apr 2022
    remote
  
  
    Worked as a Senior Software Engineer for the merchant platform division of Gojek.
    
      - helped build the system which handles communication with external parties like KFC, McDonald, Bluebird, etc
- designed and implemented the initial version of shuffle card service for Gobiz Mobile App
- helped rewrite a critical high throughput service in Elixir
- written plugins for background job processing system to handle new use cases
- was involved in the implementation of various authentication and authorization related features
    Some of the libraries — namely 
exq_limit and 
exq_batch — are open-source.
    Used several technologies including Rails, MySQL, Elasticsearch, Kafka, Redis, BigQuery, Exq, Kubernetes, GCP.
  
 
  
    ActiveSphere
    Feb 2012 — Sep 2019
    onsite
  
  
    
      ActiveSphere was a boutique software consulting company with 10 to 15 engineers. We got acqui-hired by one of our clients, Gojek. Some of the client projects I have worked on include
    
   
  
    Midtrans
    May 2016 — Sep 2019
    remote
  
  
    
      Midtrans is a leading payment gateway in
      Indonesia.
      
        - was part of the team which develops the snap product, an embeddable payment form
- helped them migrate their notification system to Elixir stack to improve throughput and resource consumption
- built the initial version of centralized auth server based on oauth protocol
- built a streaming report generation system that could export hundreds of thousands of rows of data in xlsx and csv format while maintaining constant memory overhead
- helped with establishing a pattern for kafka consumers. There are now 10s of consumers processing millions of events per day. Built a system to selectively reprocess historical events.
- helped with decoupling services which were directly accessing each other's databases
      Some of the libraries —
      namely 
redix_sentinel, 
barlix, 
xml_stream
      and 
zstream
      — are open-source.
      Used several technologies including Rails, React, MySQL, Elasticsearch, Kafka, Redis, BigQuery, Exq, Kubernetes, Gitlab CI, GCP.
    
  
 
  
    EnerNOC
    Apr 2013 —  Apr 2016
    remote
  
  
    
      I was a core member of the team that
      developed Energy Manager, a web app used by
      professionals to visualize and understand energy usage. I have
      touched many parts of the system. My main contribution includes
      writing and improving various charts like load profile,
      consumption, heatmap etc using D3. I have also written an
      automated test system to generate charts for various combinations
      of state and compare their screenshots with previous versions to
      catch regression and a library
      named μ to
      compress url parameters. Used several technologies including Node.js,
      D3, AngularJS, Knockout.js, Redis.
    
   
  
  Bitstat>
  Jan 2011 — Jan 2012
  onsite
  
  
  
    Developed and deployed a web based business process management
    system. Used several technologies including NGINX, Unicorn, Rails,
    Solr, MySQL, Amazon EC2, Amazon SES, qpsmtpd, Redis, OAuth,
    Capistrano. Authored a WYSIWYG Form Editor similar to wufoo.com.
  
   
  
  Artha42 
  Jul 2010 — Dec 2010
  onsite
  
  
  
    Worked with a team that developed and deployed a personal health
    record management system. Used several technologies including
    MongoDB, Sinatra, NGINX, Thin, Beanstalk
  
   
Proficiency
  Experienced - Elixir, Ruby, JavaScript, TypeScript, Emacs Lisp.
  
  Knowledgeable - Clojure, C, Erlang, Shell script, Go, Java.
Selected Open Source Projects
  NEato - Nintendo emulator written in go.
  Memcachex - Memcached client for Elixir.
  Tide - TypeScript Interactive Development Environment for Emacs.
  Fake Dynamo - Amazon Dynamodb emulator.
  Webify - webfont generator which can convert ttf to woff, eot and svg.
  μ - μ is a JavaScript library for encoding/decoding state in URL.
  FDB - FoundationDB client for Elixir.
Education
  B.E Computer Science (2006 — 2010).
  Karunya University, Coimbatore. CGPA 8.1/10.
Links