December 17, 2020
Introducing the Plaid Apprenticeship Program
Eric Sprauve & Ryan Morehouse
Building an inclusive community has always been a driving force for the engineering team at Plaid. We build products that power thousands of fintech apps that support our mission to unlock financial freedom for everyone. A critical component of this is making sure more people have access to the financial services they need.
We know that making sure the people building the product are as diverse and well-rounded as the communities we want to serve is very important. That’s why we created the Plaid Apprenticeship Program, which invites talented candidates from non-traditional software engineering backgrounds to build at Plaid.
How we came up with this idea
Oftentimes engineering recruiting can be focused on traditional coders with a background in computer science. The reality is that successful engineers can also have diverse professional backgrounds and prior careers in different industries. In fact, one of us (Ryan) went to school for Math and Spanish Literature and picked up coding while working in a tech support role. Career pivots like this can be challenging and that’s why we wanted to create this program to help more people get into the space. For us, having a degree in computer science or previous work experience in software development can be meaningful - but so is being able to demonstrate skills from a past career in any field.
As engineers and problem solvers, we tackle so many open-ended, difficult problems everyday. Our hope is that apprentices can bring new perspectives and approaches to problem solving that help us to further our mission to unlock financial freedom for everyone.
We started the recruiting process by engaging with several local coding bootcamps in San Francisco. While our primary goal was to recruit people with non-traditional software engineering backgrounds, having some technical skills was important for any candidate to be successful in their role. We attended bootcamp demo days to hear new grads present their final projects, talked to them about Plaid and our apprenticeship program, and encouraged them to apply.
After receiving a number of applications, we invited several candidates to participate in our interview process. We built an entirely new interview process focusing on key aspects like translatable non-technical experiences, drive and initiative to independently learn new skill sets, project management, and collaboration. Orienting our interview program to assess these really important skills helped us streamline the process to make sure that our apprentices were well-rounded in their skills and able to scale up quickly to take on impactful challenges at Plaid.
The interview process
We designed the interview process by identifying specific goals that helped guide us identify the right candidates for this program. The interview process started with two online entry-level coding challenges that tested candidates on coding proficiency. Things we looked for included coding fluency, code cleanliness, thought process, and testing.
From there, candidates that passed both the initial coding screen then moved onto a hiring manager interview where they were asked a series of questions to help us assess their communication skills.
The final round of interviews, or “onsite” as we call it, included another coding exam that we pulled from our typical interview slate. As opposed to asking candidates to complete the task in 60 mins, we extended the length of the task to 90 mins. The final step included a few more conversations with candidates that assessed their overall skills like motivations, opportunity identification, collaboration, and more. We asked candidates about professional experiences that could give us a glimpse into how they handle conflict and collaboration.
As champions of the apprenticeship program, we met with all final candidates as a last step.
Mentorship and feedback loops
Now that we’ve talked about the process of bringing in these candidates, another key focus area for us was making sure we set them up for success. That meant everything from developing a comprehensive onboarding experience to ensuring that apprentices have the right mentorship and context on Plaid to succeed. Each apprentice is paired with a manager that focuses on providing structure and guidance on the apprentices’ day-to-day job, and they are also paired with mentors that help coach and give them feedback.
We were very intentional about developing a program that both helps apprentices succeed in their roles and provides coaching needed to help them grow their careers. Apprentices meet with their mentors weekly to discuss status on various projects and expectations, are given an opportunity to provide feedback to the program lead a few weeks in, and have formal check-ins with their mentors every four weeks. Mentors also calibrate with the program lead and engineering managers every six weeks. Additionally, apprentices can share their feedback through frequent surveys and monthly self-check-ins. The purpose of all of this is to ensure the program runs smoothly, particularly in its first iteration during this unique year. We want to make sure that we’re able to pivot as necessary to provide the best possible experience for apprentices.
We’re excited to report that we’ve welcomed our first cohort of apprentices supporting our Financial Identity, Conversion and Developer Experience product teams. Since the apprentices have joined, we’ve seen increasing comfort levels in their asking questions and a stronger understanding of key technical concepts. They’ve also taken on the programming languages we use remarkably quickly, and we look forward to seeing how they continue developing their technical skills at Plaid.
Our goal is to continue expanding the Plaid Apprenticeship Program in the future. As this continues, we’ll be sharing more updates, insights, and lessons learned with you.