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

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

Location: Broadway Ballroom North, 6th fl.

Day of week:

Slides: Download Slides

Level: Intermediate

Persona: Architect, CTO/CIO/Leadership, Developer

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.

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

Self-Selection for Resilience and Better Culture

Qcon

Agile/DevOps Trainer & Founder of Agile Play Consulting, LLC

Dana Pylayeva

CockroachDB: Architecture of a Geo-Distributed SQL Database

Qcon

CockroachDB maintainer, Co-founder & CTO @CockroachDB

Peter Mattis

Breaking Hierarchy - How Spotify Enables Engineer Decision Making

Qcon

Senior Engineering Manager, Data and Machine Learning Infrastructure @Spotify

Kristian Lindwall

Video Streaming at Scale

Qcon

IBM Distinguished Engineer, CTO Watson Media Cognitive Solutions @IBM

Lysa Banks

Machine-to-Machine Interfaces

Qcon

Sr. Consultant, AppDev @awscloud

Ari Lerner