Square Codenames

September 29, 2011

A lot of engineering projects get codenames. Numbered revisions can sometimes get confusing, and besides, themed names are way cooler anyways. We don't spend too much time on coming up with codenames, but it's one of my favorite parts of being a Software Engineer.

iOS

On the iOS team, we name our big client releases (.X) alphabetically. Early versions used kinds of horses, but we have since standardized on squares around the world. Point releases (.X.Y) are also alphabetical and just have to match their big release.

Here are a few examples:

And of course, our upcoming releases have names too:

Android

And don't forget Android! Our Android releases have robot names. Early on, they kept going onto the next letter with point releases, but then had point releases keep the same letter.

The list ends a little early because around the 2.0 release, the Android team stopped relying on codenames and started referring to the releases by number. Around the same time, the Android team migrated away from JIRA for bug tracking which has a nice way to name releases, to Pivotal Tracker, which does not have the same workflow.

Hardware

Our Square reader is a product too, so of course it gets a codename. Our current version of the reader doesn't have a codename, but our upcoming one has the ever-ambiguous codename O1.

But Really, Why Codenames?

As a number, 1.6 doesn't really mean much to me, but Harvard stands out in my mind as an important release where I got to make big contributions. We delivered an updated version of the signature page with fancier inking, and I associate that strongly with the release's codename, Harvard.

It's really easy to dismiss codenames as just another way to goof around at work. We spend so many hours of our lives working on these projects that it seems natural to nominally personify them.

Zach Margolis
iOS Engineer

Comments

Get support help at squareup.com/support. We'll delete off-topic comments.