ananthakumaran@gmail.com
Bangalore, India.
Summary
Senior Full Stack Engineer with 14+ 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
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.
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.
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.
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