Devon McGrath

Devon McGrath, BSc Computer Science

Hi there! My name is Devon McGrath; I have a Bachelor of Science in Computer Science and I love to create things with code. I have been programming for over a decade now, and in that time, I have created many different projects.

I am highly interested in automation of tasks such as testing and everyday processes in a work environment. In my spare time and at work, I create various applications and scripts to automate these processes. For example, generating reports on file dependencies on files in a content management system with hundreds of files, an editor for creating highly-dynamic HTML checklists, scripts for automating escalation processes, and so on.

In addition, I also challenge myself with different problems like understanding various structured file formats. In the past, I created a web MIDI player, capable of parsing MIDI files and visually playing them on the webpage. Currently, I am working on creating a PDF 1.7 compliant application capable of parsing, displaying, and generating PDF files.

Aside from coding, some of my hobbies include playing piano, photography, and learning Mandarin.

Over the years, I have worked at BMO Financial Group in digitization, operations, and desktop management; additionally, I have worked at my university as an Undergraduate Teaching Assistant and Linux Support.

Work Experience

BMO Financial Group

Senior Developer
Enterprise eForms Centre Of Excellence (EECOE)
05/2019 to current

The EECOE is responsible for digitizing forms, letters, and other collateral. Digitized documents are integrated with customer data to allow the documents to be dynamically generated with relevant sections and information.

  • Develop eforms according to branding standards and business requirements
  • Create and maintain web checklists which dynamically collect info and update according to previous answers
  • Maintain and enhance automation processes
  • Develop web applications to:
    • Enhance business and department processes
    • Reduce manual work and human error
Business Systems Analyst
Enterprise eForms Centre Of Excellence (EECOE)
05/2018 to 05/2019
  • Developed eforms according to branding standards and business requirements
  • Created and maintained web checklists which dynamically collect info and update according to previous answers
  • Developed applications to allow:
    • Quick collection of business requirements
    • Automation of processes (e.g. generating forms)
    • Editing files, such as CSV, XML faster
Systems Operation Centre Analyst
System Operations Centre (SOC)
05/2017 to 08/2017

The System Operations Centre in BMO provides 24/7 operations for all production systems and applications. SOC is responsible for providing tier I operational support.

  • Rotated on the 24/7 shift schedule; providing support on days, evenings, nights, weekends, and holidays
  • Utilized the ITIL process to investigate, update, escalate, and resolve production incidents
  • Created a script to reduce the number of steps to engage tier II support
  • Created a script to scrape web-data and analyze it, which:
    • Automatically generated HTML reports
    • Was provided to various business groups as a way to assess support processes
  • Automated or semi-automated various department processes with PowerShell
  • Provided informal training on PowerShell to members on my team
Platform Integration Developer
Platform Engineering
05/2016 to 08/2016

Digital Workspace Services' (DWS) Platform Engineering department manages enterprise workstations and user applications.

  • Created, updated, and removed GPOs from production environments as requested through work items
  • Managed Active Directory objects (groups, users, computers)
  • Updated servers with monthly security patches
  • Created a script to automatically generate a report on GPOs in a domain

University of Ontario Institute of Technology

Undergraduate Teaching Assistant
Faculty of Science
09/2018 to 12/2018

I was a TA for a first year Computer Science course, CSCI 1060U - Programming Workshops I. CSCI 1060U is a programming course which focuses on C++. I taught two 3 hour lab sections and:

  • Assisted students in completion of labs
  • Reviewed lab and course material
  • Marked exams, tests, and labs
Linux Support
Faculty of Science
09/2017 to 04/2018
  • Provided support installing Xubuntu in a dual-boot configuration
  • Setup software and tools on Windows/Linux required for courses


Programming/Scripting Languages

Java, JavaScript, PowerShell
C, C++, Python, SQL


Node.js, jQuery, HTML, CSS, XML, Waterfall, Git, Microsoft Office, Windows
Quadient Inspire Suite, Agile, ITIL, Active Directory, Group Policy, Unix Based Systems


Systems: Operating Systems, Computer Networks, Databases, Computer Architecture

Software: Software Quality Assurance, Software Design, Massively Parallel Programming, Web & Mobile Development

Theoretical: Algorithms, Big Data, Compilers, Statistics, Graphics


Bachelor of Science (Honours), Computer Science
University of Ontario Institute of Technology
09/2015 to 04/2019

Thesis: Automatically Repairing Concurrency Bugs in Java with ARC2


  • President's List (every term)

President's List: Students in clear standing with a semester GPA of 3.8 or higher (4.3 scale) on at least 80 per cent of a full course load will receive the designation President's List on their transcripts.

Ontario Secondary School Diploma


  • Computer Science Award (Grade 11; highest grade in Computer Science)
  • Physics Award (Grade 12; highest grade in Physics)
  • Honour Roll/Ontario Scholar (80% average or better)
  • Fermat Math Contest Certificate (2014; top 25% in the Fermat Math Contest)

Extracurricular Activities

Financial Controller for Community Connect Club
University of Ontario Institute of Technology
08/2017 to 09/2018

The Community Connect Club at UOIT aims at connecting different levels of the community through different programs and events. As the Financial Controller I:

  • Managed club funds
  • Managed member data such as email lists and program details
  • Ensured executive members have access to appropriate data
Event Volunteer
University of Ontario Institute of Technology
09/2015 to 04/2019

Recruitment Events
UOIT has many different recruitment events that mainly include: Open House, the Ontario Universities' Fair (OUF), and High School Science Day. These events aim at recruiting prospective students. Over the years, I have volunteered at Open House 6 times, OUF twice, and High School Science Day 3 times. There I have:

  • Provided demonstrations of personal projects
  • Provided information about the Computer Science program and university
  • Gave insight to prospective students about university life

Science Rendezvous Volunteer
Science Rendezvous is an all-day science event open to the public. There, attendees can visit many different science exhibits from biology to computer science. During these events, I:

  • Supervised various stations
  • Taught kids and young teenagers about science and technology
  • Directed families to different stations
UOIT Ambassador
University of Ontario Institute of Technology
04/2016 to 01/2018

As an ambassador, I represented UOIT at many different recurring and one-off events throughout the academic year. In addition to representing UOIT, as an ambassador, I completed workshops to enhance leadership and professional skills.

In my time as an ambassador, I also was an Orientation Leader twice. September Orientation is a two day event which aims to help new students adjust to UOIT, get more info about student life and services, and connect to one another. During these events, I supervised various orientation activities and supported new students with advice and information.

Relay for Life Registration Chair
Canadian Cancer Society
11/2014 to 05/2015

As a Registration Chair, I was responsible for a number of registration related items including: managing team info, handing out/collecting registration forms, collecting registration fees, and distributing event materials to teams. In addition, I redesigned the registration process resulting in faster and more accurate processing of registration fees.

Relay For Life is an annual event that takes place at my high school and has around 500 participants and volunteers. The purpose of the twelve-hour event is to raise money for cancer research. The event is also run in many different secondary schools, post-secondary schools, and communities across Canada.