Bimesh De Silva

(650) 772-1920 ยท bimeshde@gmail.com


Experience

Software Engineering Intern

Google

Currently building a caching system for real-time ads updates in Google Search. Worked on a Cloud Dataflow pipeline (similar to MapReduce), resulting in 30% more targeted advertisers for our product.

September 2019 - Present

Full Stack Developer Intern

SAP

Member of core backend team for Enterprise Commerce (SAP Commerce Cloud). Worked on API modernization and monolith decomposition. Proposed, owned, and developed a new express checkout flow reducing checkout time by 70%.

January 2019 - April 2019

Software Engineering Intern - Backend

BlackBerry Messenger

Worked on partner team building third-party integrations into the app. Developed an advertisement pushing service reaching 10 million daily users. Built an automated contest generation platform for partners. Since launch, their contests have had over 200 thousand participants. Here are blog posts about two of them: Back-To-School and Decades Trivia.

May 2018 - August 2018

Lead Android Engineer

Tasteport

Founding member of a startup enabling small grocery businesses to take part in the digital grocery revolution. Built an Android app for customer and investor demos in 4 weeks, resulting in $30 000 of investment and 2 stores signing on. Check out our website here!

August 2017 - April 2018

Software Developer Co-op - Frontend

The Regional Municipality of York

Worked on the team developing the york.ca website. Created an employee forum using WebSphere APIs for authentication and data storage. Built several web widgets using third-party APIs for a portal used by over 2000 employees.

September 2015 - January 2016

Education

University of Waterloo

Bachelor of Software Engineering

Relevant courses:

  • Programming Principles - CS 137
  • Introduction to Data Abstraction and Implementation - CS 138
  • Logic and Computation - SE 212
  • Digital Computers - ECE 222
  • Foundations of Sequential Programs Enriched (a.k.a mini-compilers) - CS 241E
September 2017 - April 2022

  • Blackjack Server

    Contains both the dealer and server for hosting hundreds of concurrent Blackjack games. Defines a TCP/IP API for communication with clients.

    java tcp/ip concurrency
  • GitHub
    API Documentation
  • gRPC vs. REST

    An article comparing gRPC to REST, Protocol Buffers to JSON, and HTTP/2 to HTTP/1.1. Contains benchmarks created using Go channels to compare HTTP/2 request multiplexing to HTTP/1.1 pipelining. Used a Job/Worker pattern with a controlled thread pool size to find the optimal amount of concurrent requests.

    grpc rest networking concurrency go
  • GitHub
    Medium Article
  • Flow

    Collabaorative IDE for developers (similar idea to Google Docs, but it's an IDE). Supports compiling, syntax highlighting, debugging, file history, and more! Text modification inspired by Operational Transformation.

    java sqlite tcp/ip operational-transformation
  • GitHub
    Documentation
  • Dance Dance Revolution

    Combines a DDR board built using conductive plates, pull-up resistors and an Arduino with a DDR-inspired game built using Unity. Linked up the arduino and game using a serial port.

    c# c++ unity arduino
  • GitHub
  • USDA Food Nutrition Visualizer

    Built prior to the USDA having their own searchable database, this Java API parses through the 100 000+ foods and associated nutrient information available in their database data dumps. Uses a purpose-built balanced binary tree and weighted searching algorithm to return the most relevant results super fast. Fun fact: everything used here was built from scratch (searching, balanced binary trees, priority queues, linked lists)!

    java custom-datastructures search
  • GitHub

Interests

Aside from being a developer, I spend most of my time on my feet. During the warmer months, I enjoy mountain biking, camping, canoeing, playing soccer and just appreciating the outdoors. When it gets colder, I love to go snowboarding, hiking, and enjoy the snow in all ways possible. I've also recently found lots of fun in skating and cross country skiing.

Year-round, I spend (too much) time in the gym and kitchen since I'm trying to reach some personal fitness goals. I also spend many of my nights reading about whatever seems interesting. Some particular topics that I've read a lot about are finance, investing, productivity, and software development. I've recently started maintaining a list of books I've read on goodreads.