Summer 2019 Engineering Interns: A Look Back


Updated on September 26, 2019
The Plintern team from front to back: Andrew Chen, Jennifer McCleary, Sarafina Smith, Lujing Cen, Owen Gillespie, and Jarrod Dunne. Not pictured: Eric Fortney
The Plintern team from front to back: Andrew Chen, Jennifer McCleary, Sarafina Smith, Lujing Cen, Owen Gillespie, and Jarrod Dunne. Not pictured: Eric Fortney

With the end of summer, it’s time to bid farewell to our wonderful Plaid interns, or Plinterns as they’re known throughout our offices. Before they left our San Francisco and Salt Lake City offices to head back to school, the team sat down with us to share their experiences at Plaid.

Lujing

MIT, Class of 2020

Lujing celebrating Plaid Pride in San Francisco.

What projects did you work on this summer?

Webhook verification: Developers can now receive a verification token in the header of all outgoing webhook requests to verify the webhook’s authenticity using JSON Web Tokens (JWT).

Client-scoped webhooks: Developers now have a way to configure webhook event subscriptions through the Developer Dashboard, such as institution health and system status updates.

What made your projects particularly challenging or interesting?

Both of these projects involved deeply understanding customer needs during the spec writing process. For example, there is no industry-standard implementation for webhook verification, so our implementation had to be driven by understanding our clients’ needs and tailoring a solution that worked for their specific use cases. For client-scoped webhooks, determining how customers would respond to a webhook informed what fields we needed to provide and what events were noteworthy.

What new skills did you acquire?

I learned a lot about the process of writing specifications and collecting feedback. I had never scoped out a project on my own before at a previous internship, and the experience I got at Plaid gave me opportunities to develop my communication skills and my knowledge about system design. I feel fortunate to have had trust from my team to do this.

What was your proudest accomplishment?

I was really proud of working on the team that delivered a project that won the Honorable Golden Platypus award at Plaiderdays! Plaiderdays is an internal hackathon that occurs 2-3 times a year where Plaids divide into small groups to build projects that will improve or add value to life at Plaid. I happened to be on the winning team and the project is currently being shipped to beta clients! I feel proud to have provided technical contributions to help drive it to completion.

Jarrod

Rice University, Class of 2020

Jarrod presenting his summer project at our Intern Showcase at Plaid HQ.


What projects did you work on this summer?

Cloudwatch Exporter: Internal metrics previously only available via AWS Cloudwatch are now integrated with our Prometheus monitoring stack for centralized alerting and metric reporting.

gRPC mTLS: Inter-service communication over gRPC can now occur over authenticated and encrypted channels through Mutual Transport Layer Security.

What made your projects particularly challenging or interesting?

Interacting between AWS and Prometheus had a lot of non-obvious considerations such as rate limits and timeouts, which had to be taken into account when coming up with a working design. The mTLS project required coming up with a detailed rollout plan since the changes we were making were not backwards-compatible out of the box.

What new skills did you acquire this summer?

I familiarized myself with AWS and Docker, gained experience deploying, scaling, and debugging services, and learned a bit of Go. Through writing the spec for my second project, I learned more about designing a project, communicating it effectively, and working cross functionally with other engineers to make better technical decisions. A lot of consideration was put into security design principles like certification chain expiry and refresh policies.

What was your proudest accomplishment?

My proudest accomplishment was deploying and debugging the gRPC mTLS. The project in itself was a lot of work, but overall a great learning experience and truly satisfying.

What was the most memorable moment from your internship?

Staying late one night for Plaiderdays (our internal hackathon) was fun. I worked on my team's project until midnight, then I played games and sang karaoke with other employees until finally crashing in a hammock at the office around 4 a.m.

Sarafina

UC Berkeley, Class of 2020

Sarafina (middle right) in a Plintern pyramid.


What projects did you work on this summer?

City and State Transaction Data Pipeline: Improvements to the city and state data for our transactions required integrating that data with our existing ML pipelines to establish baseline measurements for our current solution’s precision and recall.

Transactions Enhancement Machine-Learning Service: Transactions returned by Plaid now have improved city and state merchant data supported by improvements to a machine learning (ML) model that better tokenizes and labels transaction descriptions.

What new skills did you acquire?

I learned how to create and launch a microservice from start to finish, from adding it to our local development environment to getting it running on production infrastructure. I also got to interact with the Python machine learning ecosystem as I helped to develop a model that tokenizes and labels transaction descriptions. It was exciting to add a model that runs on all of the transactions that Plaid processes and see how it fits into the overall system architecture!

What was your proudest accomplishment this summer?

Nearly doubling our coverage of city and state data for our Transactions product. Seeing this jump on the dashboard for the first time felt like a big accomplishment. I also handed off my project to the NYC Transactions Enhancements team, which was a cool experience as it taught me about cross-team collaboration and documentation – I gave an overview of transaction improvements and then helped align future work by collaborating with the team’s product manager.

What was the most memorable moment from your Plaid internship?

My team went on a business trip to New York, and we had a couple of events scheduled in the evenings, so I asked in advance what day would be best for me to book tickets to a ballet performance I was excited about. I was planning on going by myself, but in the end, my whole team wanted to come with me! I was nervous about bringing people without dance backgrounds to a show that was a bit experimental, but everyone had a great time.

Andrew

MIT, Class of 2020

Andrew, third from far right, with Plintern team.

What projects did you work on this summer?

