Shantanu Bhoyar

TL;DR

Hey there! I am a software engineer.
I love thinking about how computers can simplify our tasks and want to help build software that improves people's lives.

I currently stay in Raleigh, North Carolina(US), where I graduated with a Master of Computer Science degree (May 2020).

I have around 3.6 years of enterprise software development experience, 4 internships, and a Bachelor of Technology degree under my belt.

Professional career

Amazon.com Services, Seattle (US)

  • Software Development Engineer

    Joining back the DynamoDB Streams team where I worked during the internship. Scheduled to start in July 2020.

  • Software Development Engineer Intern - 3 months

    Had a fun three months with the DynamoDB Streams Team in AWS. During the internship, I worked on the dynamodb-streams-kinesis-adapter. The work revolved around distributed systems and parallel programming concepts like load balancing, scheduler-worker paradigm, failure detection using centralized heart-beating and multi-threading.

    The internship gave me full exposure to the intricacies of large scale distributed systems and the trade-offs involved. I also had the chance to meet and interact with very sharp minds, be they peers or more experienced folks. And of course, I fell in love with the Seattle summer weather.

  • Relevant:

    Introduction to DynamoDB - AWS Certification.

Cerner Corporation, Bengaluru (India)

As an associate at Cerner, a healthcare IT giant, I worked on an array of web-modules for its Electronic Health Record solution. This also involved developing on and contributing to an in-house JavaScript library called Fusion(similar to ReactJS, frontend) and CCL(backend) - a programming language patterned after SQL.

  • Senior Software Engineer - 8 months

    During this time, I mainly worked on an year long project(Care Team) and contributed to the development of Fusion UI Library for simplifying user workflows.

    I was also heavily involved in mentoring an entirely new team of 5 developers and was liason to external teams.

  • Software Engineer - 2 years 3 months

    As a software engineer, I worked on full-stack web-development of reusable artifacts. Projects lasted somewhere between 6 months to 1.5 years.

    Things started with a design and requirements document and a followup discussion with a distributed team of strategists, designers and solution architects.

    My performance was rated Outstanding for both years and I received 5 performance awards over the course of an year. I was promoted to Senior Software Engineer in the second assessment.

  • Software Development Intern - 6 months

    Joining as an intern, I worked on a user-activity logging API to improve diagnostics. Towards the later part of the internship, I had started work on developing an API to imporve patient admit/discharge workflow.

Armman India, Mumbai (India)

I did my 2014 summer internship at this NGO, contributing to the initial phases of the developement of a pregnancy education app.

  • Software Development Intern - 1 month

    During this brief stint, I worked on the developement of an Andorid app for educating rural women on the topic of pregnancy using videos.

Reliance Power, Nagpur (India)

I spent a month at a thermal power plant owned by Reliance Power, learning how networks allow communication across an enterprise.

  • Network Systems Intern - 1 month

    Working with a systems engineer, I helped in the setup and configuration of the network systems on the campus. I was also involved in the developement of an interface for summarizing the output of a distributed control system.

Academics

North Carolina State University, Raliegh - US

I decided to go for a Master in Computer Science degree to help build on the foundation of my work experience and bachelor's degree.

I graduated in May 2020 with a GPA of 3.90.

    Courses:
  • Design and Analysis of Algorithms
  • Object Oriented Desgin and Development
  • Software Engineering
  • Devops
  • Operating Systems
  • Linux Networking
  • Game Engine Foundations
  • Automated Learning and Data Analysis
  • Database Management Systems
  • Systems Attacks and Defenses

Vellore Insitute of Technology, Vellore - India

I earned my 4 year Bachelor of Technology degree in 2015, majoring in Computer Science and Engineering with a GPA of 8.76.

Skills

Over the years, I have dabbled with the following:

  • Languages: Java, Rust, Python, JavaScript, Ruby, C++, HTML, CSS, SQL
  • Revision Control: Git, SVN
  • Code review: Github, Gitlab, Crucible
  • Unit testing: Jasmine(JavaScript), RSpec(Ruby)
  • Others: Docker, Ansible, Libvirt, Vagrant, Nodejs, Ruby on Rails, Radare2, GDB, objdump, AWS DynamoDB Streams, Jira, Webpack, Maven, Bootstrap, jQuery, SASS, Scrum - sprint, standups, retrospectives.

Projects

Dynamodb-streams-kinesis-adapter

  • Load balancing

    Improved load balacing of leases amongst a distributed set of worker threads.

    A lease can be thought of as the unit of work that is shared across workers. There is one lease for every database shard found so far. Workers own leases meaning that they are responsible for processing the corresponding database shard.

    With the enhancement, workers co-ordinated sharing of finished and un-finished leases independently.

    This improved efficiency of the workers as they could now take up more un-finished work and fixed a stalling issue encountered by customers.

  • Lease Eviction

    Extracted a new class - LeaseEvictor, into a separate thread to reduce lease taking time.
  • Bug fix

    Optimized the work stealing amongst workers and fixed a livelocking issue.
  • Extra

    Prototyped version 2 of the adpater, compatible with AWS Java SDK 2.x.
  • Code

    1.5.x Release Notes
  • LeaseTaker

