Michael Cousins
Detail-oriented full-stack software engineer with over 10 years of experience. Passionate about shipping high-quality products, leading teams to solve complex problems thoughtfully, and improving my craft and the craft of those around me.
Work Experience
Viam
- Platform for building and managing smart machines
- 1 year
- Software Engineer IV — Mar 2023 to Feb 2024
- Software Engineer V — Feb 2024 to present
Led a multi-team, multi-project effort to quickly and safely move Viam’s main web app from a brittle proof-of-concept to a resilient, growth-ready multi-page SvelteKit app with well-defined testing and architectural strategies
Completed Viam's switch to Playwright for E2E testing by writing our CI workflows and establishing best-practices through written documentation and PR reviews
Worked closely with PMs and designers to establish lightweight milestone, ticket acceptance criteria, and stakeholder review processes to increase project velocity
Skilled up software engineers of varying levels of experience on unit testing, end-to-end testing, continuous integration, and architectural best-practices
Opentrons
- Open-source liquid handling robots for biologists
- 5½ years
- Frontend Software Engineer — Aug 2017 to Mar 2018
- Software Engineer III — Mar 2018 to Mar 2019
- Software Engineer IV — Mar 2019 to Mar 2023
Led the Robot Services team as we designed, built, and shipped a reliability-focused rewrite of the OT-2 and Flex robots' control and workflow execution software, while keeping users' already functioning workflows intact
Worked with my teams' embedded designers and product managers to deliver features and resolve our trickiest bugs
Architected, developed, and maintained the Opentrons App, the Electron and React desktop app that controls the OT-2 and Flex robots
Configured and maintained CI and deployment systems for multiple products across multiple languages, operating systems, and CI providers
Keen Home
- Smart, connected HVAC products
- 2¾ years
- Mechatronics Engineer — Nov 2014 to Jul 2015
- Senior Product Engineer — Jul 2015 to Jul 2017
Rebuilt the Keen Home API's authentication and authorization systems, adding an OAuth frontend and backend for Amazon Alexa integration
Designed and implemented hardware and software for assembly-line QC fixtures
Created and managed Node.js-based production systems, tools, and tests
Wiley Cousins
- Contract software & hardware engineering
- 1¾ years
- The "Cousins" half — Feb 2013 to Oct 2014
Designed electronics and firmware for wearables and other connected products
Created and taught a 12-week "Introduction to Circuits" class
Open-Source Projects
JS-DevTools/npm-publish
- TypeScript
- GitHub Actions
Deploys packages to npm from CI. Took over as maintainer from author. Used at Viam and by thousands of projects.
tracespace/tracespace
- TypeScript
- React
- Vite
Printed circuit board viewer and libraries. Renders fabrication (Gerber) files as SVG. Used by various PCB manufacturers.
mcous/vitest-when
- TypeScript
- Vitest
- Unit testing
Stubbing library for Vitest to make mocking more expressive and less error-prone. Used at Viam and Opentrons for UI testing.
mcous/decoy
- Python
- Pytest
- Unit testing
Mocking library that enforces best practices to guide architecture and reduce coupling. Used at Opentrons to test core logic.
testing-library/svelte-testing-library
- JavaScript
- Svelte
- UI testing
De-facto standard Svelte testing utilities. Fixed bugs, improved CI, updated docs, triaged issues, and prepared for Svelte 5.
Ask Me About
Languages
- TypeScript and JavaScriptPython
Testing
- Test-driven developmentAutomated end-to-end testing
Frontend
- Scalable, testable application architectureComponent-based view libraries
Backend
- HTTP API designEvent-driven architecture
Glue
- Technical leadership and mentorshipProject management
Education
B.Sc. Mechanical Engineering
- Conc. in intelligent mechanical systemsNorthwestern University, class of 2012