22 March, '21

Etsy

Etsy's motto is "Keeping Commerce Human". I think that's as much a mission statement as it is a dig at ecommerce behemoths like Amazon and Ebay. Shopping online can be an impersonal experience—and maybe that's a part of the allure: the low-friction-ness of it; the one-click. But as long as there is commerce, there will be a marketplace for small-batch, handmade goods like the ones purveyed on Etsy.

Their job posting seem to reflect their business ethos as much as their about page. Gone here are the awe-inspiring monthly-active-user statistics. Gone the endless lists of enterprise infrastructure tools. Instead, where Etsy focuses on numbers, it's usually to draw attention to the scope of "passionate artists, designers, and vintage collectors" that use their platform. It doesn't come down to number with Etsy, but to people.

Guh this is starting to sound like an advertisement. I don't work for Etsy.

But it does feel like Etsy sweats the details on a personal level, when it comes to their engineers. The listings are littered with phrases like "well-scoped problems" and "mentoring and coaching other engineers". Phrases I salivate over. As if problems to be solved at Etsy aren't in the service of generating ever-greater revenue, but in lifting up developers and preventing them from overextending themselves.

I liked this item from the 'About You' section on an Engineering Manager, Privacy role:

"Understand that being an effective software engineer is as much about communicating with people as it is about writing code."

Lots of references to e.g. "code is craft", too. I guess that's easy to say no matter who you are. "We pride ourselves on writing good code." As if there are hordes of developers roaming the wastes of Twitter showing off their awful code with their chests puffed out and a twinkle in their eye.

Still, Etsy's serious enough about it that their engineering blog is actually called Code as Craft. And it looks like it gets some fairly regular updates, too. Putting that one in the RSS feed.

Not that it's all touchy-feely humanist stuff. There is lots of focus on data-driven decision-making as well, both in the qualifications ("Love to experiment... especially using A/B testing") and in the 'company description' section ("We believe in measuring everything"). But again, those are easy points: multimillion-dollar ecommerce platforms aren't making decisions based on the orientation of the stars or their executives' gut feelings. (Well, most multimillion-dollar ecommerce platforms.)

Stack

From a Software Engineer, Help Me Grow listing:

"Etsy is built on Google Cloud Platform, and our web stack runs on PHP and MySQL. On the front end, we’ve developed and migrated to our own design system, and mostly build interfaces using React."

I really like this. Straightforward boring technology. (Dan McKinley is who got me into looking up Etsy jobs in the first place, actually.)

A bit further down the stack, you'll find Scala and Java as well—no surprise there—for big data and distributed systems. Making me feel like I ought to start learning a bit of Scala. Although I think the problems that the Scala developers at Etsy are sorta in a different area than the problems I'm used to solving. Python for machine learning—also no surprise—and Go for some services. Just the right amount of spicy.

I wonder what the stack looks like. I kind of imagine it like this:

React on top, JVM stuff in the middle, Go services on the bottom, PHP throughout.
React on top, JVM stuff in the middle, Go services on the bottom, PHP throughout.

The specifics

The engineering careers landing page is nice in that it gives you an bit of an overview of the kind of technologies they use at Etsy:

The engineering careers landing page at Etsy.
The engineering careers landing page at Etsy.

The fact that they've got a bespoke hiring site is refreshing. It feels like a lot of other companies use some sort of whitelabel thing—but Etsy's is all branded properly with appropriate fonts and lifestyle-type imagery.

Etsy hires across a variety of technical roles, broken down generally the same way they're broken down everywhere:

  • Frontend stuff
  • Backend of the frontend stuff
  • Core services
  • Data
  • Devops & infrastructure (incl. reliability)
  • Privacy & compliance

Frontend stuff is exactly what you expect: lots of focus on JavaScript and React. Cross-browser testing. There's a fun role building Etsy's progressive web app that asks almost exclusively for soft skills.

Backend stuff tends to be frontend-adjacent but with a greater focus on PHP. I've read that when Etsy started it was a big PHP mess but I imagine the screws have been tightened considerably since then. I wonder what framework/components they're using, if any.

Core services feels the building the amorphous glue that holds the whole thing together. I imagine this consists of writing a bunch of Go/Scala/Java and talking to the data guys about performance.

Data is focused on machine learning for recommendations. It seems to be a lot of Python and BigQuery and Natural Language Processing and Computer Vision. They've got their own Etsy sub-site here.

Devops and infrastructure is just about the same here as it is everywhere: orchestration, infrastructure-as-code. Terraform is a must. I gotta figure out what Terraform does.

Privacy and compliance is just making sure that your users' data doesn't become public data. A lot of this is well over my head but I imagine it's more than just encouraging the use of a password manager.

In concl.

A lot of the job applications I've read seem like they're trying to intimidate you. Seem like the point is to position the company as an ivory tower to which you gain access through sheer excellence.

Etsy's seems different, somehow. Feels personal in the way that I imagine a lot of the merchandise sold on Etsy does. Feels approachable. I really like that.