Ramya Nagarajan

2017 Summer Intern

Ramya joined us this summer from MIT, where she is studying Electrical Engineering and Computer Science. Ramya is a member of the TechX club at MIT and was a Girls Who Code club ambassador. She has previously interned at Andreessen Horowitz.

Ramya joined the Open Source team and spent the first part of the summer re-designing and implementing a new data loading bridge in the Apollo Client Devtools, to more efficiently pass data through the chrome extension. She improved the data loading process by changing it from a polling-based system to a push-based system. Later in the summer, she worked on some of the other Apollo open source projects, namely adding front-end features to Apollo Launchpad using various React libraries. She also wrote a long-awaited tutorial on pagination using Apollo Client.


How did you get into Computer Science?

I did a summer program called Girls Who Code the summer before my Junior year of high school, and I took classes in high school and community college before I got to actual college. I took regular intro to CS and into to object oriented programming, and my senior year I took AP CS. I knew I wanted to do CS before I even got to college.

What made you choose Meteor?

It just seemed a lot more interesting than the other companies I had offers at. One of the other companies is the type that just mass recruits people and I didn't feel like they cared about their interns and would give us things that mattered. I felt like at Meteor I would learn the most and the projects I'd work on would be actually important.

What was it like working on open source?

It's really cool to work on open source because there are random people on the internet filing pull requests for the stuff you're working on. It's cool to interact with people you've never met who you don't know anything about, but they're still working on the same stuff.

It was really cool with my devtools project, because I had a bug that was throwing off a lot of people because it wasn't handling errors properly, but I couldn't reproduce it. I got to work with one contributor really closely who could test my changes and we sent the fix to him to test and verify it before we released it to everyone else. I couldn't replicate the errors on my end, so I worked closely with him to make sure my solution fixed his problem. It's just really cool to get to interact with so many people, even outside the company.

What’s a unique challenge you worked on this summer? How did you overcome it?

We were trying to add a Prettier button to Launchpad, but the version we were using was incompatible with the version running on our own code and we ended up having to find a custom version of Prettier that ran in parallel with the regular function of Prettier to make it work. We had to fork a special version of Prettier and change a bunch of names and jump through a lot of hoops to get the multiple versions to work together in harmony. It was funny because all the changes felt illogical, but ended up coming together in the end.

Did you discover any new passions this summer?

Running! I'd run a lot before the summer, but I never really enjoyed it until now. It's a really nice way to unplug and get outside.

What surprised you the most about the team?

I remember my first day here I was filling out forms, and I had a meeting with Zhenya between filling out forms. He asked me, “How's filling out your forms going?"" and I said I was almost done. But he amended his question asking if there was anything he could do to help me fill out my forms, not to ask me if I was done yet.

People always ask “How's it going?” in the context of wanting to help you and wanting to figure out how they can help more, not in the context of asking how much you've gotten done. People really go out of their way to help you and that's what's really surprised me in a good way.

What piece of advice would you give to next year's interns?

It's helpful to know React + ES6 if you're working on open source. You should be open minded, and stereotypes of what it means to do frontend or backend development don't always fulfill themselves. You might find that you actually like something you thought you wouldn't!