Presentation: Rethinking CodeGen: IDL, Thrift, gRPC, Ohh My

Track: Next Gen APIs: Designs, Protocols, and Evolution

Location: Broadway Ballroom North Center, 6th fl.

Duration: 1:40pm - 2:30pm

Day of week: Wednesday

Level: Intermediate

Persona: Architect, CTO/CIO/Leadership, Developer


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.

Speaker: Cameron Waeland

Software Engineer @Compass

Cameron has over 10 years of experience building successful commercial software products from design through commercial market launch. Since graduating with a Software Engineering degree from the University of Waterloo he has been developing both front and back end applications including scalable APIs, reporting systems that leverage large scale data sets and has both designed and developed powerful end user dashboards. For the past year and a half Cameron has been leading API development at Compass, and has been key part of driving developer efficiency and laying the foundation for the next stage of growth. Prior to Compass, Cameron worked at JW Player where he was head of platform architecture building both video player and platform solutions instrumental in driving adoption of the JW Player.

Find Cameron Waeland at

Similar Talks

Software Engineer @Agrilyst
Cofounder & CTO, previously Co-Founder & CTO @Gilt
Platform Director, "SeatGeek Open"​ @SeatGeek
Director of Engineering @ Squarespace
Software Engineer @Jet, previous CTO
Leading Machine Learning Researcher, Vowpal Wabbit Contributor


Monday, 26 June

Tuesday, 27 June

Wednesday, 28 June