Devops and automation

  • Build Pipeline for iTrust

    In this project, I wrote an automated build pipline using Ansible roles, for a Java Application. It involved the following:

    • Automated provisioning and configuration(build jobs, credentials) of a Jenkins server (on a VM).
    • Scripts to automate mysql installation and configuration.
    • Created a git hook to trigger a build when a push is made to the repository of the application.
    • Configured git to receive push-options as command line arguments for the post-receive hook.
    • View the source code
    • View the project demo
  • Automated Mattermost Server deployment and configuration

    In this project, I wrote Ansible scripts for Mattemmost chat server deployment. It involved the following:

  • AutoScaling as a Service

    • Created a hybrid multi-tenant cloud environment capable of responding to varying demands in computing resources.
    • When the resources of a virtual private cloud (VPC) got overloaded, this service could leverage resources of another VPC by creating containers and/or virtual machines on demand.
    • Automated creation of networks containing L2 Bridges, NAT/DHCP enabled Routers, Tunneling (Vxlan and GRE), Namespaces, Load Balancers, Firewalls.
    • Implemented auto-healing service to automatically detect failures try to respawn instances.
    • Capacities, thresholds for server loads, and network layouts were defined by user/customer.
    • Tools: Python, KVM, QEMU, libvirt, Ansible, Linux, OpenVSwitch, Docker, Linux shell scripting

Expertiza - Open source contribution

Expertiza is an open source, NSF-funded, faculty and peer review system built using Ruby on Rails.
  • GitHub metrics integration

    • Added the functionality to allow instructors to view GitHub repository meta data. This data was useful in grading students as per their contributions.
    • Integrated GitHub OAuth, GitHub GraphQL API v4, and google-charts in the system.
    View the source code
  • Auto load grading criteria

    • Implemented auto-load of grading criteria in appropriate view using ReactJS.
    • Bug fixes relating to user workflows.
    View the source code

Open source downloader comparison

  • A comparison tool written in Node.js to compare commannd line download utilities - cURL and aria2.
  • Used GitHub API v3 to determine issue and pull-request turnaround time on repositories
  • Used StackExchange API to get average response time to questions relating to the utilities.
  • Wrote a bash script to measure http download performance
  • Visualized results using D3.js
  • View the source code
  • Stackexchange query

Other Projects

  • Automated server provisioning- Google Compute Engine, Amazon EC2 and Digital Ocean

    • Automated VM provisioning with ssh authentication on GCP(Node.js client library), AWS(boto3 python sdk) and Digital Ocean(REST api).
  • Prototype Game Engine

    • Implemented a game engine (C++) capable of supporting networked game loops, parallel and concurrent clients, event management and synchronization, scripting, game replays and different runtime object models. Implemented 3 proof of concept games using the new game engine.
  • Reverse Engineering ELF binaries

    Reverse engineered ELF C binaries to find obfuscated flags to move to the next level (Capture The Flag style).
    • Used static techinques to figure out locations/code/data of interest.
    • Used dynamic techniques to monitor memory, network and library/system calls.
    • Tools: objdump, radare2, gdb, strace, ltrace
  • Binary pwning, ROPing and web attacks

    Exploited vulnerabilites in binaries and web servers to find hidden flags.
    • Developed attack vectors in the form of x86 Linux shellcode.
    • Binary exploitation to obtain privilege shells.
    • Return oriented programming for stack smashing.
    • XSS hijack and SQL injections to get admin access on servers.
    • Tools: objdump, radare2, gdb, strace, ltrace, checksec, Burp suite
  • Care Team - Professional project - @Cerner - 1.5 years

    • Webmodule that allows keeping track of people responsible for the care of a patient.
    • This functionality has a high usage rate at client facilities.
    • Fusion, ES6, SASS, CCL
  • Gap-Check - Professional project - @Cerner - 6 months

    • A core level web framework that introduced a reusable validation workflows for admit and discharge of patients.
    • A total of 11 APIs were updated to consume this functionality.
  • Outstanding Items - Professional project @Cerner - 6 months

    • Web module that introduced the ability to review, endorse results/documents/vitals for patients.
    • This functionality cut down the time taken to discharge patients.
    • Fusion, ES6, CCL

Extras

Career

  • I completed a Coursera course on Google Cloud Platform to get familiarity with at least one cloud provider apart from AWS.

    View Certificate

  • Java

    I also completed a Coursera certification in Jan 2019- Parallel Programming in Java, introducing me to parallel programming in Java.

    View Certificate

Leisure

When not trying stop the hypersonic jet that is graduate studies, I enjoy playing badminton, ping-pong and Age of Empires.

I also like reading a book here and there. I am currently reading The Intelligent Investor by Benjamin Graham.