How to Make Tech Talent Hiring Better (for candidates & companies)!

Jeremy Jessup
Intuit Engineering
Published in
10 min readJan 24, 2022

This blog post is co-authored by Jeremy Jessup, Staff Software Engineer in the Intuit Consumer Group, and Brian Schick, Staff Software Engineer in the Intuit Identity Platform Team.

Intuit’s ability to drive innovation, achieve technological excellence, and fulfill our mission to our customers is rooted in our global engineering culture. That makes hiring one of the most important things we do.

As with product development, we continuously tune Intuit’s approach to “assessing for awesome” (A4A) to help us make more informed decisions about candidates — and help them make informed decisions about us. In addition to offering candidates an opportunity to fully showcase their unique talents and abilities, we want them to come away with a firsthand understanding of who we are and how we work together. That’s why we’ve designed an interview experience that reflects the actual working environment a candidate would experience if they joined our team.

As engineers, we’re always looking for interesting problems to solve, and solutions that can make a difference. Having gone through the Intuit hiring process as both candidates and interviewers, a few of us saw an opportunity to make the experience more meaningful for both candidates and the employees assessing them.

After all, hiring is a two-way street. In a competitive talent market, we know that the quality of the experience can make all the difference.

The Team!

In this blog, you’ll learn about the key principles behind a refreshed hiring process developed as an experiment with a small team in the Intuit Consumer Group for iOS developer hiring. What began as a passion project with talent acquisition is now being adopted within other organizations by:

  • Applying engineering principles and Intuit’s Design for Delight (D4D) methodology.
  • Making the process an authentic reflection of our culture and values.
  • Enhancing our ability to evaluate each candidate as a whole person, as well as their ability to evaluate the opportunity at hand and the team vibe.

Approaching the interview as an engineering problem

At the outset, we approached the project as an engineering challenge. In this case, our problem-solving wasn’t about technology or functionality, but humanization. That is, bringing our culture and values into the interview experience.

As with any Intuit engineering project, we proceeded according to the principles of our company’s Design for Delight (D4D) and Customer-Driven Innovation (CDI) methodologies:

  • Deep customer empathy — focusing on the personas and needs of prospective talent.
  • Go broad to go narrow — exploring a variety of potential solutions before zeroing in on bold solutions with the highest likelihood to address those needs.
  • Rapid experimentation — testing our solutions with prospective talent to learn quickly what works and what doesn’t.

After experimenting for a few months in mid-2020, we threw ourselves fully into the project during Intuit Global Engineering Days (GED) in April 2021. A favorite program for Intuit technologists, GED is a week-long, biannual event in which engineers throughout our organization are encouraged to put their regular work aside and focus on a passion project. This could mean fixing a bug, improving a flow, adding a feature, integrating a tool, whatever fires their imagination. It’s a great chance to explore new things as well as to work across sites with people on other teams.

Intuit Global Engineering Days 2021 — Choose your adventure — and your avatar!

For our team, the goal wasn’t as much to ship code as to reinvent an organizational process — but it was an engineering task nonetheless, and one with exciting potential for Intuit.

One of the best parts of GED is that it offers windows to connect with senior leaders who can give feedback, help make connections, and give guidance. We were fortunate to have met with Intuit CTO, Marianna Tessel, and Chief Architect, Alex Balazs during the week to get buy-in, and their enthusiastic support gave a welcome boost to our efforts.

Assessing for Awesome (A4A)

As a baseline, we built on established Intuit hiring practices, such as:

  • Team interviewing
  • Pool hiring
  • Real-world craft assessment

The hiring teams at Intuit are composed of employees who have been nominated to represent Intuit’s core values and trained in the hiring process. Our A4A process is designed to create a collaborative experience. Our aim is to give the candidate a sense of the kind of people they’d be spending their days with, and vice versa.

For the past several years, Intuit has also used “pool hiring” to help us acquire top talent more efficiently. With this approach, candidates apply for composite job postings encompassing multiple similar roles, and are interviewed by diverse teams across Intuit. This helps us ensure a uniform evaluation standard to maximize hiring opportunities and reduce implicit bias. Considering candidates with a wider lens for a variety of roles fosters internal job mobility, which in turn supports continued development and growth.

Within the interview process, A4A serves as a central stage that consists of several small group meetings spanning a few hours in total, typically on a single day. In the first meeting, candidates participate in a craft exercise. Here, they demonstrate their proficiency in a target role by writing an application and then presenting it to the entire team. In subsequent meetings, candidates meet with smaller groups of engineers and people managers in a more traditional and conversational format.

Evaluating candidate skills in a real-world context

Originally, the craft exercise was a self-paced take-home activity for candidates to complete ahead of their A4A meeting, in which they would present their solution to the interview team. A key advantage of this approach was that candidates had a blank slate and unlimited time to craft a solution in any way they’d like. While this led to a broad range of solutions, their diversity made it difficult to fairly compare and contrast competing candidates. Many candidates also pushed back against being assigned “homework.” In response, we integrated the craft exercise into the A4A interview process itself.

This gave us the ability to time-box and normalize the candidates’ work. However, the exercise used as a take-home wasn’t suitable for this reduced timeframe, with most of the session spent creating basic scaffolding code rather than exploring the problem’s nuances and challenges. In short, we weren’t able to get the same depth we had before. So, we began exploring ways we could get directly to the core challenges presented by the problem. We soon focused our efforts on:

  • Realigning the craft exercise with Intuit’s hiring rubric.
  • Providing boilerplate code for basic infrastructure.
  • Creating user stories to enable an Agile approach.

Applying the hiring rubric

