Role Fit
I currently live in SF but I plan to move to Seattle, WA in 2025. For a better look at the shape of my current role and what I’m looking for in my next one, please click here:
https://steveasleep.com/professional.html
Work History
Asana
Engineering Manager (2018-2020), Staff Mobile Engineer (2020-2024), AI Workflows (2024)
As a manager, I supported the iOS and Android teams by coaching, mentoring, improving processes, and getting my hands dirty in code. In 2020, I decided to switch to a Staff Engineer role. I helped transform the iOS developer experience at Asana and shipped a lot of features.
Throughout this time, I have been responsible for a few org-wide areas like maintaining the engineering blog, helping people release open source software, and running a tech talk series.
After nine years doing iOS development, I switched stacks to be on the AI Workflows team in June 2024. So far, the shape of this work is writing TypeScript business logic and writing services in Python to support our AI efforts.
There is more detailed information about my time at Asana on the next page.
Hipmunk
iOS Engineer (2015), Mobile Team Lead (2016), Engineering Manager (2017-2018)
I helped move Hipmunk’s iOS codebase from startup spaghetti to MVVM while keeping a fast pace shipping features. I rewrote the mobile web flight search UI on a tight deadline to support acquisition by Concur, and integrated it seamlessly into the mobile apps to replace the native flight search UIs, while maintaining great UX. As a manager, I owned the mobile recruiting pipeline and hired 3 engineers.
Graffiti Labs
Full Stack Engineer, Game Designer
As one of two engineers, I helped design and build a realtime browser-based multiplayer sandbox building game played by thousands of people. I worked with performance-sensitive JavaScript, websockets, iOS (Swift and Obj-C), React, and Python.
Yelp
Software Engineer on the Spam Team
I worked on systems that ensure yelp.com only shows authentic reviews, including algorithms and internal tools. I also maintained mrjob, a popular framework that runs Python code on Hadoop.
Apple
Intern on Obj-C Runtime Team
I implemented an early prototype of the Xcode visual object graph debugging tool.
MIM Software
Intern
I built the first prototype of MIMcloud, a web site for HIPAA-compliant medical image sharing.
Personal Projects
Locheck
A linter for iOS and Android localization. Used by Asana and other companies, including GitHub.
Browserboard
A multiuser whiteboard web app with thousands of users built with Django, Node.js, Vue, and websockets. Built from scratch and sold to an Australian education company.
Oscillator Drum Loops
An iPhone and iPad app companion to a drum instruction book. The app contains over 140 exercises with sheet music and music loops that can be played back at variable tempos with a metronome. It is fully VoiceOver-accessible, and its layout works in portrait and landscape mode all the way from iPhone SE up to iPad Pro.
Education
Case Western Reserve University
B.S. and M.S. in Computer Science. Organizer for CWRU Hacker Society, which is a series of tech talks and a touchpoint for the student community.
Skills for the Keyword Filters
Mobile
Swift, Objective-C, UIKit, ReactiveSwift, Combine, Core Data, Tuist, AudioKit
I have very limited SwiftUI experience, but getting up to speed is the fun part.
Web
JavaScript, TypeScript, Python, React, Vue, Django, Flask, Pyramid, CSS (I’m serious), Node.js, websockets
Details About Asana
As a manager, I:
- Managed both the iOS and Android teams
- Briefly ran the engineering internship program
- Defined how mobile teams collaborated with web partner teams on features
- Coached an experienced engineer through defining the next version of the iOS app architecture
As an engineer, I:
- Redesigned the Asana rich text editor as a hybrid web view to enable shipping rich text features on all platforms at once while maintaining native UX
- Wrote a code generator for the iOS and Android datastores
- Built an internal HTML mirror of our Markdown documentation, used daily by dozens of engineers
- Drove another iteration of our iOS architecture, and a successful years-long effort to migrate everything
- Migrated our Xcode project to Tuist
- Drove a successful effort to split our code into modules to improve build times by 80%
- Gained a deep understanding of Xcode’s localization tools in order to migrate from a good translation management system to a worse but cheaper one
- Collaborated with leaders across Asana Mobile to guide technical strategy, prioritize features, and improve processes
- Mentored other engineers in exercising agency and leadership in the Asana R&D org
- Built and shipped too many new features and screen redesigns to list here
- Generally served as the go-to expert on any given topic and a pinch hitter for arbitrary responsibilities