Shawnee Gao
Shawnee Gao

Full Stack Software Engineer at Square Inc. living in San Francisco. I am passionate about software that delivers both great customer and developer experience. Outside of work I am a coffee enthusiast and painter.

GraphQL Migration: A Proper Use Case for Metaprogramming?

When my team took the plunge to migrate Square’s largest Ruby app to GraphQL, no way were we going to manually redefine over 200 objects. Implementing a GraphQL layer includes repetitive and straightforward processes that can be expedited with metaprogramming. I will start with some GraphQL basics, then dig into process of metaprogramming a GraphQL layer from a demo ruby server. I will explain the benefits of using this design pattern and how it improves developer experience. At the end, I will demo the server handling a set diverse and complex client calls!

Presentation Material

Recorded video