Jason joined the open source team this summer where he had the opportunity to work on the VSCode extension and touch a few parts of the Apollo Graph Manager. He became a hero in the open source community as he worked through the issue threads in GitHub and addressed bugs that community members expressed real concerns about! Not having any experience with GraphQL before, Jason mastered it in no time just by reading the Learning GraphQL O’Reilly book! After establishing himself in the client world, he made significant improvements to the client developer experience when using Apollo VSCode.
How did you get into in Computer Science?
All the way as far back as middle school when I got my first laptop I played a bunch of random video games and tried making my own game. I started off by making 2D games and then started learning C++ with OpenGL. Working on that during my free time and finding out documentation online gave me a good set of skills to work independently. High school didn’t provide computer science classes but I did take online AP computer science classes during junior year. I knew I liked computers when I started programming but didn’t realize software engineering was a career path until junior year of high school which then prompted my desire to go to MIT because of their CS program!
What made you choose Apollo?
What was it like working on commercial products?
I worked on the VS code extension and Apollo Client and touched a few parts of the Graph Manager. I had a great experience working with open source projects and had never worked on anything as big as Apollo Client. Going through all the issue threads and figuring out how to contribute to the project and report bugs was really cool to experience. I learned how to prioritize issues and address bugs and make long term design decisions by discussing with Hugh and James. It was interesting to learn what it means to keep the community up to date and how to handle community backlash. Facing issues with Apollo client made me feel really good because I knew that I was fixing things that people expressed real concerns about! What makes it even better is that Apollo client has 1M downloads a week.
What’s a unique challenge you worked on this summer? How did you overcome it?
This summer I got to work on the the VSCode extension. I worked on adding features so that local state management would work better and show actual errors if things were inconsistent that would otherwise surface on runtime. Learning the code base for that was hard and the closer I got to finishing, more edge cases appeared that I needed to think about. it was also tricky because the community uses the Apollo client in many different ways. There was a tradeoff between making the VS code extension powerful and easy to use versus making it how people wanted to use it. Didn’t anticipate this going in but it was a unique challenge nonetheless. Trying to support all those use cases while delivering maximum value that the extension could have was an interesting challenge that I faced.
I eventually overcame this by consulting other members of the team and community members, who tested my work and left feedback.
Did you discover any new passions this summer?
It’s my first time using Slack with a large amount of people. It’s really cool to see how interactions work there when the team is part remote. Normally in the past I only worked with people who were right next to me so communication was easy. But I found a love for the remote culture and remote collaboration at Apollo. Also StoryBook is really cool! I’ve never worked with React components in such an organized way!
What surprised you the most about the team?
I was really surprised that there were so many remote members of Apollo and that they were still able to communicate effectively. At some point it became normal for me! Everyone in town week helped me get to know the team and interact with them outside of work (like playing card games). It became usual to have a video chat with my manager! Also Apollo is doing a great job at diversity! I believe this contributes to the great culture here which is also hard to find at other companies.
What piece of advice would you give to next year's summer interns?
I would say, “Don’t be afraid to ask questions!” I was definitely was afraid in the beginning to post in large slack channels with questions but I got over it eventually. Oh and Read the O’reilly GraphQL books! Not having any experience with GraphQL is tough and overwhelming. The book serves as a nice guide of GraphQL and all the concepts in general. It’s good to get two points of view on GraphQL and I think it helped a lot down the line.