Curriculum Vitae

Andrew Robert McBurneyAndrew Robert McBurney

Third year Software Engineering student at the University of Waterloo. Passionate about Big Data, Concurrent and Distributed Systems, Machine Learning. Also interested in the societal and cultural implications that artificial intelligence will impose in the future

Projects & Open Source

Emerald Templating Language
Co-designed and implemented a whitespace-delimited, language-agnostic, HTML5 templating engine with support for variable scoping, interpolation, iteration, and conditional logic
(C++ & Boost, Ruby)
Developed an emacs major-mode package for the templating language which includes a syntax highlighter, based on regular expression grammar rules
(Emacs, Emacs Lisp)
Implemented a minimum viable product and proof of concept as a Ruby gem
(Ruby, RubyGems)

Work Experience


Software Engineering Intern

San Francisco, CA

May — Aug. 2017

Converted background job processes from resque to sidekiq in internal deployment tool, and implemented a redis-based locking mechanism for restricting the number of deployment jobs to one job per staging/production environment
(Ruby on Rails, Redis)
Created an internal web scraper to query GitHub's GraphQL API to find potential hires for engineering outsourcing:
(Ruby, PostgreSQL, re:dash)
Created a visitor check-in system for external guests visiting HQ employees. Upon checking-in, the system would automatically send a slack message that the guest is here
(JavaScript, Slack API)
Created a service to query gem metadata from our organization's GitHub repositories, (important for seeing where security related vulnerabilities exist, caused by gem versioning issues)
(Ruby, PostgreSQL, re:dash, GitHub API)
Implemented a web interface for project managers to filter and aggregate pivotal tracker scrum stories based on state, owner, date since accepted, etc.
(Ruby, Sinatra, PivotalTracker API)

Vena Solutions

Software Developer Intern

Toronto, Ontario

Sept. — Dec. 2016

Optimized SQL queries in a REST API by solving an n+1 query problem instance, fetching lazily loaded object members before object serialization, decreasing mean response time by 99% (~1m to <1s) for the endpoint
(Java, MySQL, Hibernate)
Placed second in pair test-case writing competition involving all developers at the company (~60 people), judged by the quality and quantity of test cases written
(Java, JUnit, Selenium)
Extended internal command line tool to automate API tests in parallel, by threading the execution of tests
(Python, Node, Mocha, Postman)


Front-end Developer

Toronto, Ontario

Jan. — Apr. 2016

Developed an internal store analytics application which dynamically generates store maps to monitor the flow of users in a grocery store, based on JSON data from a RESTful endpoint
(Angular2, TypeScript)
Created an embeddable user interface for displaying weekly coupons to exhibit on our partners' websites, including
(CoffeeScript, EJS, SASS)
Implemented a custom testimonials page with cross-fade animations for text and images using JavaScript fade-ins
(CoffeeScript, Haml, SASS)

Volunteer Work

University of Waterloo Engineering Society
I sit on multiple university committees primarily to act as a liaison and advocate on behalf of all undergraduate engineering students at the University of Waterloo - for academic issues pertaining to co-op, professional development, work-term reports, student appeals, and more
I manage directors under my portfolio and help them to plan and organize their events with regards to logistics, bookings, and content including our annual Career Fair: EngFair