Jackson came to Apollo after a summer working on Microsoft’s VS Code, and helped contribute to our open source offerings. One of Jackson’s first contributions was creating a seamless and automatic update experience for users running a distributed GraphQL layer. Jackson experimented with snapshot testing, made critical improvements to the VS Code extension, implemented schema roll-over functionality for the Apollo Gateway, integrated Apollo Gateway within Apollo Server and added polling of Apollo Graph Manager, and took on the herculean task of re-writing graphql-js in Typescript! Being part of the most distributed team, Jackson collaborated with engineers in Helsinki, Amsterdam, South Carolina, and New York! Way to go, Jackson!
How did you get into in Computer Science?
At my high school some parents wanted to make an app for the school. They made an app for the students but they had no idea what students really wanted. So I made an iOS app to replace it and it worked really well but under the hood it was really bad since it was my first time writing code. My high school didn’t offer computer science class so I had to teach myself.
What made you choose Apollo?
I felt the idea of GraphQL was pretty cool compared to REST. I liked working in developer tooling for a while and Apollo had similar kinds of developer tool projects. I also really liked the company culture vibe! Eating lunch together was really cool!
What was it like working on commercial products?
It didn’t seem all that different it’s just code! It was all stuff that i was exposed to during my previous internship at VSCode and I understood the repository really quickly.
What’s a unique challenge you worked on this summer? How did you overcome it?
One of the more different things was the process of converting GraphQL JS to TS. Especially with the GraphQL foundation that we didn’t have enough control over. I came up with different solutions that seemed reasonable and even the GraphQL foundation could get behind.
Did you discover any new passions this summer?
The work I did here was pretty similar to the work that I was doing at VSCode. I guess snapshot testing is really cool! I also find it a bit dangerous. I first discovered it in Apollo Server when snapshots would break and I would fix it by editing the snapshot. In the server codegen I used the TypeScript compiler API as a way to test generated type definitions which isn’t something that I’ve seen any one else doing.
What surprised you the most about the team?
I was surprised by how distributed everyone was geographically and how well we were able to work together despite that. At Microsoft it was similar but we didn’t have individual people everywhere. So that was new and it all seemed to work out really well!
What piece of advice would you give to next year's summer interns?
Stick around for the dinner and board game nights!! Also be sure to collaborate with your engineering manager on the future paths of your projects! It’s a good idea to do that early to get an idea of timescales and see where that piece fits into Apollo!