Chris Fillmore

I am a software engineer specializing in video. Contact me:

fillmore dot chris at gmail dot com linkedin.com/in/chris-fillmore github.com/chrisfillmore

Experience

Software Developer
Stage TEN

August 2020 - Present

Fast facts: I'm developing an Android video studio client, for low-latency, interactive video playback. Relevant tech stack (client-side):

  • Android framework, Kotlin, Java
  • WebRTC and related protocols (e.g. SDP, RTP), and Janus
  • Android graphics, specifically GLES (OpenGL for embedded systems)
  • HTTP, WebSockets (and SocketIO, ActionCable)
  • Apollo GraphQL
  • OAuth2

Among Stage TEN's products is live video studio software offering integration with Shopify, enabling store owners to sell products via low-latency, interactive video promotions. Shopify store owners can use a desktop browser or our iOS client to broadcast to social destinations (YouTube, Facebook, etc), as well as their websites (where viewers can complete purchases directly in the video player).

I've developed all the core capabilities of our Android platform. This includes integration with our headend services, high-performance graphics drawing for WebRTC, as well as user-facing application behaviour and use cases.

Senior Software Engineer
AT&T / Quickplay Media Inc.

August 2016 - August 2020

Fast facts: I worked on client video playback at AT&T. My relevant skills and tech stack:

  • Platforms: Android, FireTV, Chrome, Safari, Tizen, Chromecast
  • Media formats: DASH, HLS, ISOBMFF, WebVTT, both VOD and Live
  • Media players: Shaka Player, ExoPlayer, Safari player
  • Web APIs: Media Source Extensions, Encrypted Media Extensions (Widevine, PlayReady, FairPlay)
  • Languages: Java, Kotlin, TypeScript, JavaScript (browser + NodeJS)

At AT&T I was dedicated to a reliable, performant, and high-quality video experience on client devices. I enhanced the user experience by improving resiliency of playback, monitoring key performance indicators, and delivering new capabilities to the video player.

There are several projects in which my code has been deployed to production, to hundreds of thousands of users, most significantly AT&T TV / AT&T TV NOW (formerly DirecTV NOW).

Having worked with linear content, VOD, and in-progress (cloud DVR) recordings, I have a strong understanding of the DASH timing model. On a daily basis, I worked with video players such as ExoPlayer and Shaka Player, and I regularly contributed back to these open-source projects. I also supported HLS streaming on Safari, using Apple's native player. As AT&T TV's revenues relied on targeted advertising, delivering ad insertion was a priority for me and my team, and we supported server-side and client-side ad insertion models.

Video at AT&T is packaged in both fMP4 and TS containers, with WebVTT for text. I have troubleshooted many issues where referencing ISOBMFF or WebVTT specs was necessary. In general I am comfortable diving into any spec, familiar or otherwise, to work on a problem.

Beyond working with video, I have also developed extensive custom tooling for browser-based testing, in NodeJS + HTML5, to cover some use cases which were particular to video. This automation leveraged Puppeteer (for Chrome) and improved our test isolation and performance measurement capabilities.

I work very carefully to develop quality solutions, with automated unit tests, end-to-end acceptance tests, and performance tests for KPIs. I believe that software quality also relies on a strong understanding of business requirements, as well as empathy for end users, and I prioritize these concerns when writing code.

Web Developer
Asynchron Systems Inc.

May 2015 - August 2016

Fast facts: I developed line-of-business frontend web applications for Asynchron's clients. I worked primarily in JavaScript, HTML, CSS, and Java. I also gathered business requirements.

Asynchron Systems offers a unique proposition: bring your MultiValue data to life in modern web applications. In my role, I developed responsive, touch-enabled web applications to support clients' daily business needs. In collaboration with database developers, I designed API endpoints to be consumed by the frontend application, built in JavaScript, HTML, and CSS. I regularly met with stakeholders to assess business needs, establish project requirements, and report on the progress of development.

Web Developer, Co-Founder
WebTO

May 2014 - July 2016

I co-founded WebTO with a friend. We built WordPress websites for small businesses in Toronto. We handled web hosting, frontend development, database development (using MySQL), and WordPress development (in PHP). Naturally, we also did all the lead generation, sales work, and requirements gathering.

 

2009 - 2013

During this period I studied Mathematics & Geography at Carleton University, and worked many jobs, in Ottawa. I did not complete my degree. My wife moved to Toronto to begin her Master's, so I joined her and enrolled in study at George Brown College, where I completed my diploma.

Project Manager / Web Developer
Hostile Intent Total Conversion Modification

2006 - 2008

Hostile Intent was a total conversion ("mod") for the Half-Life game engine. I made several contributions to this project. In particular, I built a custom website and issue tracker to assist development and QA efforts. (Relevant skills: HTML, CSS, PHP, MySQL.) I also coordinated development efforts among a team of remote contributors, both artists and programmers.

Open Source / Spec Contributions

Other Skills + Experience

I love collaboration and am energetic at work. I have strong communication skills, and work well both independently and with a partner or team.

Education

Ontario College Advanced Diploma - Computer Programmer Analyst (3.7 GPA)
George Brown College, Toronto

References available on request.