Aravind Soundararajan
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.
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.
- 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 ScienceUniversity of Wisconsin MadisonAug 2017 - May 2019 (Expected)
-
B.E in Computer Science & EngineeringCollege of Engineering, GuindyAug 2010 - Apr 2014