Christopher Morris

Coffee. Code. Complete

chris.themorrises.xyz | morriswchris@gmail.com | 905.302.0143

Summary


Goto Stack:

Current Stack:

Talks

From Propeller to Jet: Changing your engines mid flight

Kafka Summit SF - Oct 16-17th 2018

Don’t you love signing in to your favorite application only to find out it’s undergoing scheduled maintenance? I know I don’t! Designing scalable systems is a challenge all software engineers face. Ultimately this means you will find yourself in a situation where you need to upgrade your software engines for better performance. In this session, I will guide you through the experience of swapping out PagerDuty’s original prop engine consisting of a Cassandra queue-based system to that of a 747 which utilizes Kafka not only for ingestion of customer data but also internal heuristics and back pressure support.


Professional Experience

PagerDuty

Being an engineer at PagerDuty requires each team to be responsible for the services they develop including their infrastructure, taking on the true meaning of DevOps. PagerDuty requires extensive knowledge of the full application stack and infrastructure, while having the ability to operate at scale.

Senior Software Development Engineer (SDEIII), Growth June 2018 - Present

Technologies and Tools: Elixir, Ember, Ember-CLI, Ruby on Rails, Sass, Kafka, Percona, Splunk, DataDog

Key Responsibilities

Software Development Engineer (SDEII), Event Management August 2016 - June 2018

Technologies and Tools: Ember, Ember-CLI, Scala, CoffeeScript, Ruby on Rails, Sass, Kafka, Cassandra, Percona, ZooKeeper, Splunk, DataDog

Key Responsibilities

FinanceIt

Engineer, Risk January 2016 - August 2016

Engineer, Partner On-boarding and Growth November 2014 - January 2016

The role of Engineer, Partner On-boarding and Growth at FinanceIt required extensive knowledge of the full application stack, while having the ability to explain technical solutions to other departments. Being the main engineer for partner growth meant having the ability to understand growth tactics, as well as bottle necks for allowing the smoothest on-boarding process without sacrificing fraud security.

Technologies and Tools: Ruby on Rails, CoffeeScript, Cucumber, Rspec, BackBone, underscore, jQuery, bootstrap, font-awesome, Sass.

Key Responsibilities

Synacor Inc.

Engineer, Email Team October 2013 - November 2014

The role of front-end engineer for the email team at Synacor required extensive knowledge of JavaScript (particularly the BackboneJS AMD framework), AJAX, HTML5, CSS3, NodeJS, and other related web technologies. The front-end developer was also responsible for developing impromptu solutions for a face paced, client driven environment while developing the next generation of mobile web mail experience.

Technologies and Tools: NodeJS, Grunt, BackBone, underscore, QUnit, requires, npm, bower, jquery, bootstrap, font-awesome, momentjs, log4javascript, lesshat, LESS, hammerjs.

Key Responsibilities

Dealfind.com (Formerly: Buyers Unite Inc. - Teambuy.ca)

Developer, Full Stack 2012-2013

The development team is responsible for the migration and integration between two of the most predominate daily deal websites in Canada; Dealfind.com and Buyers Unite Inc. (teambuy.ca). With the merger, the development team will be migrating the current DealFind.com database to the teambuy.ca platform, as well as expanding the teambuy.ca web application to support US funds. Post migration, the development team is responsible for daily health of the web application as well as future expansion requests.

Technologies and Tools: PHP5, MySql, RHEL6, Ubuntu, Redis, Memcache, Jira, HipChat, Github, Git, netbeans, sublime text 2, xdebug, SOAP, WSDL, backbone.js. underscore.js, JSON, Jquery, Bootstrap, ExactTarget, Netbanx (Optimal), CodeIgniter.

Key Responsibilities


Software Engineer 2011-2012

The software engineering team at Buyers Unite Inc. (www.teambuy.ca) is responsible for providing solutions to both new features and current issues faced by a mid-sized e-commerce platform. As a member of the engineering team, my main responsibilities are to utilize state of the art and emerging web technologies to provide the greatest solution for both the business and the customers while obtaining a high level of web site availability.

Technologies and Tools: PHP5, MySql, RHEL6, Ubuntu, Redis, Memcache, Jira, Github, Git, netbeans, sublime text 2, xdebug, SOAP, WSDL, backbone.js. underscore.js, JSON, Jquery, Bootstrap, ExactTarget, Netbanx (Optimal), CodeIgniter.

Key Responsibilities


Quality Assurance Manager / Junior Developer 2010-2011

Buyers Unite Inc., better known by its website address as www.teambuy.ca, is a startup group-buying platform, originating in Toronto. This website is operated and maintained by a five-man development team. The role of junior developer consisted of day-to-day operational tasks, such as bug fixing and database queries, while attaining further development initiatives of the current platform. The quality assurance manager position required spearheading a quality assurance program that consisted of unit testing and regression testing.

Technologies and Tools: PHP5, MySql, Ubuntu, Memcache, Redmine, Unfuddle, Github, Git, netbeans, SOAP, WSDL, JSON, Jquery, CodeIgniter, VMware, McAfee PCI, PCI.

Key Responsibilities


Projects of Interest


Education


Additional Technology Skills

Technology / Framework / Programming Language

DBMS / Data Storge

Tool / Environment

Architecture / Solutioning / Design

Modeling / Design

Process / Methodology / Project Management