Download PDF

Michael Cousins

Detail-oriented software engineer and architect with 10 years of engineering experience. Passionate about shipping high-quality products, leading technical teams to solve complex problems with thoughtful solutions, and improving my craft and the craft of those around me.

Work Experience

Opentrons Labworks

  • 5 years
  • | Open-source liquid handling robots for biologists
  • | opentrons.com
  • Software Engineer IV — Mar. 2019 to present
  • Software Engineer III — Mar. 2018 to Mar. 2019
  • Frontend Software Engineer — Aug. 2017 to Mar. 2018
  • Architecting a backend, to be built by a third-party, for sharing scientific protocols and helping biologists address experiment reproducibility problems

  • Teaching engineers on my team testing best practices, increasing overall velocity by decreasing unexpected bugs and time spent in QA

  • Designing and managing the implementation of a new execution and control layer of the OT-2's software, unlocking functionality and reliability across the stack, while keeping users' already functioning workflows intact

  • Led the Robot Services engineering team as we resolved some of our device's thorniest issues, including networking and timekeeping bugs

  • Configured and maintained CI and deployment systems for multiple products across multiple languages, operating systems, and CI providers

  • Architected, developed, and maintained the Opentrons App for the release of the OT-2, built using Electron and React

Keen Home

  • 2 ¾ years
  • | Smart, connected HVAC products
  • | keenhome.io
  • Senior Product Engineer — Jul. 2015 to Jul. 2017
  • Mechatronics Engineer — Nov. 2014 to Jul. 2015
  • Rebuilt the Keen Home API's authentication and authorization systems, adding an OAuth frontend and backend for Amazon Alexa integration

  • Designed and implemented software for assembly-line QC fixtures, and worked closely with our Shenzhen manufacturer to install and operate the fixtures

  • Created and managed Node.js-based production scheduling systems, administrative tools, and automated acceptance tests

  • Shipped production Smart Vent firmware on the SiLabs ZigBee stack

Wiley Cousins

  • 1 year
  • | Contract software & hardware engineering services
  • Co-Founder and Hardware Engineer — Oct. 2013 to Oct. 2014
  • Designed electronics and firmware for hand-crafted home products

  • Taught a 12-week "Introduction to Circuits" class designed to take students from no experience to digital logic

Open-Source Projects

tracespace/tracespace

  • TypeScript, JavaScript
  • Jul. 2014 to present

Printed circuit board (Gerber) viewer web-app and libraries. Renders CAD fabrication output as SVG. Used by various PCB manufacturers.

mcous/decoy

  • Python
  • Nov. 2020 to present

Mocking library that enforces opinionated best practices and guides architecture with TDD. Used at Opentrons to test core logic.

wileycousins/clockblock

  • Embedded C++, KiCad, SolidWorks
  • Sep. 2013 to Sep. 2014

LED clock embedded in a solid block of wood. Limited run art piece made with H. Cole Wiley and James Goedert.

Ask Me About

Languages

  • TypeScript and JavaScript
  • Python
  • Scala

Testing

  • Test-driven development
  • Automated acceptance testing
  • CI setup and management

Frontend

  • React and state management
  • Constraint-based style systems
  • Web and Service Workers

Backend

  • HTTP API design
  • Reliable concurrency
  • Event-driven architecture

Spicy Takes

  • Promises are better than async/await
  • Mocks are great, but never used correctly
  • Test-after might be worse than no tests

Education

B.Sc. in Mechanical Engineering

  • Northwestern University, class of 2012
  • Concentration in intelligent mech. systems
  • One-year co-op with Newell Rubbermaid