
Etsy CTO on Its Conservatively Crafty Tech Philosophy - amalantony06
http://techcrunch.com/2015/04/27/etsy-cto-on-its-conservatively-crafty-tech-philosophy/
======
mpdehaan2
> "The company has 685 employees of which approximately a third are
> engineers."

Given that they've produced some impressive things, Etsy always seemed to be
the example of a shop that was overdoing it - but I had actually assumed they
were overcomplicating it with 20 engineers or so. Looking at their github now,
and hearing those recent numbers, it feels much worse. That level of work is
great, but for a company that does what Etsy does, much of it seems like
overkill. (Managing 1000 instances should be the same as managing 100, this is
where automation kicks in. Architecture enables that.)

Ultimately, that's a tremendously large amount of engineers, to where I can't
really mentally assign what all but about 20 of them might do. Let's be
generous and say 30 - or even 40 :) All of that eats into the bottom line (and
also makes adding more staff harder, as your tech becomes more and more
custom).

Really, at the basic level, it's a CRUD-based storefront website. Yes, it has
scaling needs. But it's not really novel in that regard.

Yet, they've built more automation around their automation (lots of things in
the Chef ecosystem) and probably made things a lot more custom.

I can understand some of this for say, multiplayer gaming or video streaming
infrastructure maybe, but I would suspect Etsy could have been run a lot
easier with less wheel reinvention.

Startups should really strive, IMHO, to write as little of software as
possible, that's outside of their line of business. When wheels are square,
build better wheels sure, but what I see from that number looks like MASSIVE
levels of maintaince costs for being that custom.

So anyway, thanks for producing things that other people use and that are
useful - YES - but from the startup accounting / efficiency perspective, I
wouldn't want to see my company run that way.

~~~
Eridrus
I think this article addresses what they do; they work their way down the
stack and broaden what they provide to the business vs outsourcing to some
SaaS company.

Sure, you could run this in the cloud and not worry about physical machines,
but that will probably be more expensive. As companies grow, it becomes
cheaper to bring lots of things in house, rather than outsourcing them.

As companies grow, small % differences can result in large total impact, at
which point having engineers eek out small gains may make a lot of sense, e.g.
think of Google's results around latency, or small improvements in
recommendation engines that drive higher sales.

~~~
jroseattle
> you could run this in the cloud and not worry about physical machines, but
> that will probably be more expensive.

I question what the current cost structure looks like. As a public company, my
guess is that investors will do the same as well.

In a world where Instagram deals with orders of magnitude more customers with
a whopping five engineers, it's a pretty high bar to show why so many
resources are necessary for this particular operation.

I'm sure the Etsy guys are sensitive to that as well, but from the outside
it's hard to believe there isn't a better way to use resources more
efficiently.

~~~
mcosta
I instagram loses a photo, nobody cares. If etsy loses an order is deal-
breaker.

Not the same problem domain.

edit: Instagam has not that many customers. Has many users. That's a real
diference.

~~~
jroseattle
Very good point. A transaction involving a user's money carries a great deal
more weight in terms of reliability, accuracy, etc.

That said, the resource difference between these two companies is considerably
large, and the tech in question (e-commerce) is not exactly an area of unknown
innovation. From a technical standpoint, that's sufficiently a solved problem.

------
hanlec
> One way Etsy drives this kind of commitment to deep understanding that seems
> to underlie its technology choices, is limiting the number of tools it uses
> as a company. It would rather be the master of few tools than have a broad
> knowledge across many different ones.

Every large(-ish) company I know has pretty strict rules about the languages,
frameworks, and tools used for the main products.

The more flexible of these do allow prototyping using a different toolsets.
The ones that have a developer audience always experiment with new
environments.

New tools and new processed get adopted over time, but in many cases the cycle
they go through emulated pretty closely the adoption cycle seen outside. Even
if the new shinny toy syndrome is very strong in this field, this makes a lot
of sense, as nobody really wants to throw away everything. (_While writing
this I got to think about the numerous rewrites eBay has seen over years_).

> The company owns and operates its hardware and networks in its own
> datacenter. Part of the reason for avoiding the cloud is control, but not
> necessarily just from a security perspective as you might think. The real
> reason is Etsy personnel want to get under the hood and understand every
> aspect of every piece of technology the company controls.

I continue to be very curious about how polarizing the cloud remains.