Link Account Subtype Filtering: Added a new feature to Plaid Link that allows customers to filter Liabilities by account type and subtype.

Credit Card Liabilities: Launched a new product that gives developers access to credit card account details, payment timing, and loan terms.

What new skills did you acquire?

I learned how to work well with other teams and integrate my changes into new code—I got code reviews from 12 people and worked across nine repos! I also developed a much better product and business sense, which is something I really wanted to improve this summer.

What was the most memorable moment from your Plaid internship?

My most memorable moment was making Mario-themed shoes with my team in New York. We went to a paint studio and painted one giant, connected Mario level over six pairs of canvas sneakers. The picture is on Plaid’s Instagram. (Go check it out!)

Eric

Brigham Young University, Class of 2020

Eric (left) spends time with his mentor outside Plaid’s Salt Lake City office.


What projects did you work on this summer?

Bank Integrations Performance Improvements: Reduced the network latency of several of our core bank integrations by investigating and documenting an assortment of approaches to improve their performance.

Why was it important?

A number of reasons – our banking integrations sit at the crossroads of banks, financial applications, our internal infrastructure, and consumers. Consumers want a frictionless experience when going through Plaid Link so that they can quickly connect to financial applications, and the latency underlying our bank connections is often the bottleneck to that experience. Additionally, performant integrations reduce network and compute resources both for our internal infrastructure and for banks’ infrastructure, making it a win-win.

What made your projects particularly challenging or interesting?

The nature of the work was very free-form and involved a lot of independent investigation. Most of our wins in reducing latency depended on the nuances of a specific bank integration, meaning that improvements sometimes required tailored solutions rather than simple fixes. Ensuring that the right metrics were picked to target the highest impact improvements was a big focus point of the project.

What new skills did you acquire this summer?

I learned a lot about reverse engineering, from deconstructing APIs without any documentation to dynamically generating website cookies on the fly. I also learned best practices on many of the fundamental security techniques used to protect our digital data.

What was your proudest accomplishment?

Playing a significant role in a major bank integration re-write that affects millions of users!

Owen

Harvey Mudd, Class of 2020

Owen (right) at the intern hike on Angel Island in San Francisco Bay.

What projects did you work on this summer?

Production Data Replay: I added a replay mode to our internal command-line interface. This lets us deterministically replay production network interactions with banks in a local development environment for debugging.

Bank Integration Rate Limits: I implemented a general rate limiting system using Redis for our bank integrations to ensure that Plaid's outgoing requests to banks is stable.

What made your projects particularly challenging or interesting?

Adding the replay feature was challenging to design because of how heterogeneous each bank integration is. The tool needed to remain simple for developers to use while being flexible enough to be used for any bank.

The rate limiting project was challenging because it was only a small component of our overall system. To arrive at a good solution I had gather requirements and constraints by meeting with many engineers across the company, weigh tradeoffs, and tune the final product in production. It was also my first time using Redis.

What was your proudest accomplishment?

While working on replay mode, I found a source of non-determinism around our handling of random numbers. I drove a solution that eliminated the behavior, and although it was a simple change, it was exciting to take ownership around technical decisions I felt strongly about and drive the change required to fix the issue.

What was the most memorable moment from your Plaid internship?

For our internal hackathon, Plaiderdays, we have a celebratory party to conclude the week. One standout moment was singing karaoke with all the other interns during the Plaiderdays after-afterparty!

Jennifer

MIT, Class of 2019

Jennifer (middle) at the intern hike on Angel Island.


What projects did you work on this summer?

Digital Signatures: I used public-key cryptography to implement digital signature verification to ensure that the data we send to banks is consistent with the data we receive from clients.

Transactions Data Enhancement Improvements: I worked on a not-yet-released feature that will allow us to improve the data quality of our Transactions product. Improving our product is a great way to keep our clients happy, especially as we expand internationally!

What new skills did you acquire?

The internship consisted of two projects, the first of which was fully specced out before the interns arrived. The second project was not specced, which meant that I got to fully own the planning process before beginning the project. This meant a few things: I had to make my own design decisions; I had to identify all of the relevant systems I would have to modify and new libraries that I would have to create; and I had to find the relevant stakeholders within Plaid who would have input on the project and ask for feedback on my project design from them. Being able to drive the technical spec for this project myself was a huge learning experience for me. I knew how to code and interact with large codebases, but working on the spec gave me a lot more experience thinking about tradeoffs in various design decisions, communicating with engineers across different teams, and explaining my ideas in a clear manner.

What made your projects particularly challenging or interesting?

Implementing digital signatures was tricky because of differences between language ecosystems and implementations. For my second project, there was a lot of ambiguity that had to be resolved in the speccing process, like whether the data would be exposed to end-users or whether it would be purely programmatically accessed.

What was your proudest accomplishment?

My Plaiderdays project with Lujing, Andrew, and Sarafina! After I presented with the other interns, the company voted and we ended up winning the Honorable Golden Platypus award, which was the cherry on top!


Each summer we look forward to welcoming our new Plintern class. We strive to create a memorable experience that encompasses professional learning and growth, opportunities to create impact, and having fun! Many thanks to our incredible Plinterns for their hard work and all the energy they brought to their teams this summer.

Interested in becoming a Plintern or joining the Plaid team full-time? Check out our open positions, and learn more about how we’re building the world’s financial infrastructure by visiting our Careers page.

Join us!