I am a software engineer. I live in Portland, Oregon.
Here's my resume.
I'm interested in iOS projects related to climate change, the ourdoors, cryptography, music.
Stuff I built / helped building
- NYPL SimplyE / Open eBooks (2020-present)
- This is the first project where I've been working full time on 2 open source apps. Since the (rather old) code bases were roughly the same, I merged them into one single repo, managing the differences via separate Xcode targets. I wrote scripts to automate the build process and implemented a CI/CD pipeline with GitHub actions. We invested into detailed error and crash reporting, managing to reach a 99% crash free rate. I also learned the importance of supporting patrons (you know, real people) vs devices or OS versions: generally speaking, this has been the most rewarding project I've worked on.
App Store pages: [SimplyE] [Open eBooks] - PIX System iOS app (2016-2020)
- This app is used by Hollywood directors, actors and executives, many of which are popular household names that created many films I love. To deliver a solid professional product, I focused on establishing processes for the team to move fast in the long term while still keeping code quality high: efficient workflows for git work and app releases; investment in CI/CD, unit testing, refactoring, code readability and documentation; thorough code reviews. Since we were maintaining multiple apps, I split the code base of the main app into reusable Swift/ObjC frameworks. Mentoring played a much bigger role than in previous positions, and it was rewarding to see younger engineers grow.
[App Store page] - Goodreads iOS app (2010-2015)
- I was the 1st iOS hire and took over the app that was built by contractors. I helped develop new navigation (twice!), new book page, barcode scanner, on-device caching, Facebook onboarding, localization and more. I directed my attention to critical issues such as memory and performance, helping the strong growth the company was experiencing on mobile platforms, leading to the acquisition by Amazon in 2013. When I left in 2015 the app was 99% built natively in Objective-C. I'm particularly proud of this work because (1) I got to work for a company that was helping readers, (2) I was able to do some open source contributions, and (3) I worked with an exceptional team and learned a ton of stuff.
[App Store page] - Other Open Source Contributions (2005-2020)
- I have to say, the most rewarding experience I've ever had while developing software was to contribute to open source / free software projects. Here's a few projects I collaborated to:
- Blender (3D content creation suite): I added support (C/C++) for 3Dconnexion / Logitech's N degrees of freedom devices. This shipped in v2.46 with some bugfixes in 2.47. Here's some community posts (1) (2) and some patches (1) (2).
- Second Life (MMORPG): Same deal, I added support (C++) for 3Dconnexion / Logitech's 3D devices to control your avatar in 6 degrees of freedom. This shipped in v1.20.
- Three20 (new defunct iOS library): several bug fixes (Objective-C), see my pull requests.
- ChessNote (2008-2018)
- A correspondence chess game for the iPhone. Built with Objective-C, Erlang, OpenBSD. This is the first iOS app I ever worked on, cutting my teeth on iPhoneOS 3 and supporting it till iOS 9. It was also an opportunity to learn a functional programming language (very fascinating topic) and server maintenance / configuration.
- Other
- My GitHub also hosts some old and no longer maintained stuff. Feel free to peruse, but keep in mind that when I look at some of that stuff today, it's not something I'm particularly proud of anymore!
Personal Interests
Music is my biggest passion: I enjoy playing drums and keyboards and listening to all sorts of music, from metal and punk rock to Motown and classical music. Growing plants and more in general the outdoors is something I got into relatively recently. Cryptography is a topic I want to know more of. Climate change is a (the?) problem that I'd love to contribute my engineering skills to, but haven't found a way to do so... yet.
Why is this important? Well, I tend to join companies whose products and missions are related to some of my interests. While I always give 100%, I know I will do a better job when I work on something that is meaningful to me.