Hack+Startup with Facebook: Joe Carrafa of Etsy
Joe Carrafa is a senior engineering manager at Etsy where he leads the Marketplace Operations Team. Joe has been involved in the creation of many of the company’s internal tools, and in this Hack+Startup talk, he describes exactly how these tools help Etsy run its business more effectively. All the good stuff below comes directly from Joe.
Most start-ups use internal tools — JIRA or perhaps Google Apps — and I see many of the best companies building their own. The common thread for all internal tools is that they make your life easier, but deciding when to invest dollars in buying tools and when to invest time in building them can be a tough choice.
Simple Solutions to Simple Problems
That being said, internal tools don’t need to be complicated. If you’re someone who frequently deploys code, writing a continuous script to automate the process will alleviate a pain point or two and make you more efficient. Similarly, if you find that other teams are constantly pinging you for the same report or task, you should write a command line script that you can run each time they ping you. It’s about letting the humans shape the tasks and letting the machines repeat them as often as necessary.
The Minimum Viable Product
Ultimately, when you’re a small company with limited resources, it’s important to focus on the minimum viable product. Spend your time building what you really need to make your company better and to set yourself up for success.
Tangibly, this means honing in on the ongoing, repetitive tasks. More specifically, you should always aim to reduce the amount of time you spend doing any single task. With the help of a script or application, you can almost always improve the quality and consistency of your results.
Pro tip: Don’t forget to be resourceful. Before you build, always consider the tools you already have at your disposal. It pays to adopt an “eat your own dogfood” mentality where you can effectively re-use the same tools across the different problems you encounter.
Controlling Your Environment
When you’re creating internal tools, remember that you’re not building them for the rest of the world: You have control over the people who are going to use them, you are familiar with what their day is like and, most likely, you know exactly how they’re going to utilize the tools before you create them. So, don’t get caught up in things like compatibility issues (i.e. making sure your app will run on IE6 if no one uses IE6 internally). Instead, spend your time making their process better. You control the environment, after all.
At Etsy, they've had a lot of success controlling the environment in which code is deployed. With the help of an internal tool called Pushbot — a push queue that effectively operates on a topic-based IRC channel — they have been able to avoid web sockets and lots of other things that can complicate the process of continuous deployment
Like at most companies, the developer-product interaction is particularly meaningful at Etsy. With over 120 engineers, there is a special emphasis on getting product out the door. Joe emphasizes that a cornerstone of the engineering philosophy is continuous deployment and testing.
There is an even bigger emphasis, however, on building things that are tied into the way the company works, rather than products that are simply hard to build.
In order for the dev team to be most productive, they need the following:
- StatsD — metrics that will help drive your framework — it will run timing calls with a 95% with a single call
- Testing Infrastructure — a good one so that people can run tests simultaneously
- Development Environment — a development database with virtual machines to make it scalable
- Codesniffers — to maintain the quality of your code
Your Marketplace Operations Team
While your company may call Marketplace Operations something else, Etsy’s Ops Team is responsible for one of the most crucial interactions, the one between the customer and customer support.
In the past, Etsy had been using a support system called RightNow to handle email. But, it was an imperfect solution that had to be run on a virtual machine. As the organization continued to expand, so did its needs. Teams had to be able to handle a larger volume of messages from a fast growing user-base.
Naturally, the Ops Team wanted more information at their fingertips about a given customer to do their job more effectively, but with a third-party tool like RightNow, there was very little the engineering team could do to accommodate this. Since the technology wasn’t built in-house, it couldn’t provide critical data like who the customers were or what their previous correspondences looked like.
So the team built a tool called Compass, a system that has remained preferable to any existing solutions in terms of features, ease of use and flexibility.
Justifying Your Own System
One of Compass’s core features is Buckets, which separates different types of inbound messages by category (Billing, Integrity, API, etc.). While it’s Gmail-esque on the surface, it encourages Etsy’s teams to treat messages like a task and stresses a particular workflow. This mentality of “read an email, take an action, and then move on” is pervasive because the engineering team made the conscious decision to build the product around the existing workflow of their Ops Team.
Two other crucial additions to Compass were the knowledgebase, a sort of GitHub for customer communication best practices and the inclusion of specific, actionable user information in the Ops team interface.
While your killer features may vary, it’s important to identify what your team is really itching for and then build accordingly.
Preparing for the Future
Etsy’s now at a point where its 40 Ops Team members are managing 10,000 inbound weekly emails. But as they continue to grow, the hope is to leverage Compass and other internal tools in order to have the same size team handle the increased volume of customer requests. To do this in your own company, to scale well on the human capital side of the business, you’ll need to create technology that’s fundamentally designed to help people be more productive. This is why Joe describes successful internal tools as the intersection of people and technology.
- Be resourceful: Consider what you already have in front of you, how you could use it to solve the current problem and go from there.
- Processes: Focus on processes over technology. Before you build something, talk in detail with the person you’re going to build it for. That way, you can pinpoint the best way to make their lives better/jobs easier.
- Environment: You don’t need to waste your time worrying about compatibility. You’re in control.
- ROI: Focus on the areas of your business that will generate the most in return for the leverage that tools can provide.
- Scalability: As you find success you will need to be able to do more with the same resources — building powerful internal tools is one way to get the leverage you need as your business grows.
Read These Next
Hyper-Growth Done Right - Lessons From the Man Who Scaled Engineering at Dropbox and Facebook
Radical expansion must be in Aditya Agarwal’s genes. When he started as an engineer at Facebook, the company had fewer than 15 people. Within 6 years, he had risen to Director of Product Engineering, leading 2,000 employees to reach 700 million users. In 2012, when Dropbox acquired his startup Cove, the cloud storage incumbent staffed 30 engineers building for 50 million users. Now Agarwal directs an engineering arsenal of 200+ to protect the data of over 200 million people — and he just worked on yesterday's big launch of Carousel. “Most of what I’ve learned in my career has been during a period of hyper growth and change,” Agarwal says. To grow this fast, leaders need to plan day-by-day for the business they want to be in six months — not what they are right now, he says. How do you build an engineering team to constantly rotate and expand? How do you adjust a product strategy when your company transforms weekly, monthly, quarterly? At First Round’s last CTO Summit, Agarwal shared the secrets he’s tapped to keep his team aligned and productive during the fastest of sprints.
Facebook VP of Engineering on Solving Hard Things Early
January 2002. At Linden Lab, we were still referring to Second Life as Linden World, our furnace-less office was near freezing because the space heaters kept popping breakers, the Dot-Bomb crash was in full swing, DEMO 2002 was 4 weeks away, and 10 programmers were trying to duct tape everything together. Little did we know it was never going to get easier to fix the truly hard problems companies face. I talked about this, among other engineering challenges, at First Round Capital's last CTO Summit.
How Modern Marketplaces Like Uber and Airbnb Build Trust to Achieve Liquidity
In 2009, Airbnb was close to going bust with revenue flatlining at $200 a week. Since then, over 9 million people have used it to find temporary housing. Etsy was founded almost a decade ago, but doubled its valuation with its last two rounds of funding. The gradual but ultimately huge success of these entrants to the marketplace space has paved the way for Uber and Lyft’s breakout growth, and the explosion in startups with marketplace models: Postmates, Getaround, Taskrabbit, and more — quickly eclipsing the old guard represented by Craigslist. Marketplace startups are unique because they aren’t just serving one base of customers. They connect buyers and sellers, service providers and consumers. They have to make sure users are having a good experience with each other as well as their company. As head of product for fashion marketplace Threadflip, it's remarkable to me how much of this is based on our ability to inspire and maintain trust. And while "trust" sounds like a subjective term, building it is highly tactical.