Stepping back, the fundamental goal of A4A is to assess each candidate holistically in as close to a “real- world” context as possible. At the end of each interview, the hiring team is asked to evaluate the candidate against a standard rubric, which includes a variety of categories like programming fundamentals, design and architecture, communication, and operational excellence. We refreshed our process to help us answer these questions.

Although there are occasionally new projects, our engineers often work in an existing codebase on products like TurboTax, Mint, or QuickBooks. For the craft exercise, we wanted to consider approaches that more closely reflected the job role.

Often, we’re looking to explore common computer science concepts in the craft exercise without any expectation that there’s a singular solution. Rather, we want candidates to have creative flexibility to arrive at a variety of possible solutions, as with the original take-home version. All too frequently, these types of exercises function as a “test” of the candidate’s ability to come up with the “right” answer. Here at Intuit, we’re just as interested in the way they think, work, and interact in a collaborative atmosphere to simulate a team environment.

Providing boilerplate code

Understanding that candidates need to create similar boilerplate code to provide basic infrastructure, we experimented with giving the candidates a template application that included basic networking functionality and a simple set of views to display the retrieved data. While this approach showed promise, it raised several new challenges related to working in a new codebase: style and scalability.

To help orient the candidate, we wanted to make sure the pre-provided code was easy to understand and adapt. We added a design doc and comments to key sections of the project, and minimized the use of class abstractions so the template classes were self-sufficient. We also wanted to allow the candidate to own the final solution so while the initial code was adequate, there were also opportunities for improvement.

We started experimenting with this approach in interviews, using candidates’ responses to help us refine the craft exercise. Some would happily accept the classes and methods provided, while others would refactor it to be more generic or want to step through it to make sure it was working as expected. We found that it saved candidates time and allowed them to extend the app more than before. Even better, we found that this gave us another opportunity to talk to candidates about the tradeoffs of different approaches and what they might do differently with the given code.

Applying Agile

For candidates who are already feeling the pressure of an interview, being presented with a completely unstructured problem can be overwhelming. Intuit teams typically work in an Agile environment leveraging product owners and user stories to drive work priorities.

To help ease candidate anxiety and provide some structure, we developed user stories to describe how the pre-provided code might be extended or enhanced. The user stories were intentionally simple to avoid dictating a technical approach while encouraging a dialog between the candidate and the interview team: “As a user, when I select an item from the table view, I would like to see more details about it.”

In practice, user stories provided a great framework for both candidates and the interview team. By supplying a “menu” of possible user stories, candidates were given the freedom to determine which stories to address in their craft exercise. Simply written, they prompted candidates to communicate interactively with interviewers to mutually determine the “definition of done.” This allowed us to scale the user stories relative to each candidate’s target role and gave us critical insight into that candidate’s communication skills.

As we further refined user stories, we mapped each story directly to our rubric to ensure we applied consistent, standards-based evaluations to each candidate interview. Last, candidates were asked to commit their work for each selected user story to a specific .git commit. Practically, this aligned with the same development process we follow and allowed the interview team to easily review the code changes as a pull request.

Crafting clear and concise user stories that meshed with template application code was challenging. We often had to either tune our template code to ensure that it could be extended as described in each user story or improve the clarity and conciseness of a user story so it better matched template code and could be meaningfully completed within the allotted time. User stories offer a much wider refined lens into each candidate’s real-world skill set, allow us to evaluate a wider range of tasks, and best of all, enhance the level of freedom and self-determination for all our candidates.

Going live — and remote

When the Covid-19 pandemic erupted, like most tech companies Intuit pivoted to a fully remote, work-from-home workplace in March 2020. Rather than delaying scheduled candidate interviews, the Intuit mobile group proceeded as planned, using our new process in a remote hiring context. Our methodologies proved to be ideally suited for remote hiring, making the project especially timely and valuable.

Building both talent and culture

The most recent iteration of our A4A hiring process for mobile technologists has enabled us to more satisfyingly humanize our interview process to enable candidates meaningful and tangible choices in presenting themselves, while at the same time offering us significant enhancements to our ability to evaluate each candidate as a whole person.

The evolution of the craft exercise took place over dozens of interviews and involved carefully captured feedback from the candidates, hiring managers, and interview team on what was (and wasn’t) working with the process. The results have been outstanding:

  • Candidates report enjoying the craft exercise and especially the opportunity to demonstrate their skills together with the interview team. They’re delighted to learn that the process will not involve automated testing, and that there will be no need to prep on LeetCode. Rather, they’ll simply showcase their ability to think and create as engineers.
  • Hiring managers have been pleased to see candidates in a comparable work environment and to have tangible data captured against the evaluation rubric. They’re able to get a better sense of each candidate’s ability to build beautiful apps, and to get to the heart of the evaluation more quickly without the need for preliminary candidate prep and testing.
  • And most importantly, intuit has been able to identify and grow our team with higher quality new hires. In fact, one candidate hired through our new process, iOS developer Ajith Antony, is now sitting on the other side of the table as an Intuit Senior Software Engineer using the process to interview new candidates, and has joined the GED team to help iterate it further.

Since our work during Intuit Global Engineering Days in April 2021, we’ve evangelized our revised hiring process to additional platforms and groups within Intuit around the world. Originally used to hire iOS engineers, we have extended the process to Android hiring, and are evaluating how best to adapt it to other disciplines, such as full-stack engineers. We continue to collaborate on the process, at least monthly throughout the year, using each biannual GED to drive progress.

As members of the Intuit global engineering community, we’re excited to be able to play a role in growing and fostering this culture across the globe. We’re also happy to share our work with others in the industry to promote a more human, candidate-centric experience that leads to better hiring and retention, stronger teams, and more successful technology organizations.

--

--

Jeremy Jessup
Intuit Engineering

As a software engineer, I've created impactful consumer apps that have touched millions of people.