Ariel joined us this summer from MIT, where she's studying Computer Science and Engineering. Ariel is an NYC native and an member of the Kappa Alpha Theta sorority and Camp Kesem.
Ariel joined the Engine team where she worked as a full-stack engineer. She started her internship by contributing to a critical project to rebuild the navigation of the Engine UI. Ariel was instrumental in building out the navigation to adhere to a new design brand and layout. After that she took on the project of building some major new features into the Schema Explorer, which allows developers to holistically view what is in their GraphQL schema and is Apollo Engine's landing page.
How did you get into computer science?
In high school I really liked math and problem solving and was thinking about studying that in college. I realized that computer science was a really good way to apply the same ideas and skillsets to build concrete products, and that appealed to me more than the abstract elements of math. I liked the idea of using computer science to make concrete and real things. That's how I got into CS and product/frontend development especially. I like building things that are visual and interacted with by customers.
CS was actually required in my high school, I took my first class in 10th grade and generally enjoyed coding from there.
What's one of the first things you were proud to build?
My senior year of high school I worked on a project with a few friends. We revamped the administration's scheduling form. They were using an old and ineffective giant excel spreadsheet. My friends and I made a web platform that allowed people in the administration to look at student profiles and see if they had filled the classes they needed for graduation. I was really proud of that because it was the first thing I built that I really felt would be moved forward and used, it was a good feeling.
What attracted you to Apollo and made you want to join?
It seemed like interns here had a lot of responsibility and flexibility, which I really valued in a work environment and is sometimes harder to find for internships especially. When I talked to people in my interviews I could tell that I was really going to be treated like a full-time employee, both in terms of the difficulty in the work I was given and in the company culture, which I've really appreciated. Everyone was super nice and welcoming, and there seemed to be a big focus on mentorship which was important.
What was your impression of Apollo before you joined?
I thought it was in a really interesting transitional state. The company was taking a big leap in building the Apollo platform from the Meteor work you'd been doing before. That really attracted me because it seemed like the velocity would be high and the work would be exciting and fast moving. I think it was the right assessment.
What did you know about GraphQL before you joined?
I knew nothing about it before I started talking to people at the company about it. I'd never used it before my first day, but I've really enjoyed working with it. It's made my development experience as a product engineer a lot different from anywhere I've worked in the past.
What kind of things have you learned that you didn't expect?
On the engineering side, using GraphQL in a web app changes the responsibilities of a frontend engineer a lot. It makes them more responsible for what data they fetch and how efficient that is. I learned a lot about how to structure queries and make them as streamlined as possible. More importantly, I learned how to change schemas when they're not as efficient as they need to be for frontend queries. Learning the GraphQL development process was new and valuable to me, and I gained backend skills as well, not just frontend web development.
I also learned a lot about how startups run from the weekly checkins and our opportunities to talk to the CEO and other founders. I've learned about sales, company cultures, conference talks, blog posts, and other non-technical blog posts as well.
How has your perspective of Apollo changed from when you accepted your offer to now?
When I accepted the offer most of what I understood about the company was focused on open source development. Now that I've been here for a while, I think the company is really focused on growth and building products that can be sold. It's exciting and makes me feel like my work is being held to a higher standard because I know really important customers are using my things, like the New York Times, Airbnb, etc. It makes the work feel really important because huge companies at large scales will be using it. Thinking at scales like that is also something I hadn't encountered before now.
What did you work on here?
The biggest project I worked on was building out the Schema Explorer and a number of features in it that let customers track how their data model changes over time. There is a lot of future work that can be built on my work to give users even more insights and notifications for their schema changes.
What kind of autonomy did you find yourself with here?
I got a say in what I wanted to work on, like the Schema Explorer project. It sounded interesting and I wanted to learn more about full-stack development. I had a lot independence in designing the implementation and approaching it from a high leveI. I got feedback but wasn't directly told what to do or how to build it. I also felt like I had an input on the product side as I was developing things. If I felt like the UX could be better or a small thing was missing for the feature, I would suggest that to our designer and we'd get to add my changes together. I felt like I got a stake in why the feature was being produced and how, which was nice. I felt like I was my own customer for the feature I was building.
What was your biggest surprise about your summer here?
The biggest surprise was how much I felt like a full-time engineer in terms of the team culture and the social aspects of the company. I felt really included in a lot of the social activities and have hung out with a lot of full-time employees outside of work which is something I didn't expect. I feel like I've made close friends, not just with the interns, but with the other full-time employees as well. It wasn't just mentor/mentee relationships.
What advice would you have for new people on the team?
Using Engine and Apollo features to build Engine and Apollo features is a really good idea because you get super familiar with the ecosystems and products and even end up with your own ideas on how things could be changed to be better. Testing the products as they're being developed is a really useful thing here.
Other advice is to reach out to the remote team members early and often, because there are a lot of really cool people doing really cool work who aren't necessarily in the office. They're always willing to hop on Slack calls, and I wish I'd done that more from the beginning of the summer.