Hey there! I'm Mike, a software developer. I believe in putting the user first – that software should be fast, easy-to-use, reliable, and safe. As developers, our greatest asset to that end is simplicity. My core expertise is in Android development and performance optimization which have been honed through my most recent employment by Mozilla.
If you'd like to see what I'm up to, check out my my technical blog and the project list below.
Projects
Professional
- Firefox for Android (2013-2022): I've worked on five Firefox products across four Android form factors while employed by Mozilla. I led Firefox for Android's performance team where we boosted start-up performance to exceed Google Chrome's and matched page load performance. I was also the tech lead on the Firefox for Fire TV and Firefox for Echo Show projects, bringing them from 0-to-1 on novel form factors.
- APT GitHub Improvements (2018-2019): I ideated and built a Firefox extension to improve my team's productivity on GitHub. The major features are linking issues to pull requests throughout GitHub, fetching titles and other metadata for links to bugs on Bugzilla, and adding a story points calculator for sprint planning.
- New Mobile Experience (NMX) (2016-2017): I participated in a series of experiments at Mozilla to develop new mobile apps beyond Firefox. I participated in brainstorming, Design Sprints, prototyping, and user research to find product-market fit. We internally released a prototype codenamed Prox before returning to work on Firefox. Throughout the process, I developed the iOS clients using Swift and researched technical feasibility.
Personal
- W3D Renderer (2016-2017): inspired after reading Fabien Sanglard's Game Engine Black Book: Wolfenstein 3D, I reimplemented the core functionality of the renderer for the 1992 game, Wolfenstein 3D, for fun using the browser's HTML Canvas API.
I've also written a few micro utilities that I use regularly: maybe you'll find them useful too.
- Remind Me: speaks your chosen phrase once during your provided interval and begins again. Correct your posture or take a breath: it's up to you.
- Five Minute Warning: a timer that announces "five minutes remaining" before it ends. It helps me more cleanly wrap up my activities than a standard timer.
- Countup Timer: a timer that counts and announces each minute that has passed. It helps me keep track of how long I've spent doing an activity when my intuitive clock is focused elsewhere.
Website Acknowledgements
The GitHub bytesize icon by Dan Klammer is licensed under the MIT license.