A picture of me

Hello! I'm currently a software engineer at Arista Networks. Before this, I completed a MMath in CS at the University of Waterloo under the supervision of Professor Chengnian Sun. Please see my resume for more details.


Education

University of Waterloo
Masters of Mathematics in Computer Science (Thesis) (95%)
Supervisor: Professor Chengnian Sun
Teaching Assistant for: Databases, Operating Systems, Algorithms, Software Analysis and Testing

University of Ottawa
Honours Bachelor of Science in Computer Science (CO-OP) (8.35/10)
Deans Honours List
Honours project - Modelling and verifying distributed leader election algorithms with TLA+

Work Experience

Software Engineer
Arista Networks

CoreOS Software Development Student
Blackberry QNX

CoreOS Software Development Student
Blackberry QNX

Telematics Control Unit Software Developer
Ford Motor Company

Junior Programmer
Canadian Border Services Agency

Open Source Contributions

The LLVM Compiler Infrastructure Project
Merged PRs:

Selected Projects

Java Compiler
A compiler for a significant subset of Java that targets x86 written by myself and two teammates. Includes a custom intermediate representation (IR) and IR interpreter. Made for the Compiler Construction (CS444/CS644) class at the University of Waterloo.

Lettucec
A LLVM based compiler for a programming language written by myself and a teammate. Includes a custom IR created with MLIR.

rcdns
A DNS server written in C++ using the ASIO networking library. My current goal for this project is to experiment with different concurrency designs and as a playground for performance profiling tools I'm interested in. It currently has a Bazel based build system (with modules!) and uses GoogleTest for unit testing