About

I've been working at the intersection of design and engineering for over 17 years. I started my career as a designer and iOS engineer, then moved into an iOS engineering role at Square, where I eventually became a mobile engineering manager. For many years, I was Square's mobile design systems lead, and also worked on our engineering hiring and engineering ladder programs. Design is how it works.

Notify.app (2008 to 2010)

Notify app icon

In 2008 alongside Joel Levin we designed and shipped a small email client called Notify. It did alright; despite the fact that we had no idea what we were doing. We sunset it in 2010.

Metalab (2010 to 2011)

From 2010 through mid-2011, I was a software designer at Metalab – working on their Flow task management app (which seems to have been sunset since), handling both the design and engineering for the Flow iOS app.

Square (2011 to 2026)

I worked on a very wide variety of stuff at Square over nearly 15 years – summaries below.

It is an understatement to say that my time at Square made me who I am today. I was so incredibly fortunate to work with so many amazing people. Those early years in particular were so incredible looking back. Truly lightning in a bottle I hope to experience again.

It was incredibly rewarding to work on an app that helped people focus on what mattered to them – running and growing their businesses. It still fills me with such pride to walk into a store and see Square on the counter. When our sellers did better, we did better – that's what matters.

Square hardware products

Early Square (2011 to 2015)

When I joined, the iOS team was small – about 10 people, so we all did a little bit of everything. My very first "real" project was adding cash drawer and printed receipt support to the Point of Sale app. I also undertook a fairly large rewrite of our transaction and cart model to modernize it, and introduced support for a much more complex tax and discount calculation model (turns out that high school algebra you never thought you'd use came in handy for inclusive tax calculation). I also rewrote a large chunk of the checkout flow UI to support various design updates, and to modernize the UI to take advantage of the new (at that time) UIViewController containment APIs. To this day, I am still the top committer to the Point of Sale iOS repo.

During this period is when I also developed a few core frameworks which are still in use today. SquareCore, a set of foundational utilities every module could depend on. I also developed SquareData, our internal CoreData framework, which largely functioned to harden and streamline CoreData usage – adding fetch request validation, threading validation, easier migrations, easier context nesting and multithreading, etc. On top of this I built Lombard, a queuing framework used to upload cash payments and cash drawers.

Near the end of my time as an IC, I also worked closely with the Analytics & Reporting team to create our next generation cart and payment API called Bills – which we developed to support split tender payments and other future product launches. The Bills API was what powered every Point of Sale payment at Square for nearly a decade until it was eventually replaced by Orders in late 2025.

Point of Sale EM (2016 to 2019)

In 2016 my previous manager left Square, and I was given the opportunity to try managing a team – initially only iOS, but it eventually morphed into a larger 16 person full stack team of iOS, Android, Server, and Web. This team went through several iterations – we were responsible for some fairly large scale rewrites like a modern Transactions applet and modern Checkout applet. We also lead the Square-wide effort to introduce Fractional Quantities – allowing sellers to sell by weight / unit (instead of just by count), and also built Itemized Refunds (allowing refunds by item not just amount), fixing a long-standing issue where refunds would break sales reports.

UI Systems (2019 to 2026)

In mid 2019 the decision was made to spin up a proper, centralized design system team for Square – prior to this every product essentially has their own separate look and feel – because of this, each product felt incredibly disjointed, and the individual UI frameworks were incomplete and poorly built. We wanted a unified look and feel to improve usability, accessibility, and to deduplicate a bunch of duplicate work across Square. We called the new unified design system Market.

I was lucky enough to be a founding member of this new UI Systems team – which is where I remained for the rest of my time at Square. As the mobile engineering lead, I grew the team from an initial group of 3 people to 14 people over the intervening years.

One area that was always really important was ensuring that we were never a blocker to product teams – design systems and UI is incredibly broad – it's easy to miss stuff. We established a strong, responsive governance structure that involved oncall designers and engineers who would shepherd through weekly releases and handle interrupt-driven work to unblock product teams and build their trust in the design system – the goal being using the design system should always accelerate you and make your product better.

In my early time on UI Systems while the team was small, I was doing probably 70% code, 30% managing. Some of my major projects included developing Listable (a collection view library optimized for large data sets and customizability) and heavy contributions to Blueprint (our declarative UI framework that predates SwiftUI by several years). I also built a bunch of the core primitives within the design system like our custom navigation and tab bar controllers.

In 2023 we spun up a proper Accessibility squad, which we grew to be 4 engineers across iOS and Android. The Accessibility work we did was some of the most rewarding from my entire time at Square. In particular working with BVO to get them onto Retail Point of Sale was eye-opening.

The accessibility squad invested in accessibility work up and down the mobile stack, from improving tools like AccessibilitySnapshot, to integrating accessibility tests into our screen tests by default, to building out educational tools and resources for other engineers.

In 2025 we undertook a fairly ambitious redesign of the Point of Sale apps, updating the UI to a "monochrome" aesthetic – this really showed off the power of a unified and consistent design system. For the areas of our apps that used Market, it took just a couple weeks to update 1000s of screens.

Market components in light mode (original) Market components in dark mode (original) Market components in light mode (monochrome) Market components in dark mode (monochrome)

Near the end of my time at Square, our team moved "up the stack" – working on UI features like dark mode, dynamic sizing, buyer-facing accessibility settings and so on.

There's a ton more that we did that I could talk about here, but will keep it short for now and probably turn the other parts into blog posts at some point :)

Engineering hiring & engineering ladder (2019 to 2026)

During my time at Square, I always enjoyed undertaking "extra curricular" projects, a lot of that focused on hiring and levelling.

In 2019 I noticed that a bunch of our very best iOS engineers were barely passing our generic software engineering interview process – lots of "leetcode-style" interview questions which had very little to do with the actual day to day of mobile development. I created and worked with recruiting to roll out a new, take-home based process with more realistic and relevant Q&A interviews – candidates were given a choice between the generic SWE interview process, or this one – most people picked the mobile one.

This got me more involved in the Block-wide interview process, where I served one of the leads for eng hiring from 2020 through 2024 or so. This involved iterating on the entire interview process, responding to feedback from interviewers and hiring managers, as well as owning the "barometer & facilitator" training process – these are the folks who review hiring packets and listen to hiring manager pitches to determine who we should hire to continually keep and raise the bar.

I also got involved in our engineering levels & ladders program in 2020 – the eng ladder and associated resources that engineers and managers alike are ranked and graded against to ensure consistent evaluations and performance. I was the owner of the levels & ladders program in 2025 through 2026. Some of the primary projects I worked on were a rewrite of the ladder to make each level build better upon the previous so career evolution was more clear, integrating Block's "Impact, Behavior, Betterment" (IBB) framework into the ladder, ensuring that senior+ level engineers were free to fulfill their role through many different archetypes, and clarifying career level expectations for ICs.

Fired

Fired

At the start of March 2026, me along with 40% of Block and about 85% of Square iOS got fired out of a cannon. Guess the vibes were off or something. Oh well!

What's next

A good long break, I think!