I'm a polyglot software developer that enjoys solving interesting problems using interesting languages and frameworks. I have extensive experience in Objective-C and Swift, but I've also enthusiastically taken on personal and professional projects in other languages and frameworks such as Elixir/Phoenix, Javascript, Haskell, Rust, and Lua.
I'm a Staff iOS engineer, starting to work on the platform in iOS 3. I've worked as a consultant on large teams, as a solo engineer on greenfield projects, and as a core systems engineer responsible for foundational technology stacks for millions of daily active users.
Finally, I'm a life-long learner, and a passionate educator. I started my career by teaching myself Objective-C in order to scratch my own itch, and that drive to learn new languages/frameworks/patterns/techniques/tools has never gone away. I've also tried to share that love of learning with others by writing blog posts, giving talks at conferences, speaking on podcasts, and providing mentorship to my friends and coworkers.
After a brief stint working on internationalization, I transitioned into more of a platform role and spent the bulk of my time owning core systems such as the iOS networking stack, encrypted communication methods between the client and server, and the core data transport pipeline for all critical application data.
I was hired at thoughtbot as part of their initiative to expand into the iOS space. Over the years I worked as a consultant on projects in Swift, Objective-C, and React Native for iOS. Additionally, I spent time to get up to speed with Elixir and Phoenix and billed on projects using those technologies as well.
In April of 2013, I was promoted to the position of Mobile Development Director. I stepped down from the role in August of 2017. During this time, I continued my work as a developer along with additional responsibilities.