Career Summary

Hello, I am a graduate student at Computer Sciences department of the University of Wisconsin Madison. I am passionate about problem solving and the applications of technology to it.

  • Three years of work experience as Software Development Engineer.
  • Worked in full-stack web development, RESTful web services and software testing.
  • Interested in cloud-based distributed systems, databases, machine learning and large-scale data processing systems.
  • Graduate Research Assistant in the databases group of Prof. AnHai Doan.

Find my resume here.

Work Experience

Summer Research Intern

American Family Insurance
May 2018 - August 2018
  • Developed an API that matches customer record against a million record CDH (Customer Data Hub) in minutes.
  • Enhanced the capabilities of labelling service in CloudMatcher, a cloud/crowd based entity matching solution.
  • Developed a customizable environment specific configuration management framework for CloudMatcher.

Technologies used:

  • Django
  • Python
  • jQuery
  • CSS/SASS
  • HTML
  • PostgreSQL

Software Development Engineer - II

Chronus
Jul 2016 - Jul 2017
  • Developed RESTful web services and responsive web pages as a full-stack web developer.
  • Implemented scalable data migration services that synchronize 100K records into the database in minutes.
  • Improved the performance of slow web pages in the Chronus application and reduced page load time by 50%.
  • Communicated and coordinated with the customers by owning customer calls for building and launching a robust application catering to their needs.
  • Managed triaging, code reviews, tech-talks, retrospection, root cause analysis (RCA) meetings and mentored freshers.

Technologies used:

  • Ruby on Rails
  • JavaScript
  • CSS/SASS
  • HTML
  • MySQL
  • Thinking Sphinx
  • ElasticSearch
  • D3.js
  • MongoDB
  • Amazon Web Services
  • Git

Software Development Engineer - I

Chronus
Jun 2014 - Jul 2016
  • Full-stack web developer using the Ruby on Rails framework.
  • Developed cross-browser compliant web pages and RESTful web services.
  • Followed agile software development methodologies for the project.
  • Received Kudos for deep dive, drive, and continuous improvement.

Technologies used:

  • Ruby on Rails
  • JavaScript
  • CSS/SASS
  • HTML
  • MySQL

Software Development Engineer (Intern)

Chronus
Jun 2013 - Jul 2013

Developed a disaster recovery procedure and documentation for the Chronus website hosted on WordPress.

Technologies used:

  • WordPress
  • Amazon Web Services

Course Projects

Software overheads of storage in Ceph

  • Studied the data flow in the BlueStore backend of Ceph filesystem.
  • Profiled and visualized the call traces during a write request on HDD and RAM disk.
  • Analysed the overheads in the storage software that arise due to faster disk devices and concluded results about thread management and communication overheads.

Technologies used:

  • Python
  • Ceph Filesystem
  • perf
  • Flame Graphs
  • Shell

Analysis of fault injection in Ceph Filesystem

  • Incorporated CORDS, a filesystem fault injection framework to study the behaviour of Ceph in the presence of faults and corruptions.

Technologies used:

  • Python
  • CORDS
  • Ceph Filesystem
  • Shell

Implementation and Evaluation of Traditional and Learned Indices

  • Designed and implemented database indices using machine learning models that learn the data distribution from the training data.
  • Evaluated the performance of learned indices on standard read-only workloads and compared it against traditional B-tree and Bloom filter indices.

Technologies used:

  • Python
  • TensorFlow
  • scikit-learn

Bookworms - Data Science pipeline for multiple online book sources

Consists of the following stages:
  • Stage 1: Information extraction from natural text
  • Stage 2: Crawling and extracting structured data from Web pages
  • Stage 3: Entity matching
  • Stage 4: Integrating and performing analysis

Technologies used:

  • Python
  • scikit-learn

Tweaker - Tweak the tweets

Adversarial Machine Learning project to create adversarial examples for tweets. Built a sentiment analyzer based on a DNN. The DNN has one hidden layer and two dropout layers. It performed with about 80% accuracy on the set-aside dataset.

The adversaries were generated using the following two methods.

  • Synonyms for words which contribute most to the label
  • Insertion/Deletion/Modification of important words

Technologies used:

  • Python
  • TensorFlow
  • scikit-learn

ID3 Decision Tree, Naïve Bayes, Neural Net

  • Implemented a ID3-like decision-tree learner for binary classification.
  • Implemented Naive Bayes and TAN incorporating Laplace estimates.
  • Implemented logistic regression using stochastic gradient descent.

Technologies used:

  • Python

Linux and xv6 Kernel programming

Implemented modern OS features such as
  • Multilevel feedback queue CPU scheduler.
  • Null pointer dereference.
  • User space memory management and stack rearrangement.
  • Thread library (locks and condition variables) for concurrency and synchronization support.
  • Filesystem checker and repairer.
Implemented
  • An interactive command line interpreter (bash-like shell) to understand process virtualization.
  • Interprocess shared memory using mutex and signals.
  • Scalable web server by adding multi-threading support to a basic web server.

Technologies used:

  • C
  • xv6
  • GNU Debugger

N-Gram Chatbot

  • Implemented a chatbot that generates sentences using trigram language model trained on 250+ essays for the English language.

Technologies used:

  • Java

Automatic subtitling and summary generation of computer science lecture videos

  • In this project, we have developed a subtitle generation system which takes a video lecture as input, extracts the audio and generates subtitles also known as Closed Captions for the video lecture.
  • We have used speech recognition engine to generate the subtitles from the audio and Information Extraction to generate notes (summary) and questions from the automatically generated subtitles.

Technologies used:

  • Java
  • CMU Sphinx Speech Engine

Natural Language Query to SQL Query

  • An application performing conversion of human language queries to standard SQL queries.
  • Performs parsing of the input query, extracts features that are used to generate SQL queries.

Technologies used:

  • Java
  • Stanford POS-tagger

Other Projects

Chronus Issue Tracker

  • Implemented an automatic issue creator for exceptions in production.

Technologies used:

  • Ruby on Rails
  • GitHub API
  • Airbrake API
  • Atlassian JIRA API

Natural Disaster Chatbot

  • Designed database backend of a chatbot that helps the victims of floods.

Technologies used:

  • Python

Interaction with Computer using Gesture and Motion Recognition by Value Channel Extraction

  • Involves Computer Vision in tracking hand and moving the cursor accordingly using webcam to control the desktop.
  • An alternative to mouse and touchpad.
  • Funded by Centre for Technology Development and Transfer (CTDT, CEG)

Technologies used:

  • C++
  • OpenCV

Skills & Tools

Languages

  • Ruby
  • Python
  • Java
  • C
  • C++
  • Shell scripting

Web Technologies

  • Ruby on Rails
  • Django
  • JavaScript/jQuery
  • Angular JS
  • HTML/CSS/SASS

Databases

  • SQL (MySQL / PostGreSQL / SQL Server)
  • NoSQL (MongoDB / ElasticSearch / ThinkingSphinx)

Others

  • Git
  • Docker
  • Hadoop
  • AWS
  • Google Cloud
  • Software Testing

Education

  • M.S in Computer Science
    University of Wisconsin Madison
    Aug 2017 - May 2019 (Expected)
  • B.E in Computer Science & Engineering
    College of Engineering, Guindy
    Aug 2010 - Apr 2014