
I push, therefore I am: two days at Etsy (2013) - luu
http://mhawthorne.net/posts/2013-etsy-netflix-I-push-therefore-I-am/
======
jcp2fa
> I think it is important that engineering organizations identify a primary
> thing that they want to excel at. It affects the day to day mindset of the
> engineers, gives context to help with decisions, and provides guidance for
> what types of engineers we want to hire.

Aligning expectations is extremely important, especially when hiring - the
culture of an engineering organization has an outsized impact on the final
product. I have seen a lot of contention when people are brought into an
environment where they expect to be moving fast, only to realize soon into the
job that stability is much higher valued than frequent releases.

~~~
Jach
I agree with your general point about engineering culture (there's also more
broadly the company culture) and it's always frustrating when management can't
decide what the engineering values actually are to any real specificity,
leaving it in the hands of each team doing interviews.

I disagree though that stability and frequent releases need to be traded off
-- it seems only at infrequently releasing orgs do people think that. As for
new people coming in and being surprised by the slowness, I see it most happen
with acqui-hires rather than new hires, since new hires who want to avoid
being surprised by such things tend to ask enough questions (like "how are
releases done?") in the interview stage.

------
readarticle
_It was really interesting to see Etsy experiencing the same issues as Netflix
in serving multiple devices and UI styles with the same API, and attempting to
solve the issue with a similar conceptual approach but with a totally
different technology stack. I think we will see a lot of new ideas in this
space over the next few years as more companies feel the need to adjust their
API designs due to device coverage, bandwidth constraints, UI innovation, and
so on._

Less than two years before GraphQL was publicly announced

------
brendt_gd
> 6\. Maybe PHP Doesn’t Suck

Being a PHP programmer, I can concur: [https://stitcher.io/blog/php-
in-2020](https://stitcher.io/blog/php-in-2020)

~~~
pavel_lishin
> _While many of the arguments against PHP still stand today, there 's also a
> bright side: you can write clean and maintainable, fast and reliable
> applications in PHP._

You can, but in my experience, most people don't. Especially in Wordpress
land. I've paid for plugins with egregious problems that "work okay" because
error reporting is silenced.

> _if you want to, you can write modern and clean PHP code, and leave behind
> much of the mess it was 10 years ago._

But most people haven't, and I'm not really interested in spending my career
and hobby time playing Russian Roulette with coworkers and collaborators.

~~~
kozhevnikov
Can it be helped with a good linter? JavaScript had similar problems as there
were more bad things about it than good, but with ESLint and a good config
(Airbnb's or other) community evolved and most of the new stuff adheres to
best practices by default.

~~~
marcosdumay
There's no linter for hiring candidates. When you announce a PHP position, you
are acknowledging that you'll get someone that doesn't care about
maintainability, security, and whatever. Candidates will react accordingly.

And yes, Javascript has similar problems, but much less severe.

~~~
earthboundkid
Every job where I've done PHP has been sold to me as a job programming in
something else. :-)

I do think that one of the big problems for PHP is that people who voluntarily
do PHP instead of something else are immediately suspect. Why aren't they
interested in learning something else? Do they not really care about code
quality? Do they just say 'good enough' and only give a half-assed effort?

Modern PHP is fine, comparable to other dynamic languages but with some ugly
weird bits (`empty`). However, most PHP I run into is not modern. It's
leftover code from the 00s that has huge security holes that no one has
noticed yet. If someone wants to make a new project with Laravel or Craft CMS,
I wouldn't stand in their way, but I can't really imagine doing it myself just
because of all the flashbacks to code that parses query parameters and calls
the database in the middle of a templated for loop…

~~~
sacks2k
"I do think that one of the big problems for PHP is that people who
voluntarily do PHP instead of something else are immediately suspect"

I write lots of PHP for work and for most of my personal projects. Learning
other languages is just syntax, when you know the core concepts.

I once converted a personal project over to Python 3.X in a couple of weeks
and it was much slower and took more memory than the PHP counterpart, so I
scrapped it.

"However, most PHP I run into is not modern"

This may be the case for you, but I've worked with lots of companies that
built their apps using PHP and most are modern.

"but I can't really imagine doing it myself just because of all the flashbacks
to code that parses query parameters and calls the database in the middle of a
templated for loop"

I'm sure there were many poor practices with other languages 20+ years ago.

I think many here on HN are living in a bubble where most companies use cool
new frameworks and are looked down upon for their stack choices.

I haven't been out of work in the past two decades, and I work almost
exclusively with PHP code bases. I suppose I should be happy for all of this
language snobbery, because I make a very good living and haven't spent more
than a few days between gigs.

~~~
earthboundkid
> I'm sure there were many poor practices with other languages 20+ years ago.

I agree with most of what you wrote, but not this. Code written in PHP from
the 5 and before era was bad in a _unique_ way. Before it came bad VB and now
there is a deluge of bad React. That’s what happens when a language is popular
with inexperienced programmers. But bad PHP was bad _and_ insecure by default,
which led to a ton of security bugs. The only thing comparable is C, which has
had tons of buffer overflow security bugs—but those were written by pros. ;-)
I can’t think of anything else web facing with so many problems with SQL
injection and string escaping. The problem was that making a webpage by naive
string interpolation is a bad idea, but it seemed like a good idea and it’s
what PHP did best and _why_ it was so popular. PHP was lucky to be the wrong
paradigm at the right time to take off like a rocket.

Modern PHP is MVC-ish like everything else, but without the simplicity of
stupid string interpolation, it can’t attract users like bad PHP used to.

------
dgritsko
> the biggest problem we face is maintaining an understanding of what is
> happening in our system

This really resonated with me. Distributed systems are _hard_ and tests (while
valuable) are no substitute for being able to reason about what your
application is doing and what might be affecting it.

~~~
schraitle
I was stuck by this part too. It made me think of advice I read recently that
went something like this:

"The best way to see the results of a change to a complex system is to make it
and see what happens"

------
zackmorris
From the article:

 _5\. Designing a Platform is Designing an Organization

An ex­-colleague of mine taught me the phrase “you ship your org chart”,
meaning that the structure of your system in Production usually matches the
structure of your organization. In my experience this is true._

Also known as Conway's law, this was the single biggest lesson at my last job
(just before it ended). I've come to believe that nearly all code problems are
actually people problems.

So for example, we aren't really web developers, we're coders who work around
the numerous problems introduced by decades of design by committee. We aren't
game developers, we're coders who make forward progress despite a level of
wheel reinvention not seen in any other industry. And so on and so forth.

Me? I've decided to take a break from programming for a while to let the churn
die down. I'm still listening for possible gigs, but for the most part I'll be
working on the other areas in life that I've neglected over the last ~20
years. Maybe get back into art, blog a little, invent something. Unfortunately
I don't have the luxury of a large savings account or investments, so I'm
doing this on faith and relying on the evolution of humanity in these times.

------
elliebike
I really like the idea of a developer exchange - does anyone know of other
places that have done this?

~~~
alex_duf
The Guardian (my employer) and the BBC ran sessions to exchange about how to
make a news app.

It's on pause given the current situation, but it was very informative!

~~~
bArray
What kinds of problems would you face in creating a news app? Surely content
delivery is the same as that through the web page and for displaying the
content you just use some cross-platform UI library?

(From somebody on the outside with absolutely no idea.)

~~~
pbhjpbhj
I was thinking the scope might include news acquisition (creation!?) and not
just publishing.

~~~
bArray
Huh, interesting idea... I guess such a thing could be quite interesting for
some short form updates (i.e. live from a conference). You'd probably want
that to go through some kind of editor right? I just assumed it would be a
news-reader/viewer.

~~~
alex_duf
We do indeed have what essentially is a text-editor with Guardian specific
features developed in house.

It's used for all of our content, but specifically what you're referring to
are liveblogs, where a journalist can write short content and append it to the
existing article.

Here's an example of such an article
[https://www.theguardian.com/world/live/2020/apr/23/coronavir...](https://www.theguardian.com/world/live/2020/apr/23/coronavirus-
live-news-update-covid-19-face-masks)

------
fallat
Etsy sounds fun to work at. I like their ideology from this guy's perspective.

Too bad we couldn't see the other perspective. From what I hear Netflix is
generally nice to work at too, but from the sounds of it may be more
stressful.

~~~
spyspy
The article was really interesting but given it was written in 2013 I wonder
how much of it is still true. They're both probably very different places to
work than they were 7 years ago (for better or worse or same same but
different).

------
OJFord
> A lot of the Etsy engineers seemed to find this fascinating. I think the
> main reason for this is that they run in a data center and control their own
> hardware

I'm shocked that Etsy, then or now, is at a scale where that's even close to
making sense, that it would even be a discussion.

I wonder if it still is, I don't know how its size has changed over the
intervening seven years, but with the explosion in popularity of I/P aaS I
think it would be even more surprising today.

~~~
bichiliad
This is fairly old at this point; we were in the process of migrating to the
cloud for several years and completed the bulk of the effort recently:
[https://cloud.google.com/press-releases/2020/0219/etsy-
compl...](https://cloud.google.com/press-releases/2020/0219/etsy-completes-
migration)

~~~
breakingcups
Do you have any insights into performance or cost difference?

~~~
bichiliad
Not strictly, and I'm not sure what's public knowledge and what isn't, but as
I understand it the biggest win was being able to scale quickly (especially
during the holiday season) without having to put in orders for hardware months
in advance. As I understand it, cost wasn't a driving factor in the migration.
I think with regards to performance, it's a bit hard; comparing a cloud-native
solution to a custom solution running on a VM on a server you manage can be
really tough to compare.

------
zeristor
Is there anything else like this from the last year or so?

~~~
oftenwrong
Dan McKinley's talks are not that recent, but are similar:

[https://mcfunley.com/](https://mcfunley.com/)

He is another former Etsy developer.

------
johnmoonyy
Really cool read. I didn't know companies have these type of programs

> 8\. Always Keep in Mind What You Want to Excel At This was very touching. I
> haven't thought about my work in this way. I have a general idea of what I'd
> like to do and improve on but it doesn't always translate to my day to day.

------
gergelykralik
Is the site down for everyone else, or just me?

~~~
gravitas
Mobile firefox gives me an untrusted SSL warning, after accepting I get a
"Dreamhost site not found" error.

~~~
gergelykralik
Same here. Tried with VPN from US, EU, no dice.

~~~
gravitas
I'm now logged into work VPN (captive network) and it's reachable going out
the company network routes. _shrug_

Edit: it's HTTPS - I use the SmartHTTPS plugin (including on mobile FF) and
when trying to go this site with SSL it fails, if you force it to non-SSL it
works.

------
cryptozeus
Fantastic write up.

Curious and respectful.

