Phil Calcado, TweetSoundcloud
Biography: Phil Calcado
Phil Calçado is a renowned speaker on a range of topics including TDD, Clojure and lessons learned working with startups.
On top of being experienced in development in many different languages and platforms such as Java – including Clojure, Scala and other JVM languages–, .Net and Ruby, Phil also an Agile coach and practitioner.
Having worked on projects including the Guardian’s Soulmates site, and Lonely Planet, Phil is now Director of Engineering at Soundcloud where he has been since leaving Thoughtworks in 2011.
Presentation: TweetAPIs: The Problems with Eating your Own Dog food
SoundCloud's web and mobile properties are all built on top of our Public API. While building the user-interface atop a RESTful layer has proven itself a sound decision, the one-size-fits-all nature of a Public API is not ideal.
When it comes to data transfer and HTTP resource modelling, each client has their own needs, and in the end hacks and workarounds have to be implemented in both clients and servers. Feature development also becomes complicated, with coordination between multiple teams required for every single little feature.
SoundCloud is now moving to a different model, where clients have their own façade APIs, modelled after their core characteristics and needs. We are also using the architecture to break away from Conway’s Law and building more cross-functional, end-to-end teams.
To implement this, a lot of change in our architecture, tech stack and development processes were required. In this talk we will explore the challenges we had, the options we investigated and how ultimately SoundCloud decided to move forward.