GraphQL’s Lee Byron on Rebuilding a Project from Scratch
This podcast is sponsored by InfluxData and KubeCon+CloudNativeCon. InfluxData delivers a complete open-source platform built specifically for metrics, events, and other time- based data — a modern time-series platform. KubeCon + CloudNativeCon, May 20-23 in Barcelona, will feature key maintainers behind popular projects like Kubernetes, Prometheus, gRPC, Envoy, OpenTracing and other domain experts, adopters, and end users to further the education and advancement of cloud native computing.
On this episode of The New Stack Makers podcast, we talk with Lee Byron, one of the creators of the GraphQL API query language. He worked on GraphQL at Facebook and is now manager of the web engineering team at the investment app Robinhood. He also is a founder of the GraphQL Foundation, a neutral place for the GraphQL community to support the expansion of GraphQL and surrounding ecosystems
Facebook commissioned GraphQL in 2012 to deliver Facebook more effectively onto mobile devices. Facebook was originally designed on client-server architecture, and so they clearly needed a native mobile data platform.
By 2015, the React open source community gained traction and held their first conference. The expanding use in the open source community, said Byron, led to the necessity to rebuild GraphQL from the ground up.
The idea of rebuilding a system you put into production sounds like a luxury few in the developer space can afford, and Byron said it comes with a lot of risks. He’d watched other projects try this and fail, and learned from their mistakes. The first time, he said, a developer is very open to looking at all options. The second time, you start with the idea that you already know what works, and add with the desire to solve every possible problem you’d thought of since version one launched. But these can be stumbling blocks when re-imagining a better system.
The GraphQL team put structures in place for the redesign to help combat those problems. He created author-editor relationships with two other developers who worked on GraphQL and React. For each section, he wrote a proposal that had to pass the editors, who asked useful questions like, “is this solving an actual problem?” Soon this was shortened to “YAGNI” which stands for You Ain’t Gonna Need It.
They set a deadline. They put in a talk proposal for the next React conference, so they knew they’d have to have something to show the crowd. Lastly, and this was critical, said Byron, they created an incremental path to lay before the developer audience. They needed to see how they were going to get from point A to point B, he said. Once they saw the path, they could see themselves using it and it took off in a big way.
Listen in to hear a deep dive into GraphQL basics (spoiler: it’s about relationships), the complexities of open sourcing Relay, and more.
In this Edition:
2:11: How did GraphQL come about?
8:22: Exploring the terminology of the term “graph.”
13:02: Using GraphQL to explore the relationships between people back in 2012.
15:18: Discussing the history of first React conference in 2015 and how it was used at Facebook during that event.
21:48: The selection bias as a software developer.
27:34: Having an incremental path when designing software.
Feature image by 4lb from Pixabay.