Presentation: Rethinking CodeGen: IDL, Thrift, gRPC, Ohh My
Abstract
At Compass we have seen a dramatic evolution in our API over the last 18 months. We have doubled the number of backend services we use and transitioned from a relative "mess" of different API programming patterns and technologies to a unified API architecture that is used across web and mobile. Along the way we have dramatically improved developer quality of life with improved API discoverability, consistency and maintainability.
In this talk, we will discuss our evolution - both the technology stack and the migration process to get where we are. I will present our extensible code generation framework which is at the heart of our automatically generated REST to gRPC reverse proxy and how we've been able to leverage it to empower our client and service developers. This includes generation of API documentation and client SDKs, Thrift linting, our transition to gRPC from Thrift / Finagle and even a GraphQL prototype.
Similar Talks
Inside Job: How to Build Great Teams Within a Legacy Organization?

Engineering Director @Meetup
Francisco Trindade
Self-Selection for Resilience and Better Culture

Agile/DevOps Trainer & Founder of Agile Play Consulting, LLC
Dana Pylayeva
CockroachDB: Architecture of a Geo-Distributed SQL Database

CockroachDB maintainer, Co-founder & CTO @CockroachDB
Peter Mattis
Breaking Hierarchy - How Spotify Enables Engineer Decision Making

Senior Engineering Manager, Data and Machine Learning Infrastructure @Spotify
Kristian Lindwall
Context Matters: Improving the Performance and Wellbeing of Teams

Director of IT @Etsy
Shawn Carney
Maintaining the Go Crypto Libraries

Cryptogopher @Google
Filippo Valsorda
Video Streaming at Scale

IBM Distinguished Engineer, CTO Watson Media Cognitive Solutions @IBM
Lysa Banks
Machine-to-Machine Interfaces

Sr. Consultant, AppDev @awscloud
Ari Lerner
Building and Operating a Serverless Data Pipeline

Director Of Engineering at Intent