LOCHLAN McINTOSH

Software engineer specializing in front-end web development   ❧   Located in Portland, Oregon

Education

B.Sc. Computer Science, Portland State University, Portland, OR. Graduated 2012.

Technology

Expert
JavaScript (ES5 & ES6), CSS, HTML, Backbone.js, Underscore.js, Require.js, jQuery, Sass, Git, Github
Proficient
Python, PHP, SQL, CoffeeScript, Node.js, Marionette.js, Mocha, Chai, Jasmine, QUnit, Karma, Nightmare, Travis CI, Circle CI, Photoshop, Make, 6502 assembly
Some Familiarity
Golang, C, Ruby, Rails, Django, Laravel, React, Polymer, Sinon.JS, D3, three.js, Jenkins, Apache, NGINX, OpenShift, AWS, SauceLabs

Process

  • Unit and integration testing before and during development.
  • Iterative development and frequent releases (e.g., kanban, "agile").
  • Distributed source control with deliberate branching (e.g., gitflow, github flow).
  • Peer-reviewed code to enforce quality and distribute knowledge.

Work Experience

Front End Engineer (SDE II)

Amazon.com, Portland, OR.

Apr 2017–Present

  • Delivery Experience team.
  • 6 person collocated team working within a distributed engineering org.
  • Responsibilities
    • Currently working on a confidential project due to be released later this year.

Front End Engineer

Opal, Portland, OR.

Mar 2016–Apr 2017

  • Monolithic Rails project with supporting microservices, using a Backbone/Marionette CoffeeScript web client with React and Ember peppered in, deployed on Heroku.
  • 8 person front-end team within a 16 person engineering team, ~70 person company.
  • Responsibilities
    • Built, reviewed, maintained, and tested features for the Backbone/Marionette client.
    • Designed and conducted technical screenings for front-end engineering candidates.
    • Ownership of front-end testing and "asset library" feature.
  • Achievements
    • Added front-end tests to CI builds by adding the Karma test runner to the project.
    • Automated QA process with end-to-end UI tests using Nightmare, Mocha, and Chai.
    • Improved asset search view performance with large data sets, a 5x performance increase.

Lead Front End Developer

ImpactFlow, Portland, OR.

Apr 2015–Mar 2016

  • Monolithic PHP/MySQL REST API using the Laravel framework and a Backbone/ Marionette client, deployed on AWS.
  • 4 person engineering team within a 10+ person company.
  • Responsibilities
    • Hired and managed junior and intermediate-level software developers.
    • Prioritized features and managed development process with director of product.
    • Built, reviewed, maintained, tested, and deployed features across the full stack.
    • Ownership of front end, git workflow, build systems, and software testing.
  • Achievements
    • Introduced code reviews into an existing pull-request workflow.
    • Replaced low-visibility ad-hoc development process with Kanban and frequent iterative release cycles.
    • Introduced testing (Jasmine, Webdriver) and continuous integration (Travis CI) into the workflow, created a culture of testing and incremental improvement.
    • Removed nearly 1 million lines of code by reducing complexity and deleting dead code.
    • Built social-media posting feature integrating with Facebook and Twitter APIs.
    • Built node.js service to create S3 cache of pages served to Facebook robots.
    • Built ticketing widget iframe for event host end users.

Lead Front End Developer

Zappallas US, Portland, OR.

Jul 2013–Feb 2015

  • Zappallas’ platform consists of Django+REST Framework microservices accessed by PHP clients across several sites. Zappallas largest site is Tarot.com with 6 million hits per month.
  • 4-7 person engineering team within a 20-30 person company.
  • Responsibilities
    • Chose front-end technologies used on sites, architected and led development of front-end projects.
    • Helped hire and oversaw junior front-end developers.
    • Developed and enforced front-end standards (HTML, CSS, and JS).
    • Built and maintained makefile build systems for several projects.
    • Built, reviewed, maintained, and tested features across the full stack.
    • Interfaced with designers, marketing, and sales.
  • Achievements
    • Introduced structured Backbone code with RequireJS for all new JavaScript development.
    • Introduced front-end testing to Tarot.com: unit testing with Karma and Jasmine and UI integration testing with Intern/Leadfoot and Selenium.
    • Created makefile build system for Tarot.com that replaced an untrustworthy custom Node.js project, deleting 5000+ built files from the repo in the process.
    • Architected front-end astrological report platform with Backbone.
    • Extended report platform to include Pixi.js Canvas Tarot readings along with mobile-optimized versions utilizing swipe gestures when picking cards.
    • Designed and implemented the front end of FreeHoroscope.com (defunct) with Backbone and co-architected its REST API.

Software Engineer

Supportland. Portland, OR.

Dec 2011–Jun 2013

  • Monolithic PHP/MySQL application with a REST API and front-end/mobile clients.
  • 3 person engineering team within a 6 person company.
  • Responsibilities
    • Designed and built REST APIs for consumption by web and mobile clients.
    • Designed and built Backbone.js REST clients styled with Bootstrap 2.
    • Performed full-stack maintenance on Supportland.com, a PHP site with a custom MVC framework.
  • Achievements
    • Developed the second version of the Supportland site with Backbone and RequireJS.
    • Designed business metrics, displaying data visualizations with d3.js SVG graphs.
    • Built extensions for Chrome, Safari, Firefox to highlight sites in Google search results.

Freelance Web Developer

Dec 2006–Present

I have developed new websites and worked on existing websites for a variety of clients. Since 2012 my focus has been full-time work but I do infrequently accept new projects. Work I've done includes:

Val Kilmer Official Site, 2013
Integrated video streaming into Val Kilmer's website, Val Kilmer's Facebook page, and partner websites, for promotion of the one-man show Citizen Twain.
Chris Groban – Film Director, 2012
JavaScript/canvas video portfolio application using video.js.
Pure Space, 2011
WordPress site with a custom template.
Pasadena Playhouse, 2010
MODx website and WordPress blog. Features a wide range of templates for rapid low-cost content development by non-technical administrative staff.
West Coast Event Productions, 2010
Custom PHP/MySQL product catalog with import tool, WordPress blog with feed.
SMS Auto Fabrics, 2009
MODx website, including: MySQL product database and import tool; PHP product search with JavaScript front end; small custom product API for consumption by search front end; user data storage with sessions; and a customer database with back-end tools.