June 07, 2022

SPIN a more customer-centric engineering culture at Plaid

Q&A with Plaid engineer Yulia Barannikova

Plaid’s engineering team launched a SPending INsights virtual pod (SPIN pod for short) that makes it easier to collaborate cross-functionally and empower developer customers to build and scale with small product improvements. Learn how the SPIN model improved the Plaid customer experience and internal engineering team dynamics from Plaid engineer Yulia Barannikova.

Q: What were the biggest challenges facing Plaid’s engineering team? 

A: Plaid engineers have always championed customers, providing them with the tools they need to create innovative fintech apps and services. But this became more challenging as Plaid’s developer customer base grew to 6,000+ financial apps and services. 

Product teams needed to operate in a more customer centric fashion. These teams were organized based on products and internal services, so when customers identified a problem that cut across multiple teams, it was unclear which team should own the solution. 

Engineers were also removed from customer feedback, making it difficult for them to internalize frustrations with the user experience. They would hear about customer pain points filtered through our go-to-market teams and had to weigh these customer concerns against projects on their roadmaps that had more clear ROI (revenue, conversion increases, etc). So valid customer problems would continue to get pushed back quarter to quarter.

Q: Where did you see an opportunity for improvement? 

A:  We saw an opportunity to remove friction between teams, allowing work across teams and traditional ownership boundaries. After all, customers don’t care who owns their problem, they just want it fixed!

Our engineering team of 360+ was excited to step up and redefine the customer experience in new ways. We wanted to continue delivering a stellar customer experience while also creating solutions with a high level of technical craftsmanship, focusing on how code is designed and not just what it does.

Q: Tell us about the origins of the SPIN working model

A: Plaid’s engineers decided to take a step back and reevaluate how they were supporting the diverse needs of their customers, delivering products with the best design and data quality, and providing a unified customer experience. This meant sitting down with customers, learning about their pain points, and quickly moving to address them. 

That’s when the engineering team launched the SPending INsights virtual pod (SPIN pod for short), a working model that allowed cross-team engineering collaboration. We wanted to use the SPIN pod to better understand how customers were building and scaling full solutions with Plaid instead of just how they were using individual products. 

Q: What was unique about the SPIN pod structure? 

A: Our SPIN pod used a cross-functional approach so we could see an engineering challenge from every angle and truly appreciate the big picture. I worked with a dynamic group of engineers from across the company including product, developer experience, and financial access teams. Each pod was organized around a specific set of customer problems.  

This structure is unusual because engineering teams in our industry typically plan their work autonomously making it difficult to prioritize a coordinated multi-team effort. Plaid created a new team dynamic with the SPIN pod. For the first time, many teams synchronized their schedules and focused as a group on the customer experience. This structure created a unique opportunity for our team to dive deep into customer needs, ship impactful improvements quickly, and build relationships with engineers across product groups.  

Q: How did you decide which customer problem to tackle? 

A: Our team decided to explore the needs of Plaid’s spending insights customers who develop fintech apps and services that assist consumers in managing their financial health with tools to help them budget, borrow, manage payments, increase their savings rate, and much more. 

We reached out to this group during a customer discovery event and learned that they didn’t have transparency into Transaction data freshness. Customers didn’t know how often a consumer’s transaction data was being retrieved from each institution. So when a consumer called asking, “Why don’t I see my recent transactions?” our developer customers couldn’t tell if there was a problem with their product or if the account data had not yet been refreshed. The information was in Plaid’s system but it wasn’t externally visible.  

My team came up with a proposal and convinced our colleagues that this was the right thing to do for our customers. Engineers at Plaid have lots of freedom when determining how to prioritize customer needs. We decided that building a solution that improves transparency around Transaction data freshness, is impactful, and serves customer needs.  

Q: How was success achieved? 

A: We dug into our system and came up with alternative ways of calculating and surfacing transaction freshness metrics. This was a challenge because traditionally these metrics were only instrumented for internal consumption and definitely could not be used in a live production view. 

The SPIN pod worked iteratively and collaborated with customers. For the first two weeks, before building anything, we iterated with the two selected customers on the data they would find most useful. It was the first time I was able to co-develop with customers and having such a quick feedback loop helped us align on technical decisions.  

Our initial MVP was just daily snapshots from our internal BI tool. We did this until we mutually agreed with customers that the new transaction data would fully solve their use case. After this, we had a lot of clarity on what we needed to build.

The feature we built lets customers quickly monitor the freshness of Transaction data and the percentage of items (transactions retrieved by Plaid) that have been updated over a specific time interval. Our pilot customers loved it and we shipped this feature on the Developer Dashboard that was later launched to our entire customer base.

Plaid’s Developer Dashboard now reports Transaction data freshness 

Q: How did this change Plaid’s approach to product development? 

A: The SPIN Pod structure helped Plaid create a more holistic approach to product development by aligning priorities between engineering teams, account managers, and customers. My team has adopted a habit of co-developing with a customer partner to deepen our impact. We have also built upon our empathy for end-users and the challenges they face, and instilled a better understanding of Plaid’s product managers who advocate on behalf of customers. Since the SPIN pod ended, Plaid engineers have remained a more cohesive group and now share best practices across divisions.

Q: How did the SPIN pod impact you personally?

A: I built new connections with engineers from other teams. It wasn’t easy to meet new people in a remote environment but collaborating on a common project helped me make new friends at Plaid. After the virtual pod disbanded, I ended up utilizing my knowledge of the new stack and working with the DevX team on another high impact initiative (OAuth migrations). Now, one of the engineers I worked with on data freshness is helping me learn front-end development!

It’s rewarding to know that many other customers will benefit from the solutions my team built. I’d be eager to join another virtual pod in the future. 

Q: What did you learn along the way?

A: While the virtual pod concept was a good way to shake things up within our engineering teams, we would like a more scalable approach for future projects and a better framework for coordinating how to solve customer problems. I’d also like to appoint a key contact at each customer site to ensure transparency and timely feedback on our product improvements. Finally,  I’d like to include non-engineering team members from marketing or design in a future virtual pod.

Ready to build the future of digital finance with Plaid? We’re hiring for engineering roles across our teams. If you're interested, click the button below.

Yulia Barannikova is an engineer on Plaid’s Liabilities, Investments and Transactions Team. Her team’s mission is to provide access to unique and compelling data about a user's financial transactions that is easily understood.