For a long time, I was shocked by blogs like Etsy’s engineering blog, Code as Craft. I had a sort of old-school “information is power” mentality that led me to believe that letting competitors know about your technology stack would put a company at a disadvantage. Building scalable systems is hard, and I thought it was foolish to give away your secrets. I also prided myself on being able to sleuth the details of a company’s technology stack using URLs, HTTP headers, and page source.
I have long since come around to the opposite point of view, but general attitudes about this stuff hasn’t changed much once you get past the most progressive organizations. Stephen O’Grady explains to the recalcitrant why hiding your technology stack is a bad idea.
The other day I said on Twitter that all problems are user experience problems, except for scaling. And the solutions to those problems are generally so complex and so specific to a company’s product, staff, customers, and existing code base that slavishly copying one’s competitors at meaningful levels isn’t really possible. At most, what you usually get is an idea of what to try next, or issues you may run into down the road.
The advantages of sharing are real, and the disadvantages are an illusion. Go forth and start an engineering blog.
April 19, 2012 at 10:45 am
This is kind of a twist on the idea that ideas are cheap and execution is hard. It doesn’t do me much good to know that one of the things making Etsy (or other sites) so responsive is continuous deployment because the whole infrastructure around it, even when it’s explained in detail, is hard to do. And, to echo what you said, without understanding deeply the task and process and how they do (or don’t) map to my problems I’d be the worst kind of cargo-culter, bouncing from problem to problem without a clear path out.
April 19, 2012 at 12:09 pm
“ideas are cheap and execution is hard”
Absolutely. I love the Code as Craft blog, and I’ve actually learned some useful stuff from it. And deploying web applications at scale is a craft that too often descends into black magic. Being open about the details and problems not only helps others (most of whom are operating at much smaller scales) learn how to better use their own resources, but it encourages feedback that can be useful, and the very act of chronicling these details and processes is itself an act of learning and discovery on the part of the writers.