will Farrell

Esq. BASc. EIT


[email protected]


www.willfarrell.ca

github.com/willfarrell


Client Side: HTML5, CSS3 [Bootstrap, Material-UI], javascript/ES6 [React, Angular]
Server Side: nginx, nodejs, bash, PHP, OWASP, serverless [AWS]
Databases: redis, Postgres, MySQL, ElacticSearch, DynamoDB, Parse/Mongo, Firebase
DevOps: git-flow, docker, terraform [AWS], HashiCorp Vault, ELK, CI/CD [Jenkins]
Testing: mocha/jest, chai, protractor, nightwatch, BrowserStack
Workstation: 2018 MacBook Pro 13" i7 16GB RAM w/ 2 LG 27UD88

Work Experience v2018.10.01

Tesera Systems Inc

Calgary, AB, Canada

Sr. Systems Developer

Jun 17 - Present

Hired on to be a Sr. Full-Stack Developer, but quickly showed acumen for architecting end-to-end secure solutions. Had the opportunity to work on two large projects; 1) Architect and build a new registration portal for the Canadian Red Cross - built using React, NodeJS, DynamoDB and deployed using Terraform/Serverless on a cloud-native infrastructure at AWS. The solution underwent extensive testing (load scalability, security pen test, e2e). 2) Developed a new national data standard for water quality data with help from the EPA and industry experts at the Gordon Foundation. This was built into a SaaS offering that allowed scientists to upload large datasets. Our system would then do schema validation, intelligent data coercion, versioning, and data integrity checks against Etherium blockchain.

  • Architected and developed solutions to withstand 100k req/min
  • Deloitte's top penetration testing team gave up after 2 weeks
  • Wrote development and security best practice guides with reusable modules for company wide policies

Watsco Inc. (NYSE:WSO)

Calgary, AB, Canada

Lead Web Architect & Developer

Sep 15 - Mar 17

Developed an API gateway, codenamed Conduit, to consolidate all subsidiary (Baker Distribution, East Coast Metals, Gemaire, and Carrier Enterprise) ERP services (Mincron/IBM DB2, Infor SX, SAP) into one easy to integrate secure service. Functionality ranges from warehouse management to customer orders to warranty and product lookups. To support dockerized micro-services at each subsidiaries on-prem and cloud environments (additional infrastructure was required); created ansible scripts to setup and harden host machines to CIS benchmark recommendations, build full CI/CD process, added in application monitoring and consolidated all logs into ELK. Took leadership role guiding the direction of technical innovation for projects like federated authentication, HA container clustering, and setting up security best practices. Conduit has quickly become a mission critical piece of infrastructure that is integrated by, soon to be, every development project at Watsco.

  • Online sales grew from $20M to ~$1B USD.
  • Ensured entire architecture was scripted for easy auditing
  • docker is used in all environments and automated with CI/CD

Gescan a Division of Sonepar Canada Inc (gescan.com)

Calgary, AB, Canada

Sr. Web Architect & Developer

Feb 15 - Sep 15

Developed an enterprise service bus (ESB) for Sonepar Canada to allow their operating companies (Gescan, Lumen, Vallen, etc) to be able to easily query data from the head office ERP (Infor SX). The primary goal of the ESB was security, performance, and easy deployment/scaling. This was achieved using nginx for the load balancer, nodeJS for the business logic, redis for caching, and postgres for the database all containerized using docker for easy deployment. To compliment the service bus, a mobile app was built to allow customers to check their individualized pricing by scanning a product UPC and quickly order on the spot.

  • Implemented industry standard JSON Web Token for stateless authentication
  • Ensured code was as lean as possible to allow for easy security auditing and maintenance
  • Mobile scanner app built using AngularJS and Cordova, deployed to iOS and Android (to be released)
  • Setup server to server communication to use NSA Suite B protocol
  • Extended the Magneto e-commerce platform functionality to better fit Gescan brick and mortar business model
  • docker was used in development and staging environments

MyMobileCoverage (mymobilecoverage.com)

Calgary, AB, Canada

Lead Web Developer

Aug 13 - Dec 14

Architected and built MyNetwork 3 (MN3), third version of MyMobileCoverages flagship product, from the ground up using Leaflet, AngularJS and ES6/7 components. The goals of MN3 was to better present complex data sets more intuitively, faster application response times, no memory leaks, and browser canvas renders > 60fps. MN3 allows some of the world largest cellular carriers and regulators to easily analyze everything from tower coverage to why a customer had a dropped call.

  • Created style and coding guidelines to ensure code maintainability and consistency
  • Ensured code was built to allow easy integration with unit and end-to-end testing suits
  • Designed automated build processes to compile front-end code to increase performance and ensure code passed testing requirements before being pushed to staging server
  • Ensured OWASP and InfoSec best practices were followed
  • Created docker images to ensure a unified development and productions environments were constant preventing unexpected bugs in productions

Complete work experience ('95 till '13), skills list, and references available upon request.

Farrell Labs Inc. (FarrellLabs.com)

Calgary, AB, Canada

CISO / Lead Developer

May 95 - Present

An enterprise grade web application development house that uses only bleeding edge technologies. Known for contributing to open source projects that are used by most seasoned developers. Security of a web application is always first in development, followed closely by performance. Recents projects include writing the API gateways and services to support the depreciation of Sonim Protect for our client Sens-Net.

Education

University of Waterloo

Waterloo, ON, Canada

Honours Electrical Engineering

(BASc)

Certifications

Solutions Architect – Associate

AWS

2018

Coursera & Misc.

Machine Learning

Stanford University

2012

Gamification

University of Pennsylvania

2012

Docker MeetUp YYC

Co-Organizer

≥2016