Software Engineer: API Etsy
Etsy is looking for a talented developer to join our team and help make our REST API world-class. We're aspiring to build a fast, robust, open system that will help our third-party developers create excellent applications as well as strengthen the foundation for our mobile and internal applications that rely on the Etsy API.
This is a key time for us: We expect our mobile traffic to eclipse desktop traffic by the end of 2014 and we need to be ready. This fact, on top of our opinion that it is an ethical responsibility of ours to provide access to the data that exists in the Etsy ecosystem, makes this a very important role.
About the Engineering Team
The technical staff at Etsy believes that code is craft, good software and systems designs are works of art, and that the work we do is part of larger creative culture represented by the hundreds of thousands of inspired makers who make Etsy such a wondrous marketplace. We believe that small, empowered, self-motivated teams can do big things. We also believe in the right tool for the job, not language-as-religion. Our current systems run PHP, Java, Python, Ruby, Solr/Lucene, Postgres, MySQL, and more. Check out our Engineering blog: http://codeascraft.etsy.com/
About the Job
As a member of the API team at Etsy, you'll be:
Architecting (and then implementing!) infrastructure to help support our internal and external developers as they grow.
Providing guidance on proper RESTful API design and implementation for Etsy engineers internally.
Diving deep into the flows of OAuth and its gotchas (Pro-tip: Kellan, our CTO, helped write the OAuth 1.0 spec. Try not to badmouth it in the office!).
Reviewing and improving performance of key resources at every level, including thoughts on PHP performance, DB bottlenecks, HTTP caching, Polling vs. Pushing, batching requests, HTTP encoding, etc.
Acting as a liaison between third-party developers and their needs and the Etsy ecosystem proper (on the forums and in our API issue tracker).
Helping to build programmatic interfaces for new and existing features when you can.
Representing the face of Etsy at various hackathons that we may sponsor around the world.
For the API team, we're looking for someone who:
Understands deeply the workings of HTTP as a protocol. This means things like content negotiation, idempotency and its importance on the web, and the various response codes and their semantic meanings.
Understands REST as a concept and why it is useful (and when it is not, necessarily, useful).
Has a demonstrated ability to master a problem domain quickly; as an API developer, it is your responsibility to be able to understand the problems various teams at Etsy face in their API implementations well enough to help them write excellent resources.
Has an in-depth understanding of programming-as-craft. You should have mastered at least one programming language and ideally would have some experience in PHP.
Has experience handling web applications at scale and, even better, HTTP APIs at scale - we're currently handling millions of requests per hour just to our API. It's OK if this intimidates you a little. It intimidates us, too.
Is a friendly, communicative person who enjoys working in teams.
Has a bias towards shipping software.
Etsy is the marketplace we make together. We have 20 million members in over 200 countries. In 2012, our sellers grossed more than $850 million in sales. Our mission is to reimagine commerce to build a more fulfilling and lasting world.
Our offices are like this http://www.avc.com/avc/2010/09/the-office-matters.html and this http://www.officesnapshots.com/2010/10/11/etsy-offices/. We're empowered and expected to be ourselves, share our ideas and figure out what we can each do to keep Etsy evolving. We have full company-paid benefits, including family and domestic partner benefits, humane working hours, couches, quiet spaces, lunch twice a week and handmade desks.
We're growing rapidly and are well-funded with a proven business model and established revenue to help us continue serving our community.
We're growing rapidly and are well funded with a proven business model and established revenue to help us continue growing and serving our community. If you're interested in joining the team at Etsy, please send a cover letter along with your resume telling us what inspires you about Etsy and why you think you are perfect for the team (resumes without a cover letter will not be considered). If you contribute to an open source project, write a blog, or practice another craft besides coding, that means something to us, and we would love to hear about it when you write!
||325 Gold Street |
Brooklyn, NY 11201