Michael Cousins
- Brooklyn, NY
- | mike@cousins.io
- | mike.cousins.io
- | github.com/mcous
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