Google Interview Scores Fail to Predict Job Performance, Veteran Says

Moishe Lettvin - What I Learned Doing 250 Interviews at Google — Etsy Eng (Etsy Engineering)

Etsy Eng (Etsy Engineering)

Google found zero statistical correlation between technical interview ratings and on-the-job success, proving scalar scoring fails to measure candidates without multi-page narrative assessments and cross-team hiring committees.

AI-assisted summary of Moishe Lettvin - What I Learned Doing 250 Interviews at Google — original source. Check the original for full context.

Source published:

Key ideas

  • Internal data at Google showed zero statistical correlation between interview performance scores and subsequent on-the-job performance, underscoring that qualitative narrative feedback is far more predictive than scalar metrics. (9:39)
  • In a 2007 experiment, Google's strict Kirkland hiring committee reviewed blinded interview packets of its own sitting members and voted to reject every single one of them, illustrating the systemic bias toward false negatives. (6:01)
  • Decoupling interviewing from hiring decisions through cross-functional hiring committees prevents 'island evolution,' a process where individual managers lower standards to meet headcount quotas. (15:05)
  • Technical interview loops carry substantial engineering overhead, consuming roughly three engineering hours per one-hour interview once preparation, documentation, and committee reviews are included. (4:31)

Detailed notes

## Background This talk was published on YouTube by the Etsy Eng (Etsy Engineering) channel on May 21, 2014. No video description was provided by the uploader.

## TL;DR Drawing on his experience conducting roughly 250 engineering interviews and serving on Google's hiring committee for six years, Moishe Lettvin provides an insider look into the mechanics, flaws, and design principles of technical hiring. He explains why Google decouples interviewers from final hiring decisions, demonstrating that single scalar scores fail to predict performance and that detailed qualitative narratives are the only reliable signal. Lettvin advocates treating interviews as generous, collaborative conversations built around multi-layered 'onion' problems rather than stress-inducing gauntlets. He contrasts Google's consensus-driven committee approach with Microsoft's manager-centric model, stressing the necessity of strong culture checks to prevent organizational decay while acknowledging that the standard single-day interview remains a deeply flawed local maximum.

## Atmosphere & style The presentation carries a candid, pragmatic, and self-deprecating tone, delivered with the easy confidence of a 25-year industry veteran sharing hard-won wisdom with his new colleagues. Lettvin peppers technical critique with humor and historical anecdotes—from Microsoft war stories to Google's Kirkland committee inadvertently rejecting all of its own members. The vibe feels less like a corporate recruiting seminar and more like an open, philosophical debrief that humanizes candidate evaluation and challenges conventional tech interview dogmas.

## Bulletin - [09:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=579s) Internal data at Google showed zero statistical correlation between interview performance scores and subsequent on-the-job performance, underscoring that qualitative narrative feedback is far more predictive than scalar metrics. - [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) In a 2007 experiment, Google's strict Kirkland hiring committee reviewed blinded interview packets of its own sitting members and voted to reject every single one of them, illustrating the systemic bias toward false negatives. - [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) Decoupling interviewing from hiring decisions through cross-functional hiring committees prevents 'island evolution,' a process where individual managers lower standards to meet headcount quotas. - [04:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=271s) Technical interview loops carry substantial engineering overhead, consuming roughly three engineering hours per one-hour interview once preparation, documentation, and committee reviews are included.

## Key takeaways - [00:00](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=0s) Google separates the interview loop from hiring authority: 4–5 interviewers gather technical evidence, while an independent hiring committee evaluates the blinded packets. - [04:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=271s) Conducting interviews costs roughly three hours of engineering time per one-hour slot due to prep, multi-page write-ups, and review processes. - [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) Google intentionally favored false negatives over false positives, driven by Steve Yegge's thesis that any qualified engineer faces a 'perfect anti-slate' of interviewers who would reject them. - [09:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=579s) Quantitative hiring scores fail because projecting multidimensional human capability onto a 1.0–4.0 scalar generates uninformative histograms without real predictive power. - [09:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=579s) The rich written narrative explaining how a candidate navigates problems, absorbs hints, and reasons through edge cases is the only reliably predictive component of an interview packet. - [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) Single hiring managers create 'island evolution' by lowering bars under headcount pressure, whereas centralized cross-functional committees maintain unified company-wide standards. - [18:04](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1084s) Interviewers must approach sessions like jazz musicians, preparing structured timings while remaining adaptable enough to pivot when questions are compromised or candidates get stuck. - [22:20](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1340s) A candidate's emotional experience takes precedence over extracting marginal signal, because poor interview impressions severely damage company reputation and recruiting pipelines. - [29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) Effective technical questions follow an 'onion model,' beginning with an accessible naive baseline before peeling back into deeper algorithmic complexity and optimization trade-offs. - [36:30](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2190s) The current tech hiring format of five or six one-hour whiteboard interviews in a single day likely represents a local maximum rather than an optimal evaluation method. - [38:02](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2282s) The practical litmus test for any software hire is whether teammates would feel comfortable holding the on-call pager after that candidate pushes a week's worth of code. - [43:06](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2586s) Technical brilliance cannot compensate for toxic or disrespectful behavior, and a candidate who creates friction should be rejected regardless of raw domain expertise. - [45:34](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2734s) Google prohibited interviewers from communicating before submitting their written evaluations, avoiding the groupthink and anchoring bias common in running email threads. - [54:16](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3256s) Calibrating hints requires avoiding binary or vocabulary-testing questions, allowing interviewers to nudge candidates without simply giving away the algorithmic solution. - [56:33](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3393s) Asking open-ended technical questions such as 'what is your favorite algorithm?' effectively reveals authentic passion and communication skills without triggering rehearsed behavioral scripts.

## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=0s) Introduction: 25 Years in Tech and the Google Hiring Machine

Moishe Lettvin introduces his talk on the lessons drawn from roughly 250 interviews he conducted during his seven years at Google. Having recently joined Etsy’s Seller Economics team four months prior, Lettvin reflects on realizing while preparing the presentation that he has been in the software industry for 25 years. His career path wound through a small time-and-billing company in Massachusetts, two separate stints at Microsoft, a startup, Google, and now Etsy, where he focuses on math, statistics, and distributed computing alongside domain experts. He notes that throughout this career, he was consistently a non-traditional candidate: he dropped out of college after a single semester with a 2.1 GPA, leaving him perpetually nervous entering interviews with a resume conspicuously missing standard credentials.

```mermaid flowchart TD accTitle: Google Interview and Hiring Committee Pipeline accDescr: Diagram illustrating how candidate feedback flows from interviewers into a packet evaluated by an independent hiring committee. subgraph Slate ["On-Site Slate"] C["Candidate"] --> I1["Interviewer 1"] C --> I2["Interviewer 2"] C --> I3["Interviewer 3"] C --> I4["Interviewer 4 / 5"] end subgraph PacketPrep ["Packet Collation"] I1 --> W1["Written Feedback"] I2 --> W2["Written Feedback"] I3 --> W3["Written Feedback"] I4 --> W4["Written Feedback"] W1 & W2 & W3 & W4 --> P["Candidate Packet"] end subgraph Decision ["Independent Review"] P --> HC["Hiring Committee\n(Disjoint from Slate)"] HC --> D{"Hire / No-Hire Decision"} end ```

Lettvin outlines the mechanics of the Google hiring architecture, in which he served on the hiring committee for six of his seven years and taught interview training for six years. Unlike traditional processes where an interviewing panel makes the ultimate call, Google separates assessment from decision-making. A slate of four or five on-site interviewers individually produces written evaluations. These write-ups are collated into a comprehensive packet delivered to a dedicated hiring committee. The members of that committee evaluate the dossier and determine the hire or no-hire outcome without ever having met or spoken with the candidate in person.

- Lettvin spent seven years at Google, six years on the hiring committee, and six years conducting internal interviewer training. - Entered the tech industry without a college degree following a single semester resulting in a 2.1 GPA. - Transitioned to Etsy's Seller Economics team to study distributed computing, advanced mathematics, and statistics.

---

[02:14](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=134s) The Joys of Interviewing: Intellectual Sparks and Meeting Legends

Interviewing possesses an unexpectedly enjoyable side that Lettvin had never anticipated prior to sitting on the interviewer’s side of the desk. Interacting with new people, exchanging deep domain knowledge, and watching candidates reason through tough computational puzzles creates genuine intellectual connection. He recounts asking his favorite technical interview prompt—finding all valid words on a Boggle board—to a recent college graduate interviewing at Google. The problem features two distinct analytical approaches that eventually converge into a single elegant solution. With just a few gentle prompts, Lettvin watched the candidate experience a breakthrough as both paths snapped together:

> “he could just see in her eyes these two things coming together into this like gleaming beautiful like point and she like literally said oh my god that's order one that's what everybody wants and just like freaked out right and it's like this is so much fun um so so that that's part of it like that you get that personal connection”

Beyond individual breakthrough moments, Lettvin credits his years on the hiring committee with providing him with a complete computer science education. Reviewing hundreds of packets exposed him to a vast catalog of algorithms and evaluation techniques that he had never encountered in formal schooling. Interviewing also provided chances to meet iconic technologists across the broader computing landscape outside standard developer hiring tracks, including Philip Zimmermann, the creator of Pretty Good Privacy (PGP).

- Boggle solver question relies on two parallel algorithmic paths converging into an $O(1)$ lookup structure. - Hiring committee evaluations served as a practical substitute for a traditional academic computer science degree. - Candidates interviewed ranged across various roles, including notable industry figures like Philip Zimmermann.

---

[04:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=271s) The Downside: High Stress, Time Sinks, and Whiteboard Friction

The interview process also carries severe operational costs and emotional strain. Conducting a single one-hour interview at Google routinely consumed roughly three hours of an engineer's schedule once preparation, conducting the session, drafting comprehensive feedback, and handling subsequent follow-ups were accounted for. For both candidates and engineers, the social friction of encountering a complete stranger creates anxiety, particularly in an engineering culture where interpersonal interactions are rarely an innate strength.

Interviews can derail due to unexpected communication breakdowns, severe performance anxiety, or personality clashes. Candidates occasionally break down in tears after losing traction on a problem and finding themselves unable to recover. On rare occasions, interviewers face outright hostility; Lettvin recalls an interview with a candidate who carried an intense chip on his shoulder, as well as senior applicants who flatly refused to write code because they felt writing on a whiteboard or computer was beneath their seniority level.

Whiteboard coding itself introduces substantial operational noise into technical assessment:

> “if you've never written code on a whiteboard writing code on a whiteboard is completely it's difficult to do you're used to thinking in Emacs or vim or eclipse or whatever and you're used to autocomplete and you're used to be able to look stuff up in Google when you can't find it and so on and all of a sudden you just got this blank slate you get at code and not only that you're getting quite bored marker all over your sleeves because you can't find the eraser to erase it's just like this kind of cascading problem that can be very hard”

- A single 60-minute interview requires an overhead of approximately three hours of total engineering time. - Whiteboard testing strips away standard software development tools such as autocomplete, documentation lookups, and text editor environments (e.g., Emacs, Vim, Eclipse). - Emotional pressures frequently manifest as tears, acute frustration, or behavioral resistance from senior applicants refusing to code.

---

[06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) Arbitrariness, Steve Yegge's Anti-Slate, and the Kirkland Reality Check

The core structural reality Lettvin observed at Google is that interviewing is inherently noisy, inaccurate, and arbitrary. Noise stems both from artificial candidate environments and from external interviewer variables, such as fatigue, hunger, or domestic arguments before work. Because human error bars are so wide, running the identical candidate through the same interviewers twice can easily yield opposing decisions. To mitigate this volatility, Google allowed borderline applicants to re-interview after 12 to 18 months.

Lettvin shared an office with Steve Yegge, who formulated the concept that every viable candidate possesses both a "perfect slate" and a "perfect anti-slate." Under this dynamic, even for an engineer already successfully hired and thriving at Google, an organizer could easily assemble five company interviewers whose specific biases and pet questions would result in a unanimous rejection. Because the company viewed hiring a bad performer (a false positive) as far worse than passing on a good engineer (a false negative), the hiring bar was intentionally pushed extremely high, amplifying the arbitrary nature of the system.

This systemic randomness was dramatically demonstrated around 2007 at Google’s Kirkland office. The local hiring committee had developed a reputation for being exceptionally strict. One week, after examining a typical batch of eight to ten candidate packets, the committee voted to reject every single one. Immediately afterward, the recruiter delivered an eye-opening revelation:

> “at the end of hiring committee the recruiter was like well guess what guys these were your packets from when you were interviewed here and you just decided not to hire any of yourselves”

- Steve Yegge's "anti-slate" principle posited that five existing Google engineers could be found to reject any successfully hired candidate. - Google's hiring philosophy deliberately favored false negatives over false positives, discarding strong candidates to minimize poor hires. - In 2007, the Kirkland hiring committee evaluated blinded versions of their own historical application packets and rejected every single member of their own committee.

---

[09:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=579s) The Illusion of Data: Scoring Clusters and Performance Correlations

Google attempted to manage this uncertainty by amassing large volumes of data on the interviewing process. However, metrics often proved contradictory or uninformative. Lettvin points to public remarks from Google's People Operations chief Laszlo Bock (featured in *The New York Times*) revealing that extensive internal analysis discovered virtually zero correlation between interview performance scores and subsequent on-the-job performance ratings.

This lack of predictive power is rooted in how candidate feedback is scored. Google interviewers graded candidates on a scale from 1.0 to 4.0, where 1.0 represented a definitive rejection ("please don't hire this person") and 4.0 represented an enthusiastic recommendation ("definitely hire this person"). Because extremes were rarely awarded, the score distribution formed an exponential curve heavily clustering around the 2.0 to 3.0 range. This tight compression left hiring committees and analysts with an extremely narrow band of meaningful variation, severely limiting the statistical utility of the data for predicting long-term engineering success.

- Google interviewers scored candidates on a scale ranging from 1.0 (strong no hire) to 4.0 (strong hire). - Scores heavily clustered around the 2.0 and 3.0 thresholds, rarely reaching the extreme ends of the spectrum. - Internal studies highlighted by Laszlo Bock found zero statistical correlation between candidate interview scores and post-hire performance reviews.

[10:28](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=628s) The Flaw in Quantitative Scores and the Power of Written Feedback

Interview scoring systems that rely on simple numeric ratings are fundamentally flawed because isolated numbers mean radically different things depending on who gives them. Moishe Lettvin illustrates this by comparing his own scoring standards to a colleague named Michael on Google’s hiring committee who was notorious for giving extraordinarily difficult interviews: a score of 3.1 from Lettvin represented something entirely different than a 3.1 from Michael. While hiring committees attempted to build histograms of an interviewer's past scoring history to predict hiring outcomes, the histograms actually demonstrated the exact opposite: the colored bars showing whether candidates were hired for any given score were scattered all over the map. Lettvin emphasizes that the only truly predictive and substantive part of the packet was the written feedback—typically three to four pages of rich narrative detailing the candidate's actual thought processes and behaviors.

Attempting to reduce a multifaceted human being to a single number is an exercise in futility, akin to the flawed historical methodologies explored in Stephen Jay Gould's *The Mismeasure of Man*. Lettvin explains that trying to project a complex, high-dimensional cloud of human attributes into a single scalar dimension fails just as badly as relying purely on IQ or SAT scores. As Lettvin sums it up: “I think the upshot of that is it's very hard to put a number on things that matter about about a candidate basically putting a number on a person right is the same as IQ the same as SAT scores it's like the classic Mismeasure of Man conundrum right like you've got this cloud of data that you're looking at and you're trying to project that into one dimension and it basically doesn't work.”

```mermaid flowchart TD accTitle: Distortion of Candidate Evaluation accDescr: Diagram contrasting numeric score reduction with narrative feedback synthesis. subgraph Quant ["Reductionist Numeric Model"] A["Candidate Performance"] --> B["Scalar Score (e.g., 3.1)"] B --> C["Hiring Committee Histogram"] C --> D["Non-Predictive Outcome"] end subgraph Qual ["Holistic Narrative Model"] E["Candidate Behaviors & Nuance"] --> F["Written Narrative (3–4 Pages)"] F --> G["Committee Consensus"] G --> H["Predictive Insight"] end ```

[12:11](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=731s) Testing for Intangibles and Interviewing as Literary Criticism

Beyond the inadequacy of numbers, Lettvin notes that the qualities that make someone truly wonderful to work with cannot be measured by asking direct interview questions. To illustrate, he shares an anecdote about his Google mentor, Bob Day, during Lettvin's second week at the company. Lettvin had been tasked with adding a feature to a task management component for the Windows Google Talk client and was preparing to hack together a kludge. When he sent the code review to Day, Day asked how long it would take to simply rewrite the whole component properly. When Lettvin estimated two weeks, Day immediately told him to just go rewrite it. This interaction showed Lettvin that Day trusted him completely and valued code craftsmanship and maintainability over crude metrics like check-ins per week.

Lettvin points out that Bob Day had also once taken a year off from Microsoft to hack *EverQuest*, rewriting Windows drivers so he could intercept network packets and display real-time client-server communication data on a second screen. You cannot directly ask a candidate in a 45-minute window if they possess that degree of passion or trustworthiness; instead, interviewers must design open-ended problems that provide space for candidates to display their curiosity, creative ability, and enthusiasm. Watching how a person tackles an interesting puzzle reveals far more than whether they happen to know a textbook solution. As Lettvin summarizes: “I think the the key point that I want to say about this is I feel like interviewing is more like literary criticism than it is like statistics right like you you have this kind of big amorphous blob of data and you're trying to distill that but you can't distill it into numbers it only works to distill it into ideas.”

[15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) Preventing "Island Evolution" Through Cross-Team Committees

Interviewing must function as a multi-perspective team effort rather than relying on an isolated hiring manager. Lettvin draws a sharp contrast between the hiring processes at Microsoft and Google. At Microsoft, candidates met a slate of interviewers, but ultimate authority rested in a single hiring manager. This created a dangerous single point of failure driven by perverse organizational incentives: managers had open headcount that they needed to fill urgently for critical projects, and their managerial status was directly linked to headcount size. Fearing they would lose their allotted headcount if they waited, managers would inevitably compromise and hire someone just slightly below the bar. Over time, those newly hired individuals would themselves become interviewers and hiring managers, compounding the decline. Without external checks, this process of “island evolution” caused engineering standards on isolated teams to rapidly decay.

Google avoided this systemic decay by decoupling the hiring decision entirely from individual team managers. Hiring committees were formed across disparate teams and offices (for example, the Kirkland hiring committee), and hiring packets had to achieve genuine consensus across multiple tiers, extending all the way up to executive review where Larry Page personally reviewed and signed off on every single candidate packet. Because candidates were hired for Google as a whole rather than for an individual team's immediate opening, the company preserved consistent engineering quality across the organization and prevented the formation of low-quality team silos.

- **Microsoft's Model:** Single hiring manager held ultimate veto/offer power; headcount was tied to organizational prestige and project deadlines, creating structural pressure to lower the bar. - **Island Evolution:** Sub-bar hires quickly became interviewers and managers, accelerating the drop in quality without any outside pressure dampening the effect. - **Google's Model:** Cross-functional committees reviewed candidate dossiers without team-specific pressure, requiring multi-tiered consensus up to executive sign-off. - **Hiring for the Company:** Candidates entered a general engineering pool rather than a siloed team, maintaining a uniform hiring bar across Google.

[18:04](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1084s) Interview Preparation, Whiteboard Dry Runs, and Jazz

Preparation is crucial for interviewers, yet companies frequently throw engineers into interview loops with zero guidance. Lettvin recounts the first time he ever conducted an interview at Microsoft: he was informed that very morning that he had been assigned an interview loop with Darrell Richmond, an engineering veteran who had been at Microsoft since roughly 1985 and had authored core platform systems. Having only experienced an interview as a candidate himself a couple of years prior, Lettvin had no idea what he was doing and spent 45 aimless minutes asking Richmond about his current work without gathering any actionable evaluation data. His manager responded in classic Microsoft fashion by forwarding Lettvin's useless feedback to the entire team with an admonition: “don't do this.”

In contrast, Google provided comprehensive four- to five-hour interview training classes that taught engineers how to run structured sessions: 1. Ten minutes for introductions and setting context. 2. Forty minutes focused on solving an in-depth technical problem. 3. Ten minutes reserved for candidate questions and wrap-up.

Beyond formal classes, Lettvin advises engineers to conduct three or four whiteboard dry runs with colleagues to build confidence, pointing out that novice interviewers often feel far more nervous than the candidates they are evaluating due to the pressure to know all the answers. However, preparation must also be balanced with adaptability, because interviews rarely follow a pristine script. As Lettvin explains: “So yeah so be prepared but it's like jazz right like unexpected things are going to happen shits going to go sideways whatever part of being prepared is just knowing that that's going to happen and make it work anyway.” If a candidate reveals they have seen a question before, an interviewer must remain calm and pivot immediately to a backup scenario.

[20:49](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1249s) Improvising, Making Mistakes, and the Slate Model

Interviewers must be ready to adapt to whatever happens in the room. If a candidate is reluctant to write code on the whiteboard—or hesitant to write code at all for whatever reason—the interviewer needs to improvise rather than get stuck. The best moments often occur when a candidate explores an entirely unexpected path on a favorite question and discovers something new. Moishe Lettvin highlights this openness as essential, declaring: “be prepared to be taught by people you're interviewing it's that's kind of the best-case scenario and make mistakes”. Just like other iterative practices at Etsy, interviewing is a learned skill where beginners inevitably struggle and require practice to improve.

```mermaid flowchart TD accTitle: Google Interview Slate Composition accDescr: Diagram showing how calibrated and new interviewers are paired to protect decision data while training new staff. subgraph Slate["Interview Slate Composition"] A["3 Calibrated Interviewers\n(>25 interviews completed)"] B["2 Inexperienced 'Newbie' Interviewers\n(In training / practice)"] end Slate --> C{"Evaluation Process"} C -->|"If newbie makes a mistake"| D["Discard newbie's data"] C -->|"Solid signal from veterans"| E["Sufficient data remains\nto make hiring decision"] ```

To solve the beginner problem, Google structured interview slates with an intentional balance of experience levels. They would typically staff three "calibrated" interviewers—defined as engineers who had conducted more than 25 interviews—alongside a couple of novices. If the inexperienced interviewers made a mess of their sessions, the hiring committee could simply discard their data and still retain three solid, calibrated data points to make an informed decision. Without continually introducing new people into that pipeline, a company eventually exhausts its pool of experienced interviewers. Despite the leeway given to beginners, Lettvin emphasizes one non-negotiable standard: “the only mistake that I would caution against the only rule is don't be a dick”.

[22:20](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1340s) Every Interview is a Conversation, Not a Gauntlet

An interview should never be treated as an obstacle course or a stress test to see if a candidate can survive. It is fundamentally a conversation between two human beings, and while conversations can have objectives, intimidation has no place in them. Lettvin stresses that the candidate experience takes precedence over data collection: “the primary goal of this conversation you're having with the with the candidate is make them happy right that overrides everything else”. Risking a candidate's emotional well-being just to extract an elusive technical signal is fundamentally doing the job wrong.

When Lettvin asks the audience to raise their hands if they hold a positive impression of the Google interview process, only about one and a half hands go up. He points out the tragic irony: making candidates happy was Google's official goal as well. Yet a single encounter with an arrogant interviewer leads to a public blog post that circulates across the entire internet, instantly erasing the goodwill of 50 positive experiences. Beyond online reputation, treating people well carries real-world consequences: even candidates who do not get hired have friends from university who might be future hires, or they might be active buyers and sellers on Etsy. Making the experience respectful and pleasant simply makes the world a better place.

[24:35](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1475s) Core Conversational Goals: Evaluation, Culture, and Generosity

The interview conversation revolves around two core questions. For the interviewer, the question is: "Would I love to work with this person?" Because one's colleagues are the primary indicator of job satisfaction, interviewing is an employee's direct chance to shape their own workplace. Interviewers should look for candidates who raise the bar—people who can make the company qualitatively better, teach others, be taught, and inspire those around them. Lettvin notes, “in my ideal world I want to be surrounded by people who are smarter than me right like that then that's that's why I'm here”. The second question belongs to the candidate: "Would you love to work at this company?" Interviewers must embody and communicate the culture; Lettvin recalls that when interviewing at Etsy, beyond the famous "Etsy school" (hacker school / Crafty and engineering culture) aspects, it was the genuine humanity and enthusiasm of the staff that won him over.

Lettvin describes the best interviews as fundamentally "generous," meaning interviewers show up well-prepared, keep pace with the candidate, ask thoughtful follow-ups, and actively work hard for the candidate rather than expecting the candidate to do all the work:

- **Graph and Trie Traversals (Lettvin as Interviewer):** In a Boggle-style word search question involving graph traversal and a Trie dictionary, a candidate finished the standard problem in roughly 8 minutes. When pushed further, the candidate demonstrated how to traverse the letter graph and the Trie simultaneously in parallel by passing both the Trie node and graph node into a recursive function—a solution Lettvin had never thought of. - **Reservoir Sampling (Lettvin as Candidate at Google):** Tasked with drawing a uniform random sample of size $k$ (e.g., 10 items) from a streaming data source of unknown length, the interviewer skillfully dropped hints that guided Lettvin to the constant-time reservoir sampling algorithm (picking an integer between 0 and total seen, placing the item if the value falls under the threshold). The elegant mathematical convergence made him leave the interview feeling accomplished. - **K-Means Clustering (Lettvin as Candidate at Etsy):** Josh Attenberg used an interview problem to teach Lettvin the mechanics of $k$-means clustering from scratch, turning a technical assessment into a rewarding educational exchange.

[29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) The Onion Model of Technical Questions

A crucial counterweight to conversational generosity is strict time management. Interviewers frequently encounter candidates who talk excessively or diverge into subjects that are not germane to the evaluation; reigning in tangents requires deliberate practice. When it comes to designing technical interview problems, Lettvin argues that the best questions function like onions: they feature an accessible, naive implementation on the outer surface that candidates can peel back layer by layer into richer, more complex algorithmic challenges.

To illustrate, Lettvin recalls his very first technical interview at Microsoft around 1994. He showed up terrified, wearing a suit for probably the second time in his life, and had to endure five minutes of excruciating small talk about Seattle and his background before the interviewer gave him an engineering problem: write a program to draw a circle. Relieved to escape the small talk and write actual code, Lettvin implemented a naive trigonometric approach, looping from $0$ to $2\pi$ and multiplying the sine and cosine by the radius. Seeing that baseline working solution, the interviewer stripped away the first layer of the onion with the prompt: "Alright, that sucks, speed it up."

[31:08](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1868s) The Multi-Layered Interview Problem: Bresenham's Algorithm and Conway's Game of Life

Continuing his anecdote about drawing a circle in a Microsoft interview in 1994, Moishe Lettvin walks through the progressive layers of optimization that make an interview question great. The first intuitive step after the basic trigonometry approach is exploiting eight-way symmetry: because circles are symmetrical, you only need to compute one octant (from $0$ to $\frac{\pi}{4}$). While clever, this approach still relied on trigonometric functions, which Moishe notes were notoriously slow in 1994. The interviewer then nudged him to remove sine and cosine entirely. Moishe switched to using square roots to solve for $x$ given $y$ or $y$ given $x$, which still used eight-way symmetry and had the added benefit of eliminating visual gaps between pixels. With fifteen minutes remaining on the clock, the interviewer pushed the boundary one final time: *"No square root."*

As Moishe puts it, that was the moment when “shit gets real.” Guided by the interviewer's carefully calibrated hints, Moishe managed to implement Bresenham’s circle algorithm, an integer-only method that tracks an error accumulator as it steps across the $x$ direction to decide the next pixel. With just three minutes left, the interviewer congratulated him, noting that he had just written the circle-drawing algorithm used in Windows. Moishe highlights this as the gold standard of interviewing: rather than an adversarial shotgun approach firing disconnected trivialities (Question A, Question B, Question C), the entire hour was spent deeply immersed in a single problem, collaborating and peeling back layers. He mentions other problems with that same property, such as Boggle or Conway's Game of Life. A problem like Conway's Game of Life serves as a clean FizzBuzz-style smoke test for basic programming ability, but then opens into forty years of literature and countless paths for optimization, from parallelization to algorithms scaling strictly with the number of living cells ($O(\text{living cells})$).

```mermaid flowchart TD accTitle: Progressive Circle Algorithm Optimizations accDescr: Four stages of the interview problem starting from naive trigonometry to Bresenham's integer algorithm.

subgraph CircleOpt["Progression of Circle Drawing Approaches"] A["Naive Trigonometry<br/>(sin & cos calculations)"] B["8-Way Symmetry<br/>(Compute 1/8th octant: 0 to pi/4)"] C["Algebraic / Square Root<br/>(Solves gaps, avoids trig calls)"] D["Bresenham's Algorithm<br/>(Integer error accumulator, no sqrt)"]

A --> B B --> C C --> D end ```

[33:46](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2026s) Bandwidth, Artifice, and Eliminating Noise

Moishe advises interviewers to maximize communication bandwidth: prefer in-person interviews over video conferencing, video conferencing over phone calls, and whiteboards or scratchpads over purely verbal dialogue. People have different comfort zones; while some excel at a whiteboard, others need a keyboard and monitor. Recalling his very first Microsoft interview, Moishe shares that he was visibly anxious all day until one interviewer recognized his state, handed him a notebook with a problem, and simply walked out of the office to leave him alone to code. That solitary time provided the exact breathing room he needed to calm down and perform.

``` High Bandwidth ▲ In-person interviews │ Video conferencing (VC) Low Bandwidth ▼ Audio-only phone calls ```

Interviewing carries an inherent, unavoidable artificiality, because acting as an interviewee in an artificial setting is fundamentally detached from performing well in an engineering role day-to-day. As Moishe emphasizes:

> “Interviewing is a different skill than being a great engineer or whatever all you're looking for.”

Because of that gulf, interviewers must focus on underlying indicators that transcend the medium: can this candidate learn, are they creative, and are they enjoyable to work with? To maximize true signal and reduce noise caused by performance anxiety: - Share sample interview questions in advance and demystify the interview format. - Explicitly encourage candidates to practice on a whiteboard if that is how they will be evaluated. - Reject secrecy: Moishe stresses that he would far rather hire a candidate who initially struggled at interviewing but practiced enough to clear the bar than pass on top talent simply because they did not know what to expect. - Remind candidates upfront that the interviewer's role is not to trip them up, but to actively help them showcase their best work.

[36:30](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2190s) Questioning the Standard Model and Final Advice

Reflecting on the prevailing industry standard—a grueling gauntlet of five or six one-hour sessions in a single day, followed by collating and evaluating the notes—Moishe acknowledges this has become the dominant playbook across major tech companies like Google. Yet he cautions against assuming it is optimal:

> “This general milieu of like five or six interviewers in a day, an hour each, asking some questions, collating that data, that might be the best we can do... it might be the best, but it probably isn't, and I hope it isn't.”

He suggests the tech industry may be trapped at a local maximum. As a promising departure from this rigid structure, he points to Hacker School (now Recurse Center), where observing candidates across two months of intensive, hands-on programming provides far richer signal than any one-day loop ever could. He encourages Etsy to leverage its unique culture and values to experiment with hiring models outside traditional boundaries.

Moishe closes his presentation with two core rules of thumb: - “Have fun; it is very fun, except when it isn't.” - “Always be learning, and don't get stale questions.”

[38:02](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2282s) Q&A: Classifying Feedback and Balancing False Positives vs. False Negatives

The session opens up to questions from the Etsy audience:

- **Automating Feedback with Machine Learning:** An audience member asks whether Google ever trained natural language classifiers on interviewers' written feedback to extract higher-fidelity signals than numerical scores. Moishe clarifies that he never saw such a system deployed at Google, though he suspects someone explored it. Google intentionally protected human judgment on the hiring committee. Because written reviews vary dramatically based on interviewer personalities—some write harsh critiques, while others are unfailingly polite—committee members rely on their institutional memory to contextualize individual feedback styles, a nuance that machine learning models would struggle to replicate without huge per-interviewer datasets.

- **Risking a Bad Hire vs. Missing Great Talent:** Another attendee asks Moishe for his personal stance on the classic big-tech dilemma: is it better to reject a potentially strong candidate to prevent a bad hire (Google's conservative bias toward false negatives), or should companies take risks on unpolished candidates? Moishe confesses he is torn. Reflecting on his first job in 1988, he recalls how his boss took a gamble on him based on quirky signals:

> “Peter showed me the 6502 assembler game he'd written, and that was awesome, and you could type really fast, so I figured if half the stuff you wrote worked, you were set.”

While that leniency launched his own career, Moishe warns that bad hires trigger severe cascading damage across an engineering organization. He points to the ultimate litmus test for evaluating potential team members: *Would I love to be carrying the on-call pager when this person checks in an entire week's worth of code?*

- **Hiring for the Company vs. Hiring for the Team:** An audience member contrasts Microsoft’s team-specific hiring model with Google's centralized hiring committees. At Microsoft, interviewers had to assess whether they would take the candidate directly onto their own team; you were explicitly forbidden from saying, "I wouldn't want them on my team, but hire them for another group." The attendee raises the concern that Google’s centralized committee model creates a risk of settling for candidates who seem generically "good enough for Google," even if no individual team feels enthusiastic about them.

[41:38](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2498s) Company-Wide Standards and Domain-Specific Hiring

An audience member asks how to avoid a situation where an interviewer gives a pass to someone who might not meet the bar for their own team. Moishe Lettvin explains that this scenario occasionally surfaced during Google's hiring committee reviews, where each member wrote feedback evaluating the interviewers' write-ups. Whenever someone expressed the sentiment that a candidate was acceptable for another team but not their own, the committee shut it down immediately:

> “It's like if you don't think this person is good enough for your own team then we're not going to hire him and I think like that was just a cultural thing and and and I think like again there's no hard and fast rules but the the culture was such that you knew you were hiring for Google and for somebody who could because you don't even know what team they're going to end up on in hiring committee right like the the allocation process is completely separate so they might very well end up on your team.”

Turning to the question of domain-specific hiring, Lettvin explains that the candidate must first pass the general baseline bar. Once that minimum threshold is cleared, specialized expertise is assessed simply by assigning one person on the interview loop to test that particular technical domain, while the rest conduct standard interviews.

[43:06](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2586s) Personality Fit vs. Technical Chops and the "No Jerks" Rule

When asked how to weigh personality fit against technical prowess—especially at an organization like Etsy—Lettvin explains that he favors personality when comparing specific technical skillsets against soft skills, as long as the candidate demonstrates high learning agility. If an engineer has proven mastery in JavaScript or Java, the lack of PHP experience is negligible because they can pick it up on the job. However, if the candidate lacks the fundamental capacity to ever reach the required level of technical expertise, technical ability trumps:

> “Like you can't be weak personality wise and strong technically or weak technically in strong personality wise like I think at Etsy it's SuperDuper important to have both.”

An audience member follows up with the widely discussed industry rule: never hire jerks, no matter how brilliant they are. Lettvin wholeheartedly endorses this philosophy, recounting an interview he conducted at Google with a domain expert from ATI who specialized in CUDA (GPU parallel processing). While undeniably brilliant, the candidate treated Lettvin disrespectfully throughout the session. In his written evaluation, Lettvin recorded that the candidate was exceptionally smart, but also a complete jerk. By coincidence, Lettvin sat on the hiring committee when the packet came up, and another committee member who had previously worked with the candidate at ATI chimed in to confirm that the candidate was indeed impossible to work with. Lettvin underlines the destructive cost of keeping toxic individuals:

> “So I it's just it creates a toxic environment when you're working with [jerks] like it makes you not want to go to work and it's I don't care how smart they are it's it drags everybody down.”

[45:34](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2734s) Real-Time Interview Loop Coordination: Microsoft vs. Google

Addressing a question about whether interviewers should communicate between sessions or maintain a blind slate, Lettvin contrasts the mechanisms at Microsoft and Google:

```mermaid flowchart TD accTitle: Comparison of Interviewer Communication Models accDescr: Contrasts Microsoft running email chain model against Google blind independent writeup model.

subgraph MS["Microsoft: Real-Time Loop"] M1["Interviewer finishes"] --> M2["Sends Hire/No-Hire email"] M2 --> M3["Later interviewers read chain"] M3 -->|"Pro: Targets weak areas"| M4["Can re-test doubts"] M3 -->|"Con: Senior voice anchors"| M5["Amplifies evaluation bias"] end

subgraph GOOG["Google: Independent Evaluations"] G1["Interviewer finishes"] --> G2["Fills in-room paper slip with questions asked"] G2 --> G3["Submits detailed written feedback into system"] G3 --> G4["Permitted to talk only after all feedback is logged"] end ```

At Microsoft, an ongoing email chain tracked the candidate through the loop. As soon as an interview concluded, the interviewer sent an email stating "hire" or "no hire" with their reasoning. While the second interviewer in line might not see it, the one after would. Although this allowed subsequent interviewers to probe areas where the candidate had struggled, it carried a severe drawback: if an early, senior, or highly respected interviewer sent an opinion, downstream interviewers felt pressured not to contradict them, either poisoning or blessing the packet.

Google solved this by strictly prohibiting interviewers from discussing candidates until each had submitted their independent written feedback. To prevent duplicate technical exercises without causing bias, Google used a physical paper slip kept inside the interview room where each interviewer wrote down what problem they had posed and noted any specific area that warranted deeper probing. Lettvin strongly favors this approach, reasoning that it is far better to protect against cognitive bias than to risk contaminating the loop.

[47:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2859s) Shadowing, Paired Interviews, and Etsy's Interview Process

When asked about running two-on-one group interviews, Lettvin notes that Google’s training protocol required trainees to complete two shadow sessions—quietly observing an experienced interviewer—followed by one reverse-shadow interview, where an experienced interviewer silently observed them. Under this "contract," the observer stays quiet and never intervenes. While he worries that having two active interviewers might make a candidate feel ganged up on, Lettvin believes paired interviews can be successful if the interviewers actively manage and dampen that power dynamic.

A recruiter from Etsy asks Lettvin what he would change about Etsy's interview loop based on his own experience going through it. Lettvin admits he was surprised by how little actual programming he was asked to do. However, he praises the overall experience:

> “So so that made me super happy and was actually a big part of the reason I came here yeah.”

He emphasizes that Etsy treated him as a human being, placing genuine value on communication skills and whether people could hold a natural conversation.

[49:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2971s) Packet Calibration and What Makes Strong Feedback Data

Returning to Google's practice of pairing newer interviewers with calibrated ones, Lettvin clarifies that hiring committees do not discard new interviewers' write-ups outright. Instead, they calibrate how much weight they assign:

> “So if you've got three calibrated interviews where they've written really good feedback on the basket of questions that's enough and if two of them they might still give good scores but they're just thin on details and stuff like that it's you can still get that packet through so it's not like you just take them out and don't factor them into the score generally although that can happen for extreme cases it's more like it's just you just don't place as much weight on [them].”

Asked what high-quality feedback data actually contains, Lettvin outlines the components that hiring committees look for in strong notes: - Well-chosen problems that test algorithmic thinking and coding implementation, alongside systems design questions for senior roles. - Detailed step-by-step notes tracking how the candidate attacked the problem, where they required hints, and where they solved steps independently. - Benchmarking the candidate’s performance against how an established Google engineer would handle the identical problem. - A well-argued opinion that flows logically from the documented evidence (e.g., recognizing that an applicant translated an abstract problem into a graph traversal, wrote clean production code, and flagged suboptimal variable names chosen for whiteboard speed).

[52:02](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3122s) Etsy's Interview Process and Feedback Volume

An audience member asks about the mechanics of the interview debrief at Etsy, mentioning they have only participated once on their very first day and want to know whether people meet in person or submit written evaluations. Another attendee clarifies the current internal process: teams typically hold a pre-huddle before the interview loop begins to coordinate who will cover which technical areas. After the sessions conclude, interviewers submit their independent evaluations into Jobvite first—specifically designed to prevent the kind of information cascades Moishe Lettvin previously warned against—before gathering for a post-huddle to discuss their impressions, after which the hiring manager and approval chain make the decision.

```mermaid flowchart TD accTitle: Etsy Interview Debrief Process accDescr: Flowchart showing the stages from the initial pre-huddle to final candidate approval. subgraph Preparation["Pre-Interview"] A["Pre-Huddle Meeting<br>(Divide technical focus areas)"] --> B["Interview Sessions"] end subgraph Evaluation["Post-Interview"] B --> C["Submit Independent Feedback<br>(Jobvite to prevent information cascades)"] C --> D["Post-Huddle Meeting<br>(Discuss impressions)"] D --> E["Hiring Manager Decision & Approvals"] end ```

The discussion shifts to Lettvin's earlier remark that he wrote two to three pages of feedback per candidate at Google. An engineer notes that Jobvite's feedback box is only about four lines high and overflows after a single paragraph, asking whether the field should be enlarged or if Lettvin was exaggerating. Lettvin confirms he was not exaggerating:

> “I mean but so half of that is probably taken up with code samples but like if you were to print it out double-spaced it would probably I think two pages are pretty typical for a feedback.”

He clarifies that if everyone attending the wrap-up meeting has directly interviewed the candidate, concise bullet points can suffice as personal notes for the meeting. At Google, however, the hiring committee had zero direct exposure to the applicant, requiring exhaustive, self-contained documentation. Lettvin reiterates his broader philosophy:

> “I am an advocate of more data more persistence like writing more up I think it's worthwhile.”

[54:16](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3256s) Candidate Follow-ups and the Art of Giving Hints

An audience member notes that selling the company to candidates is a key component of the process and asks whether Google or Microsoft conduct retrospective follow-ups with candidates who decline offers or get turned down to learn if something in the interview went awry. Lettvin confirms that Google actively follows up with rejected candidates for two distinct reasons: first, to keep communication lines open with candidates they hope to re-interview in a year, and second, to gather feedback on improving the candidate experience. He notes that the pipeline improved dramatically over his tenure; when he first joined Google, decisions took literal months, whereas it eventually came down to a couple of weeks, though he notes that is still far from ideal.

Another engineer asks for actionable advice on how to guide candidates who stumble, particularly on broad architectural questions (such as walking through what happens during a web request) or during live coding, without handing them the solution outright:

> “Right I mean I think part of it is having questions that lend themselves to hints right like don't have questions with a yes or no answer or a vocab question with the definition.”

Lettvin explains that learning the right dosage of guidance is primarily a matter of repetitions: the more times an interviewer runs a specific problem, the better calibrated they become at nudging candidates along without giving away the explicit answer.

[56:33](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3393s) Assessing Culture Fit and Personality

A participant describes a tactic used at their previous company to gauge personality and culture fit by asking deliberate curveball questions, such as asking candidates about the most hilarious prank they pulled or their favorite midnight snack. They ask whether Microsoft or Google used equivalent non-technical questions to assess fit. Lettvin responds that neither company really used that approach, but shares his favorite question from his own interview at Etsy, posed to him by Josh:

> “The first question I was asked here by Josh was what's your favorite algorithm which I think is a phenomenal question like in terms of culture fit like do you have one right and then like in terms of technical ability can you describe it right.”

He contrasts this with standard behavioral interview prompts (such as "tell me about a time when X happened"), pointing out that candidates routinely read interview prep guides and rehearse canned answers. A prompt like naming a favorite algorithm catches candidates off-guard while evaluating both genuine passion for the craft and the technical clarity required to explain it on the spot.

[57:58](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3478s) Interview Prep Books and Offer Turnaround Time

An audience member asks whether any of the commercial interview preparation books on the market are worth reading, or if they are all poor quality. Lettvin recalls reading *Programming Interviews Exposed* and finding that their treatment of the circle-drawing question stopped at an elementary square-root solution rather than exploring the deeper, mathematically elegant algorithmic solutions, which turned him off from the book. However, he strongly vouches for Gayle Laakmann McDowell (author of *Cracking the Coding Interview*):

> “Gale Lachman wrote this book called programming actually I don't even know what's called but anyway I trust her she's super duper smart and she's put a lot of time into this and she was on hiring committee at Google so I suspect that's probably a very good book.”

Lettvin emphasizes that anything helping candidates demystify the interview format reduces unproductive anxiety and benefits both sides of the table.

Finally, an IRC remote viewer asks for Lettvin’s opinion on ideal post-interview turnaround times for extending offers. Lettvin explains the unavoidable organizational tradeoff between speed and consensus: - **Single decision-maker speed:** At Microsoft, Lettvin received an offer the very day he interviewed because his final conversation was directly with the hiring manager, but that model depends entirely on trusting individual managers without checks and balances. - **Committee review latency:** Shifting decisions to an independent hiring committee improves consistency and reduces bias, but inherently injects substantial operational delay.

Lettvin emphasizes how agonizing that lag is from the applicant's side, sharing his own frustrating experience interviewing at Google: he interviewed in April and did not receive an offer until late June, enduring weekly calls from his recruiter reporting that his packet was sitting with yet another committee. He concludes that while balancing thoroughness with velocity is difficult, companies should make their turnaround as fast as their internal safeguards allow.

## Notable quotes > [36:30](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2190s) This general milieu of like five or six interviewers in a day, an hour each, asking some questions, collating that data, that might be the best we can do... it might be the best, but it probably isn't, and I hope it isn't. — Moishe Lettvin

> [12:11](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=731s) I feel like interviewing is more like literary criticism than it is like statistics — Moishe Lettvin

> Interviewing is a different skill than being a great engineer or whatever all you're looking for. — Moishe Lettvin

> [20:49](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1249s) the only mistake that I would caution against the only rule is don't be a dick — Moishe Lettvin

## Mentioned ATI, Bob Day, Boggle, Bresenham's circle algorithm, Conway's Game of Life, Cracking the Coding Interview, CUDA, Darrell Richmond, Etsy, EverQuest, Gayle Laakmann McDowell, Google, Google Talk, Hacker School, Jobvite, Josh Attenberg, Larry Page, Laszlo Bock, Microsoft, Moishe Lettvin, Philip Zimmermann, Programming Interviews Exposed, Recurse Center, Stephen Jay Gould, Steve Yegge, The Mismeasure of Man

[Source](https://www.youtube.com/watch?v=r8RxkpUvxK0)

中文简报

谷歌资深人士称面试评分无法预测工作表现 谷歌发现技术面试评分与入职后的成功之间不存在统计学相关性,证明若缺少长篇叙述性评估和跨团队招聘委员会,纯标量打分无法有效衡量求职者。 结合自身主导约250场工程面试并在谷歌招聘委员会任职六年的经历,Moishe Lettvin深入剖析了技术招聘的运作机制、缺陷与设计原则。他解释了谷歌为何将面试官与最终录用决策解耦,指出单项标量评分无法预测实际工作表现,详尽的定性叙述才是唯一可靠的信号。Lettvin主张将面试视为基于多层“洋葱”问题展开的宽容、协作式对话,而非制造压力的考验。他将谷歌基于共识的委员会模式与微软以管理者为中心的模式进行了对比,强调必须进行强有力的文化审核以防组织退化,同时也承认标准的单日面试仍是一个存在严重缺陷的局部最优解。 谷歌内部数据显示,面试表现得分与随后的实际工作表现之间不存在统计学相关性,这凸显出定性叙述反馈的预测性远高于标量指标。 (9:39) 在2007年的一项实验中,谷歌严格的柯克兰招聘委员会对本委员会现任成员的双盲面试材料进行了评审,结果投票拒绝了其中的每一个人,说明了招聘系统对假阴性(误杀)的系统性偏差。 (6:01) 通过跨职能招聘委员会将面试与录用决定解耦,可以防止“孤岛式演化”,即个别经理为完成招聘配额而降低标准的现象。 (15:05) 技术面试流程包含大量的工程开销,在算上准备工作、文档记录和委员会评审后,每次1小时的面试大约需要消耗3个工程小时。 (4:31)

Reading summary

Drawing on roughly 250 interviews over seven years at Google, Moishe Lettvin argues that technical interviewing is an inherently noisy, imprecise process that cannot be reduced to quantitative scores, requiring structured committee reviews, qualitative written narratives, and candidate-focused generosity to be effective. The Illusion of Objective Metrics (9:39) Technical interviews often attempt to capture candidate competency using scalar ratings, but Moishe Lettvin highlights that numerical scoring produces little reliable signal. At Google, interviewers graded candidates on a 1.0 to 4.0 scale, yet evaluations clustered tightly between 2.0 and 3.0, providing hiring committees with minimal meaningful differentiation. Lettvin cites internal Google findings publicized by Laszlo Bock indicating zero statistical correlation between interview scores and subsequent job performance reviews. Furthermore, an identical numeric rating, such as a 3.1, meant completely different things depending on an individual interviewer's personal scoring baseline, rendering aggregate scoring histograms non-predictive. Comparing the reduction of complex human attributes to scalar numbers to Stephen Jay Gould's critique of IQ testing in The Mismeasure of Man, Lettvin asserts that substantive evaluation depends on rich, qualitative written narratives detailing an applicant's actual thought processes and behaviors rather than compressed numerical scores. Systemic Randomness and the Hiring Committee (6:01) Lettvin contends that technical interviews are heavily arbitrary, shaped by candidate stress as well as interviewer fatigue, hunger, or personal bias. To illustrate, Lettvin cites Steve Yegge's 'anti-slate' theory, which posits that five existing Google engineers could readily be found whose biases would produce a unanimous rejection for any currently thriving colleague. This systemic volatility was demonstrated in 2007 at Google's Kirkland office when a strict hiring committee evaluated blinded historical dossiers of its own members and rejected every single one. To mitigate individual biases and prevent lowering the hiring bar, Google decoupled interviewing from decision-making by routing written candidate packets to an independent hiring committee disjoint from the interview slate, requiring multi-tiered consensus that originally reached executive sign-off from Larry Page. Preventing Island Evolution and Biased Cascades (15:05) Decoupling hiring decisions from individual managers protects organizations against what Lettvin describes as 'island evolution.' Under the traditional model used during his tenure at Microsoft, individual managers with open headcount faced organizational pressure to fill seats quickly to protect prestige and meet project deadlines, leading them to compromise on standards. Because sub-bar hires inevitably became interviewers and managers themselves, quality rapidly decayed in isolated teams. Google counterbalanced this by assessing candidates against a shared company-wide standard. Google also mitigated evaluation cascades by enforcing blind reviews: while Microsoft circulated a real-time email chain where senior voices anchored downstream opinions, Google interviewers submitted independent written evaluations before discussing candidates, leaving only a physical in-room paper slip to record which questions had already been asked to avoid duplication. Conversational Generosity and Multi-Layered Problems (22:20) Rather than treating interviews as adversarial gauntlets or stress tests, Lettvin argues that interviews should be conducted as generous conversations where candidate comfort takes priority over data extraction. High-pressure whiteboard environments strip away regular engineering tools like auto-complete, documentation lookups, and familiar text editors like Vim or Eclipse, adding operational noise that interviewers must actively dampen. Lettvin advocates using multi-layered 'onion' problems—such as Conway's Game of Life, Boggle word searches, or Bresenham's circle-drawing algorithm—which begin with an accessible naive solution and allow candidates to peel back layers toward deeper algorithmic optimizations. Through repeated iterations of the same problem, interviewers can calibrate how to offer gentle hints that test learning agility, passion, and collaborative ability. While Google's centralized committee system reduced manager bias and raised quality consistency, Lettvin acknowledges that it introduced severe operational lag, extending hiring timelines to weeks or months compared to same-day team offers. He cautions that the standard industry template of five to six back-to-back one-hour problem-solving loops may represent a suboptimal local maximum, pointing to longer-term immersive environments like Hacker School as potential alternatives for capturing genuine engineering talent.

精炼阅读摘要

资深工程师 Moishe Lettvin 基于在 Google 主持约 250 场面试及 6 年招聘委员会的经验指出,技术面试本质上充满噪声与主观性,单凭量化分数无法预测实际工作表现;企业应通过跨团队委员会、详尽的叙述性反馈以及开放式对话来平衡考核偏差并保障候选人体验。 技术面试的内在随机性与数据幻觉 (6:01) Google 曾试图通过积累海量数据来优化招聘,面试官被要求打出 1.0 至 4.0 的分数。但 Lettvin 引述 Google 人力运营前负责人 Laszlo Bock 的内部研究指出,面试评分与入职后的绩效考核评分之间几乎不存在任何统计学相关性。评分大多集中在 2.0 到 3.0 之间的狭窄区间,且不同面试官的打分标准悬殊,孤立的数字无法准确映射复杂的人才特质。同时,面试容易受到候选人焦虑、面试官疲惫等外界噪音干扰。Lettvin 提及同事 Steve Yegge 提出的“反阵容(anti-slate)”概念:即使是一位已在公司表现出色的工程师,也总能挑出 5 位面试官组成全票否决其入职的阵容。2007 年 Google Kirkland 办公室的招聘委员会进行盲测时,曾全票否决了委员会成员当年获聘时的档案,印证了考核体系固有的随机性。 跨团队委员会与去中心化决策机制 (15:05) 为了遏制个别团队因用人急迫而降低标准,Google 将评估权与录用决定权彻底剥离。传统模式如 Microsoft 将最终录用权授予单一招聘主管,但这会诱发结构性弊端:主管面临项目交付死线和团队编制压力,极易放宽标准录用略逊一筹的人员,形成“孤岛演化(island evolution)”,令团队技术水准随时间持续下滑。Google 则采用跨团队的招聘委员会制度,由 4 至 5 名互不沟通的现场面试官独立提交详尽评价,汇编成档案后交由未曾见过候选人的独立委员会统一审批,并由高管最终签发。这一流程确保候选人是为全公司而非特定小组招聘,严格落实宁缺毋滥(偏向假阴性而非假阳性)的原则,杜绝了标准退化。 剥洋葱式题目设计与对话式互动 (29:24) Lettvin 强调面试是一场平等的专业对话,而非单向的压力测试或障碍赛,候选人的体验应置于首位。最佳的考察方法是采用像“洋葱”一样层层递进的问题,允许候选人从基础实现逐步深入到高阶算法。例如在圆绘制算法的考核中,候选人可从最初的三角函数实现,推进至利用八分对称性、消除三角函数与平方根,最终在提示下推导并写出仅靠整数误差累加的 Bresenham 算法;康威生命游戏等开放性问题也能展现多层优化空间。面试官应充当协助者,通过精心设计的提示观察候选人的思维韧性与创造力,而非抛出琐碎偏门、非黑即白的零碎问题让候选人陷入窘迫。 叙述性反馈的价值与信息隔离机制 (10:28) 在生成评估档案时,详尽的文字记录远比冷冰冰的数字有效。一份优质的反馈通常包含 2 至 3 页纸的内容,详细记录候选人的解题路径、提示触发点、代码质量,并以现有 Google 工程师的表现作为基准对照。同时,为了避免认知偏差,Google 严禁面试官在提交正式反馈前进行口头交流。对比 Microsoft 当年通过邮件链实时同步结果导致后序面试官受到资深员工意见“锚定”的做法,Google 仅在考场内留存一张纸条记录已考题目以防撞题,有效避免了群体盲从与评价污染。对于新手面试官,Google 则采取让其与资深“校准面试官”搭档出题的组合机制,在容错中培训新人,保障评审数据的基准质量。 技术与性格平衡及“零混蛋”准则 (43:06) 关于团队文化与专业能力的权衡,Lettvin 明确表示绝不能姑息技术过硬但性格恶劣的“混蛋(jerks)”。他援引自身在 Google 遭遇的一位 GPU 并行计算专家的案例,尽管该候选人技术出众,但因态度极度轻蔑、充满敌意,最终被委员会果断否决。有害的人格特质会迅速破坏协作环境,拖垮整个团队的士气。在软实力与具体技术栈之间,只要候选人展现出极高的学习敏锐度(例如精通 Java 则很容易掌握 PHP),文化契合度与沟通协作能力往往比掌握某项当下框架更具长期价值。面试官的核心职责是发掘能提升团队基准、能够教学相长并值得托付代码维护的伙伴。 Lettvin 总结道,当前科技行业普遍采用的全天 5 至 6 轮独立面试制度或许只是局部最优解而非完美方案,如 Hacker School 开展的长期结对编程观察提供了更有价值的评估视角。企业在面试流程中应当保持谦逊与灵活性,在严格保障标准与防范认知偏差的同时,缩短决策周期并善待每一位候选人。

Detailed notes — zh

## Background 该视频由 Etsy 官方技术频道 Etsy Eng 于 2014 年 5 月 21 日在 YouTube 上发布。页面未提供具体的官方简介,内容为前 Google 资深工程师 Moishe Lettvin 围绕其主持约 250 场面试及担任招聘委员会委员的亲身经历所做的主题技术分享。 ## TL;DR 拥有 25 年软件从业经历的前 Google 工程师 Moishe Lettvin,基于自己主持约 250 场技术面试、任职 6 年招聘委员会的丰富履历,系统拆解了技术面试的本质与陷阱。他揭示了白板编程的随机性、评分聚类效应以及量化人才的荒谬性,对比了微软“招聘经理单点拍板”与 Google“跨团队委员会集体共识”两种决策机制的优劣。Lettvin 强调技术面试更像文学批评而非统计学,优秀的考题应如洋葱般层层递进,面试官的核心底线在于尊重候选人体验、拒绝录用有害团队氛围的“混蛋”,并尽力消除人造噪音以发现真正具备持续学习热情的工程师。 ## Atmosphere & style 整场演讲呈现出老牌资深工程师特有的松弛感与睿智幽默,语调平实质朴却极具洞察力。讲者毫不避讳地拿自己大学退学、GPA 仅 2.1 的非传统背景自嘲,并通过柯克兰分部委员会“亲手全票否决当年的自己”等荒诞轶事引得全场阵阵欢笑。现场宛如一次资深技术导师与后辈同侪围炉夜话式的内部复盘,坦诚剥离了大厂招聘机制的光环与虚伪,兼具发人深省的技术思辨与对工程师个体的人文关怀。 ## Bulletin - [09:33](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=573s) 前 Google 工程师 Moishe Lettvin 指出,Google 面试打分与员工日后绩效考评(Perf scores)之间毫无统计学关联,主因在于评分高度扎堆在 2.0 至 3.0 的狭窄区间,导致样本方差极小。 - [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) Google 采用跨团队招聘委员会(Hiring Committee)与“假阴性”优先策略:宁可误拒合格人才,也绝不放过任何平庸者,柯克兰分部委员会曾匿名重审内部成员当年的考核材料并全票拒绝了自己。 - [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) 相较于微软由单一招聘经理(Hiring Manager)直接拍板并导致“孤岛进化”降级标准,Google 严禁面试官在提交 2-3 页书面长文前互相讨论,彻底杜绝从众与先验偏见。 - [29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) 优质技术面试题应具备“洋葱结构”,从直观朴素解法层层剥离至深层算法优化,如从三角函数画圆逐步推导至纯整数加减的布雷森汉姆算法。 ## Key takeaways - [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) 技术面试本质上充满噪声与随机性,白板编码脱离现代 IDE 环境会严重诱发候选人心理失衡。 - [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) 技术公司普遍采取宁要假阴性(误拒优秀人才)、杜绝假阳性(招入平庸员工)的高门槛防御策略。 - [10:28](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=628s) Google 面试评分在脱离具体文字语境时毫无意义,招聘委员会做决策的核心依据是数页详尽的书面事实反馈而非干瘪的数字。 - [12:11](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=731s) 技术面试更接近文学批评而非统计学,将工程师的核心素养简化为单一量化指标会陷入经典的“人类错误量度”陷阱。 - [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) 微软的单点决策机制容易因管理者的用人紧迫感与编制利益导致招聘标准发生不可逆的“孤岛进化”滑坡。 - [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) Google 坚持“为全公司招人而非具体团队”,通过跨团队共识机制打破部门私心并维护统一的代码与人才标准。 - [20:49](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1249s) 面试官名单应结合“已校准面试官”(25 场以上经验)与新手进行搭配,确保新手出现重大失误时委员会可安全剔除该部分数据。 - [22:20](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1340s) 面试的首要目标是让候选人感到开心与受尊重,恶劣的面试体验会迅速损害公司的公众口碑与业务声誉。 - [29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) 好问题应具备“洋葱理论”特征:外层提供朴素粗糙的解法快速建立信心,随后逐层递进考察深度算法思维与优化极限。 - [33:46](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2026s) 面试是一项独立于实际工程能力的技能,具有人造的虚假性,企业应主动提高透明度以降低候选人的临场噪音。 - [43:06](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2586s) 坚持“绝不录用混蛋”法则:无论候选人在特定领域的技术有多聪明,毒性态度都会拉垮整个团队,必须予以一票否决。 - [45:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2731s) Google 严禁面试官在提交评估前互通信息,宁可牺牲部分上下文交接,也坚决阻断首轮资深面试官造成的“信息级联”与认知偏差。 - [54:16](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3256s) 针对候选人卡壳,面试官应设计具备渐进层次的开放式问题来提供阶梯式提示,切忌提问封闭式的名词解释或纯定义题。 - [59:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3541s) 发 Offer 响应速度与集体决策机制存在天然张力:扁平模式虽当天能给结果但伴随单点失效,委员会集体把关则必须尽全力提速以减轻候选人等待折磨。 ## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=0s) 讲者背景与 Google 面试委员会机制 讲者 Moishe Lettvin 开门见山地介绍,他将分享在 Google 参与约 250 场面试所总结出的“25 条经验教训”。在加入 Etsy 担任卖家经济团队(Seller Economics team)软件工程师约 4 个月之前,他在 Google 工作了近 7 年,再往前则曾两度任职于微软,并待过一家初创公司和马萨诸塞州的一家小型工时计费软件公司。当他列出这 25 点经验时才猛然意识到,自己不知不觉已经在软件行业摸爬滚打了 25 年,这让他感到时光飞逝,甚至觉得自己“有点老了”。 ```mermaid flowchart TD accTitle: Google 招聘决策流程 accDescr: 候选人经历现场面试,由面试官撰写反馈包,再由互斥的招聘委员会做最终录取决定。 subgraph S1["现场面试环节"] A["候选人 Candidate"] --> B["现场面试官阵容 (4-5 人)"] B --> C["分别撰写书面反馈 Detailed Feedback"] end subgraph S2["独立决策环节"] C --> D["汇总为候选人材料包 Application Packet"] D --> E["招聘委员会 Hiring Committee (独立审核)"] E --> F{"最终决定 Hire / No Hire"} end ``` 在详细展开技术面试之前,Moishe 介绍了他在 Google 的独特资历和该公司的面试体系。他在 Google 的 7 年中有 6 年担任招聘委员会(Hiring Committee)成员,同时还主持了长达 6 年的面试培训课程。他解释道,Google 的招聘流程是由 4 到 5 位现场面试官分别撰写详细的书面评估,所有反馈汇总成一份“材料包”(Packet),随后递交至独立的招聘委员会进行审查并做出最终录取决定;而招聘委员会的成员通常完全不包含那些在线下见过候选人的现场面试官。值得一提的是,Moishe 自认在各家公司都是个非传统背景的特例——他大学甚至没有毕业,唯一的大学学期平均绩点(GPA)仅有 2.1,因此他在职业生涯早期去任何地方求职时都格外忐忑,简历上总显得“明显缺失了点什么”。 - **从业资历**:软件行业从业 25 年,前 Google 工程师(7 年)、微软(两段经历),现任 Etsy 卖家经济团队。 - **面试与培训经验**:在 Google 主持约 250 场面试,任职招聘委员会 6 年,负责内部面试培训 6 年。 - **教育背景**:非科班、大学退学,大学唯一学期 GPA 为 2.1。 ### [02:14](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=134s) 面试的乐趣:思维碰撞、算法学习与奇妙偶遇 Moishe 谈到面试本身无论对于何种职能来说,其实都可以是“非常有趣的”,这颠覆了他最初作为候选人时的想象。在作为面试官的过程中,与素不相识的人交流、与同样具备专业知识的同行碰撞思路,能带来极大的快乐。他分享了去年夏天在 Google 面试一位刚毕业不久的女候选人的经历:他抛出了自己最爱的一道面试题——在 Boggle 棋盘中找出所有单词。这道题通常有两种平行的解题路径,分别求解后最终能优雅地合二为一。那位候选人在得到一些提示与引导后,眼眸中突然闪现出算法合并的火花,甚至当场失态惊呼起来: > “she like literally said oh my god that's order one that's what everybody wants and just like freaked out right and it's like this is so much fun”——Moishe Lettvin 除了这种心智共鸣的快感,Moishe 还直言自己的大部分计算机科学专业知识其实都是在招聘委员会期间学来的,正是通过观摩不同面试官考察的算法思路,他补齐了自己的理论短板。此外,面试官往往还能遇到许多传奇人物;比如在一次非研发岗位的面试中,他迎来的候选人竟然是著名加密软件 PGP 的发明者菲利普·齐默尔曼(Philip Zimmermann)。 ### [04:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=271s) 面试的阴暗面:耗时、高压与不可控的意外 然而,面试也绝非总是充满阳光,一旦体验变差,它就会变成一场痛苦的折磨。首先是极高的时间消耗:在 Google 进行一场标准的 1 小时面试,算上先前的背景审查与命题准备、面试过程本身、会后撰写详尽的反馈报告,通常需要净投入约 3 个小时。其次是巨大的心理压力;Moishe 指出,许多从事计算机科学的人本身就不擅长同陌生人打交道,当面试官与求职者在陌生情境下交锋时,双方都会产生不可避免的紧张感。 更严重的问题在于各种突如其来的偶发状况。有时是双方在沟通理解上完全脱轨;在少数极度尴尬的场面下,求职者会因为做不出题目、找不到切入点而急得当场崩溃大哭;有时面试官甚至会遇到态度傲慢无礼的人(尽管在 250 场面试中这种情况大概只碰过一次);还有些面试资深职位的候选人自命不凡,认为在白板或者电脑上写代码是“有失身份”的事,直接拒绝动手写代码。 - **单场面试时间成本**:1 小时面对面考核,前后准备及撰写评审材料需耗费约 3 小时。 - **突发失控场景**:严重的语言沟通障碍、候选人挫败大哭、傲慢自负的冲突,以及拒绝编写代码的极端情况。 ### [06:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=361s) 机制中的噪点与荒诞:白板、反选阵容与委员会“全军覆没” Moishe 强调,他在 Google 学到的最深刻认知是:技术面试本质上充满了噪声、不准确性以及随机性(Noisy, Inaccurate, and Arbitrary)。以 Google 长期推崇的白板写代码为例,许多程序员平时习惯在 Vim、Emacs 或 Eclipse 等 IDE 中依赖代码补全和随时 Google 语法,一旦置身于冰冷的白板前,不仅思考方式脱节,还会因为满手蹭上白板墨水、满地找板擦而产生连锁心理崩盘。此外,面试官自身的生理和心理状态(例如没吃早饭、刚跟伴侣吵完架)也会给打分带来巨大的不可控偏差,导致同一位候选人在同一批面试官面前间隔几天可能会得到完全相悖的评价。 为了阐释这种荒谬性,Moishe 提到了曾与他共用一间办公室的前 Google 知名博主 Steve Yegge。Steve Yegge 曾提出一个著名论点:“任何能进 Google 的合格候选人,都存在一套完美的面试官阵容,也存在一套完美的反选面试官阵容(Anti-slate)”;换言之,即便是已经被录取的人,也随时能挑出 5 位肯定会投出反对票的 Google 面试官。由于面试判断的误差范围极大,Google 采取的对策是把录取门槛提得极高,其底层逻辑是“宁可错杀优秀的候选人(假阴性),也绝不招进不称职的人(假阳性)”。 为了证明这一机制有多么严苛乃至荒唐,Moishe 讲述了一个发生在 2007 年 Google 柯克兰(Kirkland)分部招聘委员会的真实事件。当时该分部以严苛闻名,某周他们审核了大约 8 到 10 份候选人材料,并毫不留情地否决了其中的每一个人;会议结束时,招聘人员才笑着公布真相: > “at the end of hiring committee the recruiter was like well guess what guys these were your packets from when you were interviewed here and you just decided not to hire any of yourselves”——Moishe Lettvin - **白板编码痛点**:缺乏 IDE 工具链辅助(自动补全、即时搜索),物理操作不便容易诱发焦虑。 - **高门槛策略实质**:宁要假阴性(误拒优秀人才),杜绝假阳性(招入平庸之人)。 - **柯克兰办公室测试**:招聘委员会匿名重审团队全员当年的入职考核档案,结果委员会亲手全票拒绝了当年的自己。 ### [09:33](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=573s) 数据驱动的困境:1 到 4 分的评分聚类效应 在演讲第一部分的尾声,Moishe 探讨了“数据是一把双刃剑”。Google 内部长期收集海量招聘数据,此前《纽约时报》曾刊登过 Google 人力运营前资深副总裁 Laszlo Bock 的采访,披露 Google 内部试图分析面试评分与员工日后的绩效考评(Perf scores)之间的相关性,结果发现二者之间竟然“毫无关联”。 Moishe 解释道,这一结论完全合乎情理。在 Google 的评分机制中,面试官打分在 1.0 到 4.0 之间:1.0 意味着“坚决不录用”,4.0 意味着“必须录用”。但在实际操作中,极端分数极罕见,评分呈现类似指数形态的分布,绝大多数有效打分都高度扎堆在 2.0 到 3.0 的狭窄区间内。这种严重的聚集效应导致样本间的数据方差极小,让人根本难以从中抽取有意义的区分度来进行统计学关联。 ### [10:28](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=628s) 分数的局限性:量化人才的“人类错误量度”陷阱 Moishe Lettvin 指出,面试评分在脱离具体语境时毫无意义。举例来说,他自己给出的 3.1 分,与招聘委员会成员 Michael Know 给出的 3.1 分代表的完全不是一回事——后者在公司以面试极其严苛而闻名。人们总有一种利用手头大把数据的冲动,试图在不同面试官的主观评分之间建立关联,但这根本行不通,因为“数字本身并没有意义”。评分系统唯一的好处是能为招聘委员会生成直方图,通过查看面试官以往的历史给分来辅助判断。但具有讽刺意味的是,直方图恰恰暴露了评分的不可预测性:图表中的柱状条根据候选人最终是否被录用来着色,结果显示,几乎所有面试官的评分与最终录用结果之间的对应关系都是杂乱无章、遍地开花的。 招聘委员会真正依赖且至关重要的部分是长达三到四页的文字叙述反馈(written narrative)。Lettvin 认为,核心痛点在于人们很难对候选人身上真正重要的特质进行数字量化。把人简化成一个数字,就如同用智商(IQ)或 SAT 成绩来定性一个人一样,陷入了经典的“人类错误量度”(The Mismeasure of Man)困境。关于这一点,Moishe Lettvin 总结道:“你面对的是一整团数据云,却试图把它投射到一个维度上,这基本上是行不通的。”(“like you've got this cloud of data that you're looking at and you're trying to project that into one dimension and it basically doesn't work.”) - 单个分数无法横向对齐:不同面试官尺度差异极大(例如 Lettvin 的 3.1 分 vs Michael Know 的 3.1 分)。 - 直方图反证法:按最终录用结果着色的分数柱状图完全离散,证实单纯的分数缺乏预测效力。 - 招聘委员会的核心决策依据是面试官撰写的 3 至 4 页详细文字反馈,而非干瘪的分数。 ### [12:11](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=731s) 无法量化的特质与“文学批评式”面试法 更为棘手的是,作为优秀员工最重要的那些特质,往往无法在面试中直接提问。Lettvin 分享了他在 Google 刚入职时的导师 Bob Day 的故事。入职第二周,Lettvin 需要给 Windows 下载客户端的任务管理代码添加功能,由于原有架构很别扭,他本打算拼凑塞进一段丑陋的代码,但在提交 Code Review 给 Bob 时,Bob 问他完全重写需要多久。Lettvin 回答“大概两周”,Bob 随即毫不犹豫地批准:“那就去重写吧,放手去做。”这让 Lettvin 感受到了团队协作中最珍贵的东西:信任,以及对代码健康度优于单纯考核“每周代码提交量”的工程环境。 这种难以捉摸的工程师特质还体现在对技术的纯粹热情上。Bob Day 曾从微软休假一年,专门逆向破解网络游戏《无尽的任务》(EverQuest),甚至重写了 Windows 驱动程序以抓取并显示客户端与服务器之间的交互数据。Lettvin 强调,你无法通过标准题目直接测出这种品质,最好的方式是提出能激发对方创造力、热情和趣味性的问题;当优秀的候选人遇到真正有趣的难题时,整个人会兴奋起来,做对题目反倒成了顺带的副产物。在谈到面试的本质时,Moishe Lettvin 提出:“我觉得面试更像文学批评,而不是统计学。”(“I feel like interviewing is more like literary criticism than it is like statistics right like you you have this kind of big amorphous blob of data and you're trying to distill that but you can't distill it into numbers it only works to distill it into ideas.”) ### [15:05](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=905s) 孤岛进化与委员会制:微软与 Google 的招聘机制博弈 面试是一项团队协作,单独一名面试官往往会受限于单重视角或个人性格摩擦。Lettvin 对比了微软与 Google 的机制设计。在微软,虽然也有多位面试官组成的面试轮次(slate),但最终拍板权掌握在单一的招聘经理(Hiring Manager)手中。这造成了严重的单点故障(single point of failure):经理们通常背负着紧急项目的填补需求,且在微软的文化中,管理者的职级地位直接与手下直接汇报的人数(headcount)挂钩,因此极易出于不让编制被收回的私心而降低门槛。一旦招进稍低于标准的人,这些人日后也会担任面试官乃至招聘经理,导致招聘标准像“孤岛进化”(island evolution)一样不可逆地逐级下滑。 为了遏制这种孤岛效应,Google 采取了跨团队的招聘委员会(Hiring Committee)制度。委员会中有管理者,但没有单人独断权,必须全员达成共识。评议材料还会逐级上报,比如 Kirkland 分部的委员会材料需要送交高层评审(Executive Review),在 Lettvin 任职期间,甚至连联合创始人 Larry Page 都会亲自签字批准每一份录用档案。这种机制的核心逻辑在于:你招聘的是 Google 的工程师,而不是特定某个小组的私有资产,从而保障了全公司代码水平和人员素质的一致性。 ```mermaid flowchart TD accTitle: Microsoft vs Google Hiring Mechanism Comparison accDescr: Diagram contrasting Microsoft's single-point-of-failure hiring manager model with Google's cross-team hiring committee consensus model. subgraph MS["微软模式:孤岛进化风险"] direction TB M1["面试官团队提供输入"] --> M2["单一招聘经理拍板决策"] M2 -->|"面临人头编制/地位压力"| M3["标准微降录取"] M3 --> M4["新员工晋升为面试官/经理"] M4 -->|"缺乏外部制衡"| M2 end subgraph GG["Google 模式:跨团队共识防线"] direction TB G1["跨团队多元面试官输入"] --> G2["跨团队招聘委员会 (Consensus)"] G2 --> G3["高层审核 (Executive Review)"] G3 --> G4["Larry Page 终审签字"] G4 --> G5["为全公司标准负责,而非单一部门"] end ``` - 微软单点失效原因:项目人手短缺的紧迫感,加上管理者的个人地位与直接下属人数(headcount)强绑定。 - Google 跨团队委员会:打破团队壁垒,强调“为整座公司招聘员工”(hiring them for Google),防止个别团队门槛滑坡导致声誉恶化。 - 极端把控:在 Lettvin 离开前,Larry Page 仍坚持过目并签署每一份录用包裹(packet)。 ### [18:04](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1084s) 做好准备与“爵士乐式”的临场应变 面试官必须做好充分准备。Lettvin 回忆了自己在微软第一次当面试官的惨痛教训:他在当天早晨才被临时塞进面试轮次,面对的是 1985 年就加入微软、写过核心模块的资深元老 Darrell Richmond。由于 Lettvin 毫无准备,整整 45 分钟都只是听对方漫无边际地讲述当前的工作,没有收集到任何有价值的评价数据。更尴尬的是,部门经理以典型的微软粗暴风格,将他那份毫无价值的反馈邮件直接抄送给整个团队,并公开批注:“千万别学他这么做。” 相比之下,Google 提供了长达四到五个小时的系统化面试培训课程。Lettvin 建议,即便没有官方大课,面试官也应在与有经验的同事交流后确立基础的时间结构(例如:前 10 分钟介绍破冰、中间 40 分钟专注于解决技术问题、最后 10 分钟答疑与收尾)。此外,面试官必须在白板或电脑前与同事进行三到四次实战试讲(dry run)。因为面试官初期的紧张感甚至会超越求职候选人,肩负着“必须对题目的每个细节了如指掌”的心理包袱。但准备并不等于死板照搬,面试就如同演奏爵士乐,随时会有意外发生。关于应对面试现场的失控,Moishe Lettvin 指出:“充分准备的一部分,就是清楚意外一定会发生,并且无论如何都能化险为夷。”(“part of being prepared is just knowing that that's going to happen and make it work anyway”)例如当候选人坦白或明显表现出早就刷过这道拿手题时,面试官必须随时能够掏出备选方案进行灵活切换。 ### [20:49](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1249s) 面试中的即兴发挥与“校准机制” 在面试过程中,面试官必须学会随机应变与即兴发挥。有些候选人可能出于某种原因完全不想在白板上写代码,甚至根本不想写代码,这时面试官需要灵活调整;而在另一些时候,候选人可能会针对你最拿手的一道题探索出一条你从未涉足过的解题路径,甚至当场发现一些非常酷的思路。这种时刻往往是面试中最美妙的体验。面试官应当为此做好心理准备,乐于接受来自候选人的启发与教学。 面试技能本身就像 Etsy 的其他工程实践一样,需要不断迭代。任何初次涉足面试的人一开始都会表现得很差,这需要大量的练习。Google 针对这一问题采取了一套行之有效的机制:在组建面试官名单(interview slate)时,明确将资深与新手面试官进行搭配。一场面试通常会安排三名完成过 25 场以上面试的“已校准面试官”(calibrated interviewers),外加一到两名新手。这样设计的目的在于,哪怕新手完全搞砸了某场面试,委员会也可以直接舍弃这部分数据,依然拥有足够的有效信息做出录用决策。没有新鲜血液的源源不断加入,公司的资深面试官终究会耗尽。在谈到面试官的行为底线时,Moishe Lettvin 给出了最直截了当的诫条:“The only mistake that I would caution against the only rule is don't be a dick right like I think that's other than that whatever but just be cool.”(我唯一要告诫避免的错误,唯一的规矩就是别当混蛋,除此以外都无所谓,只要保持友善得体即可。) ```mermaid flowchart TD accTitle: Google 面试官搭配与容错机制 accDescr: 展示 Google 如何组合资深与新手面试官以确保面试评估的稳定性 subgraph Slate["面试组合配置 (Interview Slate)"] direction TB Calibrated["3 名已校准面试官<br/>(完成面试 > 25 场)"] Newbies["1-2 名新手面试官<br/>(练手与经验积累)"] end subgraph Evaluation["评估决策与容错"] DataReview{"评估新手表现"} Keep["保留有效反馈"] Discard["数据偏差大:直接舍弃数据"] Decision["依据校准数据做出雇佣决定"] end Calibrated --> Keep Newbies --> DataReview DataReview -->|"正常"| Keep DataReview -->|"严重失误"| Discard Keep --> Decision Discard --> Decision ``` - Google 将完成 25 场以上面试的工程师定义为“已校准面试官”(calibrated interviewer)。 - 新人面试官的数据在出现严重失误时可被直接剔除,而不影响整体录用决策的有效性。 --- ### [22:20](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1340s) 面试是一场对话:把候选人的体验放在第一位 面试归根结底是一场对话,绝不是一场测试,更不是让候选人去闯关以检验其能否存活的严酷考验(gauntlet)。对话固然有其目标,但绝不应给候选人施加不必要的心理压力。面试双方都是人,理应彼此以人性相待。Moishe Lettvin 强调,这场对话最核心的目标就是让候选人感到开心,这一原则高于一切:“So the primary goal of this conversation you're having with the candidate is make them happy right that overrides everything else.”(因此,你与候选人进行的这场对话的首要目标是让他们感到开心,这凌驾于其他一切之上。)如果为了获取所谓的“有效数据”而冒着激怒或伤害候选人的风险,那说明面试官的做法已经出现了偏差。 为了验证这一点,Moishe Lettvin 在演讲现场让对 Google 面试流程抱有好感的人举手,结果全场只有寥寥一两只手举起。事实上,让候选人满意原本也是 Google 的主要目标之一,然而只要有一位候选人在 Google 遇到一个傲慢自大的面试官,回去写一篇博客发到网上,整个互联网就会人尽皆知,这种恶名足以轻易抵消 50 个人口口相传的好评。面试体验不仅关乎招聘声誉,未被录用的候选人可能拥有同样优秀的同学与朋友,甚至在 Etsy 这样的平台上,他们本身就是活跃的买家或卖家。 除了良好的体验,这场对话还需要解答两个核心问题: 1. **“我会愿意和这个人共事吗?”** 你的工作体验主要取决于你的同事。即便候选人未来不会与你在同一个团队甚至同一个办公楼,只要他们具备使团队变得更优秀、能启发你、能与你互相学习的特质,就值得录用。在理想的工作环境中,身边应当环绕着比自己更聪明的人。 2. **“候选人会愿意在这家公司工作吗?”** 面试是双向的双选。候选人不仅需要解答关于工作的疑问,还需要感受公司的文化与氛围。Moishe Lettvin 回忆起自己在 Etsy 面试时的经历,正是员工身上展现出的理想主义热情与真实的人性关怀(humanity),深深打动了他。 --- ### [26:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1584s) 慷慨的面试:彼此教学与算法的优雅之美 优秀的面试具有“慷慨”(generous)的特质:面试官对候选人坦诚以待,并为候选人全心投入,而不是高高在上地坐等候选人讨好自己。这种慷慨体现在充分的准备、紧跟候选人的思路以及提出恰到好处的引导性问题上。在 Moishe Lettvin 经历的最顶尖的面试中,无论是作为候选人还是面试官,他总能在过程中学到令人惊叹的新知。 作为面试官,他在考察一道著名的“Boggle 单词搜索”题目时便有过难忘经历: - **题目背景**:给定一个由字母组成的网格,从任意字母出发沿相邻方向移动,遍历图结构以找出所有有效单词;第一步是实现图的遍历,第二步是利用字典树(Trie)实现高效的词汇查找。 - **意料之外的突破**:这道题 Moishe Lettvin 平时只能推导到这个阶段,但某位候选人仅用大约 8 分钟就完成了全部解答。当被问及还能做些什么时,该候选人展示了如何通过将字典树节点与图节点同时传入递归函数,实现对图与字典树的并行遍历。这种此前从未被设想过的解法堪称神来之笔。 作为候选人,Moishe Lettvin 同样在面试中体会到了数学与工程的优雅之美: - **Google 的蓄水池抽样问题**:面试官要求从未知大小的数据流(如时间戳)中随机抽取固定数量(例如 10 个)的样本。该题存在一个极为漂亮的常数时间解法——在当前已见元素数量与 0 之间生成随机数,若小于样本容量则替换入池。面试官非常擅长循循善诱,巧妙地提供引导与提示,让他在完成严谨数学证明的同时,感受到了问题逐渐收敛至优雅解法的纯粹乐趣。 - **Etsy 的机器学习面试**:在 Etsy 面试时,Josh Attenberg 在面试过程中现场教会了他 K 均值聚类(k-means clustering)算法,使原本陌生的算法概念在面试结束时变成了令人愉悦的知识收获。这一切美妙体验的前提,都是面试官自身准备充分且对考察内容有着深刻理解。 --- ### [29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) 时间把控与“洋葱型”技术面试题 与面试中的“慷慨”相对的另一个关键要素是时间把控。时间管理是技术面试中最容易被忽视却至关重要的技能。在实际面试中,时间极易失控——有些候选人滔滔不绝,或者把话题引向与面试考察目标毫不相干的枝节上,而有效掌控节奏的能力只能通过反复实践来掌握。 谈及技术面试题的设计哲学,Moishe Lettvin 提出了“洋葱理论”:“So the first thing is good questions are like onions and by that I mean there's there's kind of a naive solution in the outer crust and you can peel that back and get to deeper more interesting problems as you go on.”(好问题就像洋葱,外层有一个朴素粗糙的解法,随着你一层层剥开它,就能逐步深入到更核心、更有趣的问题。) 作为这一理念的引子,他回忆了自己 1994 年在微软经历的人生第一场技术面试。当时他穿着人生中大概第二套西装,紧张万分地走进考场,对技术面试一无所知。在经历了长达五分钟折磨人的寒暄(比如聊个人经历、喜不喜欢西雅图等他毫无兴趣的客套话)之后,面试官终于抛出了一道编程题:“写一个画圆的程序”。这让他如释重负,立刻写出了利用正弦($\sin$)和余弦($\cos$)函数从 $0$ 循环到 $2\pi$ 并乘以半径的朴素解法。而面试官随即给出了经典的洋葱式推进:“这方法太慢了,把它优化加速。” - **画圆算法的洋葱外层**:基于三角函数($\sin$ / $\cos$)的浮点数步进计算,虽然直接直观,但性能低下。 - **面试题设计核心**:必须具备足够的扩展纵深,既能让紧张的候选人快速写出基础代码建立信心,又能层层剥离以考察候选人的算法优化与底层思维。 ### [03:11:08](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=11468s) 深入单道算法题与层层剥茧的递进式考察 在微软面试画圆算法的经历中,Moishe Lettvin 演示了如何将一个看似平凡的技术问题抽丝剥茧。画圆的第一层优化是利用圆的八分对称性(8-way symmetry),只需计算八分之一圆周(从 0 到 $\pi/4$)即可推导出整圆。然而这依然需要调用高昂的三角函数,在 1994 年的硬件环境下运行极慢。于是面试官要求去掉正弦和余弦函数,通过勾股定理与平方根根据 $X$ 求解 $Y$。这种方法不仅保持了对称性,还填补了三角采样带来的像素间隙。然而在面试还剩 15 分钟时,面试官给出了终极限制:“不能用平方根”。此时气氛立刻紧绷起来,面试官引导他推导布雷森汉姆算法(Bresenham's algorithm)——利用累加器计算当前点偏离理想圆周的误差,仅靠整数加减法决定下一个像素走向。在面试最后三分钟,Moishe Lettvin 成功写出了这套算法,面试官笑着恭喜他写出了 Windows 系统底层实际使用的画圆算法。 ```mermaid flowchart TD accTitle: 画圆算法优化演进路径 accDescr: 展示从简单三角函数到布雷森汉姆算法的四层递进优化流程。 subgraph S1["第一阶段:初级解法"] A["朴素三角函数计算<br/>(sin / cos 全圆计算)"] --> B["八分对称性优化<br/>(只算 1/8 圆周,0 到 π/4)"] end subgraph S2["第二阶段:消除三角函数"] B --> C["利用平方根求解<br/>(勾股定理求 X/Y,填补像素缝隙)"] end subgraph S3["终极阶段:纯整数累加"] C --> D["布雷森汉姆画圆算法<br/>(Bresenham's algorithm,仅用整数误差累加器)"] end ``` 这种耗时整整一小时、在同一个题目上不断加码优化的面试方式,体验远胜于“打散弹枪”式的走马观花。候选人不需要像赶场一样机械应对“问题 A 通过、问题 B 通过、问题 C 录用”,而是专注于一个核心目标进行迭代打磨。除了画圆,康威生命游戏(Conway's Game of Life)也是这种思路的典范:基础规则非常简单,只涉及棋盘格点周围邻居的计数与存活判断,能像 FizzBuzz 一样快速验证候选人是否真会写代码;但在工程优化上空间广阔,可以将其改写为时间复杂度与“活细胞数量”正相关的算法,或是引入并行计算。人类对生命游戏算法的研究长达四十年,背后有极为丰富的优化文献可供深入挖掘。 ### [03:13:46](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=11626s) 提高沟通带宽与看透面试的“人造虚假性” 面试环境需要追求更高的信息带宽。在沟通媒介的选择上,面对面优于视频通话,视频通话优于纯电话沟通;而在表达工具上,提供白板或画图工具远比纯粹口述要好。每个候选人习惯的工作方式各不相同,有人擅长白板构思,有人在键盘终端前才发挥得最好,给候选人最舒适的表达介质才能抓取到最真实的解题能力。Moishe Lettvin 回忆起自己在微软的第一场面试,当时他整天神经紧绷、极度焦虑,一位面试官看出了他的状态,索性留下一本笔记本和一道题,自己走出办公室让他独自安静写代码。虽然这种直接离开房间的做法不一定是最标准的面试范式,但确实给了他迫切需要的减压空间。 面试本身天然存在一种“人造的虚假性”(artificiality)。在面试中扮演候选人,和在实际岗位上从事工程工作完全是两码事。Moishe Lettvin 直言:“面试是一项不同于成为优秀工程师的独立技能。”面试官的核心职责是穿透这种虚假表象,考察那些真正具备长期价值的特质:学习能力、创造力以及团队相处的愉悦度,而这些品质并不取决于写代码的工具究竟是白板还是 Emacs。 ### [03:15:27](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=11727s) 降低环境噪音与帮助候选人展现最佳水平 人造的虚假规则会带来大量的随机噪音,而企业应当尽力提高信号、消除噪音。消除噪音最有效的方式就是完全公开透明,让候选人提前明确将要面临的流程与形式。公司没有必要刻意给面试披上一层神秘外纱,完全可以主动提供样题、鼓励候选人提前练习在白板上书写代码。Moishe Lettvin 宁愿录取一个原本不擅长面试、但通过充分练习越过了及格线的优秀工程师,也不愿因为候选人对面试形式不熟悉而错失人才。 面试官必须向候选人明确传递一个基调:面试官的职责是协助他们展现出最高水平,而不是设置陷阱看他们出丑。针对全行业通行的面试体系,Moishe Lettvin 总结了当下的局限与未来的期望: - **流水线面试模式的局限**:像 Google 那样每天安排五到六位面试官、每人一小时出题并汇总数据的模式,可能是全行业当前摸索出的局部最优解(local maxima),但这绝非完美方案。 - **颠覆传统的招募实验**:像黑客学校(Hacker School)这样长达两个月的硬核高强度编程训练营,在评估真实编码与交付能力上具有压倒性的信号纯度,是极具威力的招聘工具。 - **Etsy 的文化土壤**:Etsy 具备独特的企业文化与价值观,完全有条件跳出传统硅谷大厂的狭窄套路,探索更新维度的招聘方式。 - **面试官的两条终极法则**:“享受其中(Have fun)”与“保持学习,不要让考题变得陈腐(Always be learning and don't get stale questions)”。 ### [03:18:02](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=11882s) 问答环节:机器学习文本分类与招聘容错博弈 在分享结束后的现场提问环节,听众就面试记录的信号挖掘与录用决策的权衡展开了深度探讨: - **关于能否用文本分类器分析面试评语**:有听众询问既然文字反馈比数字评分包含更多信号,Google 是否曾尝试利用文本分类器或机器学习模型来自动提取这些信号。Moishe Lettvin 表示在 Google 从未见过实际应用,但确信内部有人尝试过。阻力主要在于公司仍希望保留人工判断的温度;此外,文字评语的行文风格存在极强的面试官个体差异(有人言辞温和,有人极为挑剔),招聘委员会能通过长期经验校准这种个人偏好,但模型很难在每个面试官样本量有限的情况下进行有效训练。 - **关于宁缺毋滥与给候选人机会的权衡**:有听众问及,Google 的策略是“宁可漏掉优秀人才,也绝不冒招进平庸者的风险”,面对这种权衡,个人究竟应该倾向于给非典型候选人机会,还是继续恪守保守防线? - **个人经历带来的情感冲突**:Moishe Lettvin 坦言自己内心十分矛盾。他的第一位老板曾向他透露 1988 年录用他时的考量:“Glenn 进来时懂什么是中断(interrupt),在 1988 年那可是件了不起的大事;Peter 给我看了他用 6502 汇编语言写的游戏,那很厉害;而你打字速度极快,所以我觉得只要你写出的东西有一半能跑起来,你就没问题。”这种自身的奇妙机遇让他认为值得在背景非传统或面试表现欠佳的潜质人才身上承担风险。 - **错误招聘的连锁反应**:但从团队现实考量,“招错人带来的灾难绝不仅仅影响一两个人,它会引发连锁反应”。在做出选择前必须面对现实的拷问:“当这个人提交整整一周积累的代码时,你愿意替他扛着寻呼机随时待命修线上故障吗?”这是一个缺乏非黑即白答案的永恒平衡。随后,提问者进一步探讨了 Google 跨团队委员会招聘与微软特定团队自主招聘在权责机制上的根本区别。 ### [41:38](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2498s) 为公司招人还是为具体团队招人:招聘委员会与专业领域的权衡 现场听众提问:面试中如何避免“这人虽然达不到我团队的要求,但放在其他团队还行”这种心态?Moishe Lettvin 回答,在 Google 的招聘委员会(Hiring Committee)中,类似言论确实出现过几次,因为委员会成员会对面试官提交的反馈再进行书面评审。一旦有人暴露出这种心态,委员会就会立刻将其否决并警告:“如果你觉得这个人不够格进入你自己的团队,那我们就绝不会录用他。”(“If you don't think this person is good enough for your own team, then we're not going to hire him and I think like that was just a cultural thing…”)。Google 的文化从根本上强调的是“为整个 Google 选拔人才”,而且在招聘委员会评估阶段,候选人最终会去哪个团队根本还没确定,团队分配完全是后续独立的流程,候选人完全有可能转头被分进面试官自己的团队。 对于专业领域强相关的团队(Domain-specific teams)如何招聘,Moishe 解释,核心仍然是候选人首先必须达到公司的通用技术底线标准,在此基础上才考察特定领域的知识。通常的做法是在整个面试轮次(Interview Loop)中只安排一位专门考察该领域知识的面试官,其余轮次仍然是常规的技术与通用能力面试。 ### [43:06](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2586s) 技术硬实力与性格特质:绝不录用混蛋法则 当面临“顶尖技术实力但性格一般”与“技术尚可但性格契合度极高”的选择时,Moishe 倾向于更看重性格特质,但他强调必须搭配“快速学习和掌握新技能的能力”。比如在 Etsy 招聘时,候选人如果不会 PHP,但能在 JavaScript 或 Java 上证明过深度专长,那就完全可以接受,因为语言可以现学;但如果一个人被判定根本无法达到团队所需要的技术深度,那同样无法接受。Moishe 强调:“你不能性格软弱而技术过硬,也不能技术羸弱而性格强势;我认为在 Etsy,兼具两者是超级极其重要的。”(“You can't be weak personality wise and strong technically or weak technically in strong personality wise like I think it Etsy it's SuperDuper important to have both.”)。 随后有听众问及行业中广为流传的“绝不录用混蛋(Don't hire assholes)”原则。Moishe 对此表示百分之百赞同,并分享了一次亲身经历:他在 Google 面试过一位曾在 ATI 工作的高管或资深技术专家,此人是 GPU 并行计算(CUDA)领域的顶尖专家,极其聪明,但在面试过程中对他表现得极其傲慢无礼。Moishe 在写面试反馈时直白写道:“这家伙绝顶聪明,但这家伙是个混蛋。”巧合的是,当这份材料递交到 Moishe 所在的招聘委员会时,委员会里正好有另一位曾与该候选人在 ATI 共事过的工程师,对方当场证实:“哦,这家伙确实是个混蛋。”最终该候选人未被录用。Moishe 总结道:“不管他们有多聪明,我都无所谓,这会把每个人都拖垮。”(“I don't care how smart they are it's it drags everybody down yeah.”)。 ```mermaid flowchart TD accTitle: Candidate Evaluation Matrix accDescr: A decision flow showing how skills, personality, and toxicity determine hiring outcomes. Start["候选人综合考量"] --> Tech{"技术基础能力"} Tech -->|"未达最低门槛"| Reject1["拒绝录用"] Tech -->|"达到门槛 / 具备快速学习能力"| Behavior{"性格特质与人际合作"} Behavior -->|"毒性态度 / 混蛋行为"| Reject2["一票否决:避免毒化团队氛围"] Behavior -->|"契合团队 / 善于沟通"| Hire["正式录用"] ``` ### [45:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2731s) 面试官之间的沟通机制:微软的信息链与 Google 的盲评防偏差 在多轮面试期间面试官之间是否应该互通信息,引发了对微软与 Google 两家公司文化的生动对比。在微软,多轮面试进行期间后台一直运行着一条邮件链(Email chain)。前一位面试官面完后立刻在邮件里发出“Hire / No hire”的结论及理由,接下来的面试官(通常隔一个人)能看到这些信息。这种机制的好处在于可以交接盲点(例如提醒后序面试官:“我对候选人的某项能力吃不准,请深入考察”);但致命缺陷在于先验偏差(Bias):如果第一位面试官资历很深、声望很高,一旦发了判定邮件,后序资历较浅的面试官往往不敢违背其意愿,候选人立刻被第一轮的表现“毒害”或“加持”。 为了消除这种从众与偏见,Google 严格禁止面试官之间交流: - 在面试官正式提交书面反馈之前,严禁与其他面试官讨论候选人,确保每个人都从一张白纸(Clean slate)开始独立评估。 - 只有在所有人均提交了书面评分后,面试官之间才被允许在客观尊重的范围内讨论。 - 为了兼顾面试深度的递进并避免重复问同一道题,Google 采用的折中办法是在面试房间里放一张物理便签纸,每位面试官面完后在纸上简要记下自己考了什么题目,以及建议后续轮次可以深挖的方向。 Moishe 总结道:“我宁可要没有偏见的独立评估、哪怕为此遗漏一些上下文,也绝不想要引入先验偏见。”(“I would much rather have that without the bias and maybe lose some stuff than then introducing the bias.”)。 ### [47:39](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2859s) 多人面试与新人带教:影子面试与心理压力 针对“两位面试官对一位候选人”的群组面试形式,Moishe 结合 Google 的面试培训流程进行了分析。在 Google,工程师完成面试培训后,必须先以旁听者身份进行两次影子面试(Shadow interviews),随后自己主导一次面试并由资深面试官在旁监督把关。在影子面试机制中,规则明确要求观察者必须保持绝对沉默,仅坐在一旁记录观察,不得插话。 对于正式面试中出现两名面试官面对一位候选人的情况,Moishe 的主要担忧在于动态失衡容易让候选人产生“被群起而攻之(Ganged up on)”的压迫感与恐惧心理。但他并不完全否定这种模式,认为只要面试团队能清醒意识到这种心理机制并主动去缓和、消除这种紧张压力,群组面试依然有其适用的空间。 ### [48:36](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2916s) 经历者的视角:对 Etsy 招聘流程的观察与反思 Etsy 招聘团队的一位成员现场提问:作为刚走完 Etsy 面试流程并入职不久的工程师,如果拥有改变流程的权力,Moishe 最想调整哪一两点?Moishe 坦承,在自己参加 Etsy 的面试过程中,最令他感到意外的是现场被要求写的代码量竟然如此之少(“I was surprised in my interview by how little coding I got asked…”)。 但与此同时,他对 Etsy 的整体面试体验赞赏有加。与 Google 极度工业化、数据化的考核相比,Etsy 的面试真正将候选人当成一个完整鲜活的“人”来对待,整个流程非常看重候选人的沟通能力以及能否自然放松地坐下来与人探讨交流。这种融洽的人文氛围让他感到极其舒适,也是促使他最终决定加入 Etsy 的关键驱动力之一。 ### [49:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2971s) 校准与数据深度:招聘委员会如何审视面试反馈 听众进一步追问:在 Google 安排新人与校准面试官(Calibrated interviewers)组合时,如果需要“剔除新人面试官”,判定的标准究竟是什么?合格的数据反馈应该是什么样的? Moishe 澄清,“剔除(Throw out)”并不是指直接把新人的记录从档案中撕掉,只要不是极度恶劣的违规,材料仍然会留在评审包(Packet)中,关键在于招聘委员会赋予其多大的权重。委员会的核心任务是判断“当前掌握的数据是否足以支撑录用决策”: - 如果档案中有三位校准面试官针对成套题目写出了详尽扎实的反馈,数据就已经足够支持录用。 - 即使另两位新手面试官给出的细节较单薄,只要整体方向一致,材料依然能够顺利过审。 对于招聘委员会眼里一份“优秀的面试数据反馈”,Moishe 拆解了具体构成要素: - **题目设计**:必须包含能全面考察候选人算法与编码功底的优质问题,如果是资深工程师,还需包含系统设计问题。 - **过程细节记录**:不要求写成小说流水账,但必须清晰呈现候选人攻克问题的多种路径与思维转换过程,明确标注哪些地方需要面试官提供提示(Hint)、哪些地方独立完成。 - **横向对照基准**:记录候选人面对该题目时的表现与 Google 内部工程师基准线的对照情况。 - **事实推导出的结论**:最终的录用意见必须完全由事实细节自然推导得出。 Moishe 举了一个具体案例来展示合格反馈的说服力: > “这个人对图的遍历理解非常深刻,并能将其迁移应用到一道表面看起来与图遍历完全无关的问题中;写出了稳健的代码;在白板上因为不想写全长变量名而使用缩写时,能主动向我说明……正因为所有这些事实,我认为我们应该录用他。”(“…this person you know had a very good grasp of graph traversal was able to apply that to this question that wasn't like at a surface about graph traversal wrote solid code talk through like told me when these variables were poorly named because you didn't want to write them out on the whiteboard etc right and and because of all those things I think we should hire…”)。 ### [52:02](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3122s) Etsy 面试流程与反馈长度争议:两三页到底写了什么? 现场听众就 Etsy 的内部面试闭环机制提问:大家是碰面开会讨论,还是各自写面经反馈?一位听众解释道,Etsy 的常规流程通常包含两个部分:面试前大家会在一个房间里开“事前预备会”(pre-huddle),分工明确每个人各自考察哪部分技术点;面试结束后,所有人必须先将反馈提交到招聘系统 Jobvite 中,以避免 Moishe Lettvin 之前提到的“信息级联”(information cascades)效应,最后再召开“事后面试复盘会”(post-huddle)交流对候选人的印象。 随后有听众抛出一个尖锐问题:Moishe 先前提及在谷歌每次面试后会写整整“两到三页”的反馈,这究竟是实打实写满两三页,还是有所夸大?因为在 Etsy 当前使用的 Jobvite 系统里,输入框只有四行长,写上一段就会溢出,“这到底是我们该把输入框改大,还是你夸大了?”Moishe 澄清说这绝非夸张:“其实真没有夸大,不过其中大概有一半是代码示例占用的篇幅;但如果以双倍行距打印出来,我觉得两页反馈是非常典型的。” Moishe 进一步分析了两家公司在流程上的根本差异:在像 Etsy 这样的公司,参加事后复盘会的人全都亲自与候选人交谈过,此时系统里的输入框更像是个备忘笔记(notes),用来记录稍后开会要当面聊的要点,自然不必长篇大论;然而在谷歌,“招聘委员会(Hiring Committee)除了那些书面反馈之外,字面上没有任何其他背景信息”,所有委员都没有直接见过候选人,因此反馈必须极其详尽、记录一切细节。尽管存在差异,Moishe 依然鲜明表达了自己的立场:“我个人提倡更多的数据、更多的持久化记录,也就是多写一点,我认为这很值得。” ```mermaid flowchart TD accTitle: 两种面试决策机制对比 accDescr: 对比Etsy轻量输入配合复盘会议与Google完全依赖委员会长篇档案的两种决策模式 subgraph Etsy["Etsy 决策机制(高上下文复盘)"] E1["Pre-huddle: 划分技术考点"] --> E2["面试实施"] E2 --> E3["向 Jobvite 独立提交摘要笔记<br/>(防止信息级联)"] E3 --> E4["Post-huddle: 亲自面试过的考官<br/>面对面开会复盘讨论"] end subgraph Google["Google 决策机制(零上下文委员会审查)"] G1["独立面试实施"] --> G2["撰写 2~3 页详尽档案<br/>(含逐字代码、提问演进与评分)"] G2 --> G3["送审 Hiring Committee<br/>(委员从未见过候选人,依赖纯文本定夺)"] end ``` --- ### [54:16](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3256s) 候选人挽留反馈与提示技巧:如何引导卡壳的工程师? 关于招聘的后半程——说服并吸引优秀候选人,听众询问谷歌或微软是否会对拒掉 Offer 或未被录取的候选人做回访调研,以便评估面试流程是否有劝退别人的问题。Moishe 证实,谷歌确实会主动跟进那些没有入职的候选人,主要出于两大诉求:其一,很多被拒的优秀人选,谷歌希望在一两内年重新邀请他们来复试,保持长期的沟通桥梁极为关键;其二,借此收集对整个招聘流程的改进建议。Moishe 回忆道,在他任职期间谷歌的决策速度已大有改观:“我刚加入谷歌时,最大的槽点之一就是拿一个决定要等上几个月,字面意义上的几个月;而现在通常缩短到了几周——虽然这依然不算多优秀。” 紧接着,一位提问者谈到了面试中给出提示(hints)的实操痛点:无论是设计深挖底层的系统问答(例如“从输入 URL 到页面展示,一次 Web 请求背后究竟发生了什么”),还是写代码环节,候选人常常一开局就卡壳停滞,面试官该如何在不直接送出答案的前提下给足线索? Moishe 指出,提供有效提示的前提是问题本身的架构设计:“我认为一部分原因在于你的问题是否易于给提示;千万别问那些只有‘是’或‘否’答案的封闭题,或者纯粹考术语定义的词汇题。”他解释称,只有具备渐进层次的开放式问题才能顺理成章地给出阶梯式提示。剩下的核心就是熟能生巧: - 题库越熟悉,你越清楚在哪个环节抛出哪句提示最能试探出选手的认知边界。 - 积累了通用的提问直觉后,哪怕临时被派去问一道自己不熟悉的新题,也能敏锐地引导对方拆解逻辑。 --- ### [56:33](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3393s) 软性文化契合考题与面试参考书籍点评 一名听众分享了其在前东家摸索出的面试绝活:团队为了防止招到无趣或合不来的人,会在流程中特意加入反传统的性格测试题,比如“讲一件你最近参与过的最爆笑的恶作剧”,或者“你最常吃的深夜零食是什么”,并询问大厂是否有类似的“破冰奇招”。Moishe 直言谷歌和微软通常没有这种刻意设计,但他回忆起自己在 Etsy 面试的第一关,面试官 Josh 抛出的第一个问题就让他惊艳至今: > “Josh 在这里问我的第一个问题是:‘你最喜欢的算法是什么?’我认为这是一个绝妙的问题。在文化契合度方面,它考察你到底有没有自己钟情的算法;在技术能力方面,它考察你能不能把它解释清楚。” Moishe 补充道,这种技术文化问题胜在候选人极难提前“背题”。相比之下,如今大行其道的传统行为面试题(“当发生情况 X 时你会怎么处理?”)效果大打折扣,因为候选人早把应试书背得滚瓜烂熟,面试官很难突破虚假的防线。 在书籍推荐环节,有听众调侃“面试书有利可图,市面上出版了一大堆”,询问 Moishe 有没有值得一读的书。Moishe 回顾了自己翻阅《编程面试揭秘》(*Programming Interviews Exposed*)的负面体验:书里收录了他在前几节讲过的“画圆”经典算法题,结果作者“连最有趣的精华部分都没写进去,给出的仅仅是个简单的开平方根暴力解法,我一看到那儿就想:好吧,这书真烂”。 与此同时,Moishe 强烈推崇前谷歌同事 Gayle Laakmann McDowell 所写的经典著作(即著名的《程序员面试金典》/ *Cracking the Coding Interview*)。Moishe 表示虽然当时一下子没叫准书全名,但他对作者极其信任:“她超级聪明,在这方面投入了巨量心血,而且她曾在谷歌担任过招聘委员会成员,因此我推断这极大概率是一本优秀的书。”他总结道,任何能帮助候选人消除技术面试信息差、降低临场噪声的书籍,对求职者与雇主双方都是利好。 --- ### [59:01](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=3541s) 发 Offer 响应时效与“单点故障”的权衡机制 问答环节以远程 IRC 聊天室的一个核心关切收尾:“面试结束后,给出 Offer 的周转时间(turnaround time)到底多长才合适?” Moishe 坦承,答案直觉上是“越快越好”,但现实中流程速度与决策机制之间存在天然的结构性张力: 1. **微软模式(单点决策)**:Moishe 当年在微软面试时,“面试当天我就拿到了 Offer,因为当天我的最后一场面试就是跟 Hiring Manager 聊”。如果组织高度信任每一个招聘经理,这种扁平决策极快,但也引入了显而易见的“单点故障(Single Point of Failure)”隐患。 2. **委员会模式(集体决策)**:一旦引入了多维度的委员会审核体系,流程流转必然不可避免地引入延迟与信息滞后;但其换来的是更标准化的门槛把控和更高质量的人才产出,这是一场永恒的权衡博弈。 Moishe 从候选人视角出发,强调无休止的等待是一种精神折磨: > “作为一个候选人,你显然希望越早听到消息越好,没有什么比苦苦等待回音更糟糕的了;就像当年我在四月份去谷歌面试,直到六月底才拿到 Offer,那期间简直就像是招聘人员每周都打电话对我说‘嘿,你的档案被转到某某招聘委员会了’……那简直快要把我逼疯了。” 最终,Moishe 向全场总结道:在确保内部机制可靠的前提下,请尽可能为你公司的招聘流程提速。演讲在全场轻松欢快的道谢与掌声中圆满落下帷幕。 ## Notable quotes > [20:49](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1249s) The only mistake that I would caution against the only rule is don't be a dick right like I think that's other than that whatever but just be cool. — Moishe Lettvin > [22:20](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1340s) So the primary goal of this conversation you're having with the candidate is make them happy right that overrides everything else. — Moishe Lettvin > [10:28](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=628s) like you've got this cloud of data that you're looking at and you're trying to project that into one dimension and it basically doesn't work. — Moishe Lettvin > [12:11](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=731s) I feel like interviewing is more like literary criticism than it is like statistics right like you you have this kind of big amorphous blob of data and you're trying to distill that but you can't distill it into numbers it only works to distill it into ideas. — Moishe Lettvin > [29:24](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1764s) So the first thing is good questions are like onions and by that I mean there's there's kind of a naive solution in the outer crust and you can peel that back and get to deeper more interesting problems as you go on. — Moishe Lettvin > [45:31](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2731s) I would much rather have that without the bias and maybe lose some stuff than then introducing the bias. — Moishe Lettvin > [43:06](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=2586s) I don't care how smart they are it's it drags everybody down yeah. — Moishe Lettvin > [18:04](https://www.youtube.com/watch?v=r8RxkpUvxK0&t=1084s) part of being prepared is just knowing that that's going to happen and make it work anyway — Moishe Lettvin ## Mentioned Moishe Lettvin, Google, Etsy, Microsoft, Philip Zimmermann, Steve Yegge, Laszlo Bock, Michael Know, Bob Day, Larry Page, Darrell Richmond, Josh Attenberg, ATI, Jobvite, Gayle Laakmann McDowell, Hacker School, PGP, EverQuest, Boggle, Conway's Game of Life, Bresenham's algorithm, K-means clustering, Programming Interviews Exposed, Cracking the Coding Interview [Source](https://www.youtube.com/watch?v=r8RxkpUvxK0)

Source quotes

[20:49] Moishe Lettvin: The only mistake that I would caution against the only rule is don't be a dick right like I think that's other than that whatever but just be cool. [22:20] Moishe Lettvin: So the primary goal of this conversation you're having with the candidate is make them happy right that overrides everything else. [10:28] Moishe Lettvin: like you've got this cloud of data that you're looking at and you're trying to project that into one dimension and it basically doesn't work. [12:11] Moishe Lettvin: I feel like interviewing is more like literary criticism than it is like statistics right like you you have this kind of big amorphous blob of data and you're trying to distill that but you can't distill it into numbers it only works to distill it into ideas. [29:24] Moishe Lettvin: So the first thing is good questions are like onions and by that I mean there's there's kind of a naive solution in the outer crust and you can peel that back and get to deeper more interesting problems as you go on. [45:31] Moishe Lettvin: I would much rather have that without the bias and maybe lose some stuff than then introducing the bias. [43:06] Moishe Lettvin: I don't care how smart they are it's it drags everybody down yeah. [18:04] Moishe Lettvin: part of being prepared is just knowing that that's going to happen and make it work anyway

Source quotes

[36:30] Moishe Lettvin: This general milieu of like five or six interviewers in a day, an hour each, asking some questions, collating that data, that might be the best we can do... it might be the best, but it probably isn't, and I hope it isn't. [12:11] Moishe Lettvin: I feel like interviewing is more like literary criticism than it is like statistics Moishe Lettvin: Interviewing is a different skill than being a great engineer or whatever all you're looking for. [20:49] Moishe Lettvin: the only mistake that I would caution against the only rule is don't be a dick

Original transcript

[0:00] hello I'm Oishi I'm here to talk about [0:04] 25 things or more or less that I learned [0:08] in more or less 250 interviews that I [0:11] conducted at Google so let me just [0:12] introduce myself real quick I've been at [0:15] Etsy for about four months now [0:17] before that it was at Google for about [0:19] seven years before that it was at [0:20] Microsoft and then some random startup [0:22] and then Microsoft again and then a [0:25] small time and billing company in [0:26] Massachusetts I actually occurred to me [0:28] when I was writing up 25 things I've [0:30] learned about interviewing that I've [0:31] actually been in the South for industry [0:33] for 25 years now which blows my mind and [0:36] makes me feel kind of old so in terms of [0:40] my experience interviewing which is what [0:41] I'm going to talk about while I was at [0:44] Google I did about 250 interviews as the [0:48] interviewer I was on hiring committee so [0:51] a little bit of background about how [0:53] Google's hiring process works if you [0:55] don't know basically there's there's a [0:58] slate of interviewers just like here at [1:00] Etsy like four or five on-site [1:01] interviewers each interviewer writes up [1:04] written feedback that gets collated into [1:07] a packet which is sent to a committee of [1:09] people who review the packet and make a [1:10] hire no hire decision the people in that [1:13] committee generally are not on the slate [1:16] of interviewers who talk to the [1:17] candidate in person so it's it's a it's [1:20] an interesting process I'll talk more [1:21] about it but anyway it was on that [1:23] hiring committee for six years of the [1:25] seven I was there and I also taught [1:27] interview training at Google for also [1:30] about six years I'm on the seller [1:33] economics team here at Etsy I joined [1:37] that team largely because it was a [1:38] chance to learn a bunch of stuff I [1:39] didn't know and be surrounded by people [1:41] who were experts at that and it's a [1:43] blast so I'm learning a lot of math a [1:44] lot of stats distributed computing stuff [1:46] I do etc and one other thing to note [1:50] about me at all these places I kind of [1:52] came on is a non-traditional hire I [1:55] didn't graduate college my GPA for the [1:58] one semester I was at college was about [2:00] 2.1 so every place I interviewed at I [2:06] was nervous going in because my resume [2:08] was [2:09] conspicuously lacking something so let [2:14] me start out just by talking with some [2:16] general stuff about interviewing that's [2:17] not I don't think specific to technical [2:19] interviews it's that I think germane no [2:23] matter what role you're interviewing for [2:25] so first off it's fun this is something [2:29] that I never would have thought of [2:30] before I started interviewing being on [2:33] the the interviewers side but it turns [2:35] out talking to people is fun and meeting [2:38] new people is extremely fun and sharing [2:42] expertise with somebody else who also [2:44] has knowledge of the things that you're [2:46] sharing expertise about is incredibly [2:48] fun I had an interview last summer with [2:53] this woman who was a fairly recent [2:54] college grad had been working I'm not [2:57] sure where but it's some maybe not super [3:00] fun job she was interviewing at Google [3:03] and I asked her my favorite interview [3:04] question which is find all the words on [3:06] a boggle board and I can talk about that [3:08] more in depth too but it turns out that [3:10] question has these kind of two parallel [3:12] routes to a solution and you solve it [3:16] one way and you solve in another way and [3:18] the two kind of converge into this very [3:19] beautiful solution and she got the first [3:23] part and she got the second part with a [3:26] few hints and with a little more nudging [3:28] he could just see in her eyes these two [3:30] things coming together into this like [3:32] gleaming beautiful like point and she [3:36] like literally said oh my god that's [3:39] order one that's what everybody wants [3:41] and just like freaked out right and it's [3:43] like this is so much fun um so so that [3:47] that's part of it like that you get that [3:48] personal connection also I basically got [3:51] my computer science education being on [3:54] hiring committee and seeing all these [3:55] algorithms that people use to test [3:58] during interviews right so I learn a lot [4:00] and and I think that's true in a matter [4:02] of whether you're a college dropout or a [4:04] PhD like there's always stuff you're [4:05] going to learn by interviewing whether [4:07] it's technical stuff whether it's [4:08] personal relation type stuff how to [4:10] interact with people and so on also you [4:13] just meet interesting people one of the [4:15] people I interviewed at Google not for a [4:17] developer role but just something [4:19] outside that scope was Philip Zimmerman [4:21] pgp so that was fun so there's like [4:24] these random things happen to you as [4:26] when you put yourself out there and talk [4:27] to people so it's super fun except when [4:31] it isn't and that happens too it's a [4:34] it's a big time sink you know typically [4:38] I think the time I'd set aside to do a [4:41] one-hour interview at Google was about [4:43] three hours or so like in terms of [4:46] preparing for it doing the actual [4:47] interview and then writing up feedback [4:49] after and then various like follow-up [4:52] stuff it's stressful both for the [4:55] interviewer and for the candidate you're [4:59] you're meeting a stranger and I think [5:01] for a lot of it's safe to say for a lot [5:02] of computer science people meeting [5:04] strangers is not our core competency so [5:07] so there's some stress involved in that [5:09] there can be like random things can go [5:13] sideways during an interview right like [5:14] you get communications problems you [5:16] can't understand what the candidates [5:18] saying or they can't understand what you [5:20] what you're saying that's tough I you [5:23] know had candidates cry out of [5:24] frustration or like they just can't [5:27] solve the problem they don't know how to [5:29] get traction on it and that's rough and [5:31] that happens it's rare but it does [5:32] happen you can get guys who are just [5:35] jerks I I think in my 250 of Google that [5:39] happened one time but it was not fun he [5:43] just had a chip on his shoulder and yeah [5:46] or people just refuse to write code like [5:48] they're interviewing for more senior [5:50] position and they just think it's below [5:52] them to actually write code on the [5:54] whiteboard or write code on computer or [5:55] whatever I interviewing is also noisy [6:01] inaccurate and arbitrary I think this is [6:04] like maybe the biggest thing I learned [6:07] at Google you get noise introduced by [6:09] the process and the candidates [6:12] experience around that process right so [6:14] the typical thing at Google was writing [6:16] code on a whiteboard if you've never [6:17] written code on a whiteboard writing [6:20] code on a whiteboard is completely it's [6:22] difficult to do you're used to thinking [6:25] in Emacs or vim or eclipse or whatever [6:27] and you're used to autocomplete and [6:29] you're used to be able to look stuff up [6:30] in Google when you can't find it and so [6:31] on and all of a sudden you just got this [6:33] blank slate you get [6:34] at code and not only that you're getting [6:36] quite bored marker all over your sleeves [6:39] because you can't find the eraser to [6:40] erase it's just like this kind of [6:42] cascading problem that can be very hard [6:45] it's also noisy because the interviewer [6:49] might be having a bad day right you [6:51] don't like I don't know you didn't eat [6:54] lunch that day we didn't have breakfast [6:55] or you got in a fight with your with [6:56] your girlfriend that morning or whatever [6:58] right like there's all these external [7:00] things that can influence how you feel [7:01] about interacting with a person because [7:05] of this noise on both sides you could [7:09] interview the same candidate twice with [7:10] the same set of interviewers and get a [7:12] different result both times and in fact [7:16] that that was is that a dog so it Google [7:25] they were fairly generous about if you [7:27] if you were borderline they'd invite you [7:30] back in a year or a year and a half to [7:31] re-interview it's not totally fair but [7:34] at least there was the kind of [7:36] recognition of that I don't know if you [7:38] guys know who's Stevie eggy is he's this [7:40] kind of Liguria k-- blogger he will [7:43] drink a bottle of wine and write a 50 [7:45] page blog post about whatever so I [7:49] shared an office with him and he had [7:50] this this great example or this great [7:52] idea that every viable candidate for [7:55] Google had a perfect slate of [7:57] interviewers and a perfect anti slate of [7:59] interviewers that is to say anybody [8:01] who'd actually been hired at Google you [8:02] could easily find five people who could [8:05] interview that person and say no right [8:07] it was trivial and well-known so that [8:10] introduces this kind of arbitrariness to [8:12] it part of the reason for that is the [8:15] the error bars for an interviewer very [8:17] large right like you're not getting [8:21] perfect data about a candidate you don't [8:24] know like if this interviewer says yes [8:26] or no that definitely means yes or no so [8:29] Google's response to this was basically [8:31] to set the bar very high because the the [8:35] idea was missing somebody who was good [8:39] was okay compared to hiring somebody who [8:42] was bad right like a false positive is [8:45] much worse than a false negative [8:47] so because of that that introduces extra [8:49] arbitrariness one story but that mine [8:51] was on hiring committee and kirkland [8:53] this was probably 2007 we had a [8:56] reputation as being kind of one of the [8:58] harder hiring committees for packets to [9:00] get through so one week we got like our [9:04] typical eight or ten packets of [9:06] candidates and coincidentally there's [9:08] eight or ten people on hiring committee [9:09] we said no to every single one of these [9:12] packets and at the end of hiring [9:14] committee the recruiter was like well [9:16] guess what guys these were your packets [9:17] from when you were interviewed here and [9:20] you just decided not to hire any of [9:22] yourselves [9:24] so it was a reality check and like some [9:27] things changed after that but but the [9:28] fact remains that there is this like [9:30] very kind of roll of the dice aspect to [9:33] it another thing is data is a blessing [9:39] and a curse we collected a fair amount [9:42] of data about interviewing I'm sure you [9:44] all saw the New York Times article where [9:46] Laszlo said they did this they tried to [9:49] find a correlation between interviews [9:50] and perf scores and there was no [9:52] correlation at all so so that's not [9:57] surprising for reasons I'll talk about [9:58] in a second so just a little bit of [10:01] background so when you interview at [10:03] Google each interviewer gives a score to [10:06] the candidate between one and four one [10:08] means please don't hire this person four [10:10] means definitely hire this person those [10:14] scores are very rare it's kind of an [10:17] exponential curve so they tend to [10:18] cluster around the 2.0 range in the 3.0 [10:20] range because of that clustering you [10:24] have a very narrow range of actual [10:26] meaningful scores to try to draw a [10:28] correlation with so anyway the other [10:33] thing about those scores is they're [10:35] they're meaningless in isolation like a [10:37] three point one that I gave was not the [10:39] same as a three point one that this guy [10:41] Michael know who was on a hiring [10:42] committee and was known for very very [10:44] difficult interviews gave so he tried to [10:46] draw these correlations between scores [10:47] that mean different things to different [10:48] people and it's impossible so you have [10:53] all this data around and you're tempted [10:54] to use it in these you know kind of [10:57] you're tempted to use it and the fact is [11:00] the numbers themselves are not [11:02] meaningful the one good thing about the [11:06] scores was a at least let you build a [11:07] histogram so when you're in hiring [11:09] committee you could look at previous [11:10] scores that interviewers gave and try to [11:14] use that to predict but it also was nice [11:15] because it showed you how non predictive [11:17] of the scores actually were because the [11:19] bars in the histogram were colored based [11:20] on whether candidates got hired based on [11:23] a given score and for almost every [11:25] interviewer there they were all over the [11:27] map [11:28] the the real piece that hiring committee [11:32] used and the important piece was the [11:33] written feedback right so the score was [11:36] there but typically was it was also [11:39] followed with about three or four pages [11:40] of written narrative about the candidate [11:46] so I think the upshot of that is it's [11:49] very hard to put a number on things that [11:52] matter about about a candidate basically [11:55] putting a number on a person right is [11:57] the same as IQ the same as SAT scores [11:59] it's like the classic miss measure of [12:01] man conundrum right like you've got this [12:04] cloud of data that you're looking at and [12:06] you're trying to project that into one [12:07] dimension and it basically doesn't work [12:11] even worse than that is you can't even [12:14] directly ask about stuff that matters [12:17] right like think about think about [12:19] things that make a great employee think [12:21] about some like things about somebody [12:23] who you love to work with right [12:27] you can't straight up ask like so i [12:30] think about bob day who's this guy [12:32] worked with a google if he was basically [12:33] my mentor when i started he got me like [12:36] let me hit the ground running and do [12:38] stuff my second week there i was [12:41] refactor i was adding something to this [12:44] code this like task management thing for [12:47] the windows download toc client and just [12:51] kind of had to glom something into this [12:52] sort of kludgy thing so I sent a code [12:56] review to Bob and Bob was like you know [12:58] what do you how long do you think it [13:00] would take to just rewrite this I was [13:01] like maybe two weeks he's like go [13:02] rewrite it just go do it and for me [13:06] where I was right then that was the [13:08] perfect [13:09] thing to say it was like exactly what I [13:11] wanted to hear is Bob's coworker it put [13:14] let me know that Bob trusted me let me [13:18] know that there were things that were [13:20] more important about than just checking [13:22] and immediately like number of check-ins [13:23] per week or whatever it was about like [13:25] making an environment like the code like [13:28] a good place to be so how do you put a [13:32] number on that and how would you test [13:34] for that in an interview right like even [13:36] if you weren't even are going to [13:37] describe that narrative ly how could you [13:39] possibly test for that an interview I [13:41] think the best thing you can do is give [13:47] people questions that that exercise [13:49] their their creative ability their [13:56] enthusiasm maybe their sense of fun I'm [13:59] pretty sure like another great quality [14:01] of Bob was he just loved to hack right [14:03] like this guy he actually took a year [14:05] off from Microsoft and hacked EverQuest [14:09] rewrote the windows drivers so he could [14:12] extract data and display it on a screen [14:14] about what did what his client was [14:16] saying with the servers all this like [14:17] crazy stuff [14:18] he was just like that kind of guy and [14:20] I'm pretty sure if I asked him one of my [14:21] favorite interview questions in an [14:23] interview he would have lit up and he [14:25] would have been excited about it and [14:27] he's extremely smart he would have got [14:29] the right answer too but that's almost a [14:31] side effect of watching how somebody [14:34] interacts with like with interesting [14:37] problems I think the the key point that [14:44] I want to say about this is I feel like [14:46] interviewing is more like literary [14:48] criticism than it is like statistics [14:50] right like you you have this kind of big [14:53] amorphous blob of data and you're trying [14:56] to distill that but you can't distill it [14:58] into numbers it only works to distill it [15:01] into ideas [15:05] so another thing interviewing is a team [15:08] effort I think Google did this pretty [15:11] well in terms of getting a collection of [15:14] interviewers from disparate teams with [15:16] different skill sets and stuff to test [15:19] candidates you might have one one [15:22] interviewer who goes very deep with a [15:24] candidate along one vector but misses [15:27] stuff in others right like you might you [15:33] might have two personalities that click [15:34] very well and then another personality [15:36] just doesn't they start grading on each [15:38] other and that's something you would [15:39] have missed with only one interviewer [15:43] beyond that isolation hurts and what I [15:47] mean by this is so at Microsoft the the [15:51] way that hiring worked was you had the [15:53] slate of interviewers just like Google [15:54] but you had one hiring manager who was [15:56] responsible for saying yes or no and [16:00] what happened was certain teams were [16:04] desperate to hire for for two reasons [16:06] one is like you've got headcount you [16:08] want to fill it because you've got some [16:09] emergency project coming up and you [16:10] think that the more people you have [16:11] helping out the better the second reason [16:13] is your status as a manager is tied to [16:15] how many reports you have so if you have [16:17] open headcount you want to jump on it [16:19] and fill it as soon as possible before [16:20] it just magically goes away so the [16:23] problem is you've got one point of [16:26] failure which is the hiring manager and [16:27] they might hire just slightly below the [16:30] borrower they're not being malicious [16:31] they're not like actively trying to [16:33] sabotage anything it's just they need to [16:36] hire somebody right now so the bar goes [16:40] down a little bit then the person who [16:42] just got hired goes on to interview and [16:45] then eventually goes on to be a hiring [16:47] manager and the bar goes down a little [16:49] more maybe for worse reasons and then [16:52] that keeps happening pretty quickly like [16:53] the speed at which this happens is like [16:56] it's fairly fast and there's no check on [16:59] it because it's basically island [17:01] evolution right like there's no external [17:03] externalities coming in and damping this [17:05] down so one thing that Google did was [17:08] that the hiring committees were across [17:10] teams and there were managers in the [17:12] hiring committee [17:13] but they didn't make a decision the [17:15] committee itself had to reach consensus [17:17] and there were multiple tiers of hiring [17:19] committee so like the Kirkland hiring [17:21] committee would send their packets up to [17:22] executive review and while I was there I [17:25] think Larry was still signing off on [17:27] every packet which is insane [17:29] but the the idea is that you have when [17:34] you hire an engineer there you're hiring [17:36] them for Google so that has nice it's [17:38] not like you're hiring them for this [17:40] team and you don't get teams who have [17:42] reputations as being like where the bars [17:45] slipped a little bit and you don't want [17:46] to take code from them you've got [17:48] something fairly consistent across the [17:49] company that was changing when I left [17:51] partly because of specialization like [17:54] you want people who are like you know [17:56] deep GPU nerds to work on Chrome or [17:58] whatever but [18:04] so another thing kind of stepping back a [18:07] little bit when you're interviewing be [18:10] prepared that think that would go [18:12] without saying but the first time I was [18:15] an interviewer at Microsoft I basically [18:16] found out that morning that I was on an [18:19] interview loop and it was with this guy [18:22] Darrell Richmond who'd been at Microsoft [18:24] since like 1985 wrote like core pieces [18:27] of something anyway the guy like was [18:30] very very smart and been around a while [18:32] and he was interviewing to be on the [18:34] team that I was on and I had no idea [18:36] what I was doing right like my sum total [18:38] of experience with interviewing was [18:40] going through the Microsoft interview [18:42] loop a couple years before so basically [18:45] he came into my office and I was like I [18:47] don't know tell me about what you do and [18:49] he spent like 45 minutes telling me [18:51] about his current job and I got [18:53] basically no data out of it [18:54] sent my feedback off and my manager in [18:57] classic Microsoft style forwarded my [18:59] feedback the entire team and said don't [19:01] do this so the contrast that with when I [19:11] got to Google they actually had [19:13] interview training classes which gave [19:15] you some structure I like it's like a [19:17] four or five-hour class I don't even [19:19] think that much is necessary but just [19:21] him like sitting down with somebody [19:23] who's done an interview before and [19:25] walking through how it should work and [19:27] what you're looking for and just having [19:29] a like a basic outline you spend the [19:31] first ten minutes doing introduction [19:33] you're going to spend about 40 minutes [19:34] actually working on a technical problem [19:36] or whatever problem you want to and then [19:38] ten minutes of wrap-up Q&A whatever just [19:40] having that as a structure would have [19:42] helped but even beyond that practicing [19:46] like just getting up at a whiteboard [19:48] with your coworker and trying out [19:50] technical questions or like sitting down [19:52] at a computer and trying them out like [19:53] however you want to do the questions do [19:55] a dry run like three or four times [19:57] beforehand it'll it'll help you and for [20:00] me like the first interviews I did I [20:02] think I was more nervous as the [20:04] interviewer than I was as a candidate [20:06] when I was interviewing to actually try [20:07] to get a job because there is a lot of [20:08] pressure on you right you're like you're [20:11] expected to know everything about the [20:12] query you expect yourself to know [20:14] everything about the question and so on [20:17] so yeah so be prepared but it's like [20:22] jazz right like unexpected things are [20:24] going to happen shits going to go [20:26] sideways whatever part of being prepared [20:28] is just knowing that that's going to [20:30] happen and make it work anyway [20:33] right like you it's quite possible [20:36] you're going to ask your favorite [20:37] interview question to somebody and [20:39] they've already heard it and maybe [20:41] they'll tell you that which is nice or [20:42] maybe they won't but it'll become pretty [20:44] obvious pretty quick in that case you've [20:46] got to have some backup or go even [20:49] deeper with them on it and and improvise [20:51] you may have somebody who just doesn't [20:54] want to write code on the whiteboard [20:55] right like or doesn't want to write code [20:57] at all [20:57] for whatever reason improvise with that [20:59] you might have somebody who starts going [21:01] down a path for your favorite question [21:03] that you've never gone down before and [21:04] is actually discovering some cool stuff [21:06] which is the best feeling in the world [21:07] and be ready for that and be prepared to [21:10] be taught by people you're interviewing [21:13] it's that's kind of the best-case [21:15] scenario and make mistakes right like [21:20] everything else at Etsy I think [21:22] iteration is key you're like when you [21:27] when somebody first starts interviewing [21:29] they're going to be bad at it it's just [21:30] like anything else it takes practice one [21:34] thing they did at Google that I think [21:35] was very helpful as they explicitly set [21:37] up interview slates with more and less [21:39] experienced interviewers on them so [21:41] you'd have like the three calibrated [21:43] interviewers which was basically people [21:44] who've done more than twenty five and [21:46] then a couple of newbies and and the [21:49] idea was that the newbies could totally [21:50] screw up and we just throw out all that [21:52] data and we'd still have enough to make [21:54] a decision so and that happened [21:58] occasionally but you know you got to [22:02] start someplace and and without having [22:04] that pool of people coming in you [22:05] eventually run out of experience people [22:07] the only mistake that I would caution [22:11] against the only rule is don't be a dick [22:13] right like I think that's other than [22:16] that whatever but just be cool [22:20] so and and on that every interview is a [22:24] conversation right it's not it's not [22:28] ultimately a test or a gauntlet to run [22:30] or something you're trying to put the [22:31] candidate through to see if they can [22:33] survive you're having a conversation [22:34] with a candidate and the conversations [22:37] can have goals and that's okay but [22:41] you're not trying to stress the [22:42] candidate out you're not like you're not [22:46] the tester and the candidates like [22:48] trying to get past you or something like [22:49] that you're talking to them you're both [22:51] humans [22:52] act like it right so the primary goal of [22:56] this conversation you're having with the [22:58] with the candidate is make them happy [23:00] right that overrides everything else [23:03] like if if you risk upsetting a [23:07] candidate to try to get good data out of [23:10] them for whatever that means in my [23:13] opinion you're doing something wrong [23:16] actually yet let me let me try this [23:18] experiment raise your hand if you have a [23:19] positive impression of the Google [23:21] interview process or if you had one [23:23] coming in here yeah so half a hand one [23:26] and a half hands what's insane is this [23:29] was Google's primary goal - right like [23:32] it's a so it's not like Google wasn't [23:34] thinking about this but you get one [23:37] person who talks to one arrogant prick [23:41] at Google and goes home and blogs about [23:44] it and the entire internet notes right [23:46] and and that outweighs like 50 people [23:49] saying oh yeah I want to interview to [23:50] Google and at fun whatever it doesn't [23:52] take much to gain notoriety so and the [23:58] other thing beyond not wanting to have [24:00] people have a bad impression of your [24:02] company candidates that you interview [24:08] you may or may not hire them but they [24:11] probably have friends who went to the [24:12] same school who we may or may not want [24:14] to hire [24:15] they probably buyers to buy or sell [24:19] stuff on Etsy and just I don't know [24:22] makes the world a better place [24:23] I think if you can make people happier [24:25] and have a good time it's stressful [24:28] right like interviewing is stressful yes [24:30] but but I don't think that means that [24:32] you have to piss people off [24:35] so another goal of the conversation is [24:38] to answer the question what I love to [24:40] work with this person right I think this [24:44] is this is the key thing about [24:45] interviewing is it gives you a chance to [24:48] influence who you work with and who you [24:51] work with is the primary indicator of [24:52] how much you like your job so ultimately [24:56] what you're trying to figure out even if [24:58] the person you're interviewing is not [25:00] going to be on the same team as you [25:02] might not be in the same building as you [25:03] whatever you may end up working with [25:05] them it's likely you will it at Etsy for [25:07] sure so answer the question would you [25:10] look does this person have the qualities [25:11] that make them somebody I would love to [25:13] work with stuff like improving can they [25:16] like contribute to the company and make [25:18] it qualitatively better can they teach [25:20] you can they be taught by you can they [25:23] inspire you etc etc like Maya in my [25:26] ideal world I want to be surrounded by [25:28] people who are smarter than me right [25:29] like that then that's that's why I'm [25:31] here right like it's great it's and and [25:33] I want to you want to keep raising that [25:35] bar right as another goal of the [25:39] conversation is answer the candidates [25:42] question would you love to work at this [25:44] company so it in addition to like [25:50] answering questions they have about [25:52] working at Etsy it's also is the culture [25:56] here something you want to be a part of [25:58] and I think that was the thing that [25:59] struck me the most when I interviewed [26:01] here was just how how excited people [26:06] were about it like kind of that that [26:08] idealistic piece and yes Nikki there was [26:10] a big part of it um but but seriously [26:13] like the I just got a really good sense [26:17] of the humanity of people who worked [26:19] here during my interview and that that's [26:21] super important kind of tailing in with [26:24] that good interviews are generous and by [26:27] that I mean they're they're honest with [26:29] the candidate they work hard for the [26:31] candidate not necessarily they expect [26:34] the candidate to work for them right and [26:35] that's like being prepared that's kind [26:38] of keeping up with the candidate that's [26:40] like asking good questions as the [26:42] interview [26:42] zon and when I think back on like the my [26:46] top interviews as candidate or [26:48] interviewer I've learned something in [26:50] all of them like I've learned something [26:51] kind of amazing [26:52] so as an interviewer there's the boggle [26:56] question I referenced earlier there's [26:58] this I'll describe it briefly you have a [27:02] grid of letters and you try to find [27:04] words and that in those letters by [27:06] picking an arbitrary letter moving in [27:08] any direction around that letter and [27:10] then doing the same thing over and over [27:11] again so it's a graph traversal problem [27:14] so that's the first part is just like [27:16] traverse the graph and find all the all [27:18] the words in it the second part is [27:19] implement a dictionary that lets you [27:22] look up these words quickly so you can [27:24] use try for that that's like the ideal [27:26] solution um so that's kind of as far as [27:29] I got with this question and I asked it [27:31] to a candidate and he got through that [27:32] in approximately 8 minutes and it was [27:36] like so like what else can you do and he [27:39] he showed me how you could actually [27:41] traverse the graph and the try in [27:43] parallel by passing the try node and the [27:46] graph node to a recursive function and [27:48] it was like this thing I've never even [27:49] thought of and it kind of it's just a [27:51] magical beautiful thing and similarly is [27:55] a candidate when I interviewed at Google [27:58] actually yeah when I interviewed at [28:03] Google one of the questions I got asked [28:05] was draw a sample from a stream of [28:08] unknown size right so you've got like [28:10] just this incoming data like say it's [28:12] timestamps and you want to pick like 10 [28:15] of them for your random sample it turns [28:17] out there's just this beautiful like [28:19] constant time solution to that before [28:22] you pick a random number between zero [28:23] and how many items you've seen and if [28:25] it's less than your sample size you just [28:26] put it into that and you can do the math [28:28] to prove it and I remember just walking [28:30] out of that that interview and I was [28:31] like oh my god that's so pretty [28:33] right it's like there's certain math [28:34] problems where it just feels like like [28:37] you're walking on this tightrope but [28:38] it's getting narrower and narrower and [28:40] it just converges at this beautiful [28:41] thing as the feeling I had in that [28:42] interview and the guy who was [28:44] interviewing me was super smart and [28:45] really good at hinting I would not have [28:47] got this on my own but really good at [28:49] just kind of nudging me in the right [28:50] directions to get me there so I felt [28:52] like I accomplished something and I [28:54] learned [28:55] and similarly when I interviewed here [28:58] Josh Attenberg taught me about k-means [29:00] clustering which like I'd never used [29:02] before and then I knew it at the end of [29:04] the interview it was like oh this and [29:05] again it's the sort of beautiful math [29:08] slash engineering problem or it just [29:10] feels good to know the solution and [29:12] that's and all those things came from [29:15] the interviewers being prepared and [29:17] being knowledgeable about what they were [29:19] going to ask kind of a counterpoint to [29:24] the generosity part is time is super [29:27] duper important in interviews I think [29:29] one of the main overlooked skills is [29:31] time management it's really easy to let [29:34] things get away from you [29:35] you get candidates who can talk who talk [29:37] too much who want to talk about stuff [29:39] that isn't necessarily germane to the [29:42] conversation you're trying to have and [29:44] so on so and that is something that you [29:46] can only fix with practice right so I [29:50] have a few thoughts on technical [29:51] interviews if you're I think these are [29:55] still a little bit germane to [29:56] non-technical but whatever so so the [29:59] first thing is good questions are like [30:00] onions and by that I mean there's [30:04] there's kind of a naive solution in the [30:06] outer crust and you can peel that back [30:09] and get to deeper more interesting [30:12] problems as you go on so the first [30:17] technical interview question I was ever [30:19] asked at Microsoft in like 1994 I'll [30:22] preface this by saying I walked in there [30:24] SuperDuper nervous wearing a suit for [30:26] probably the second time in my life I [30:28] never like never been through a [30:30] technical interview before like had no [30:33] idea what I was getting myself into [30:34] anyway after like five minutes of a [30:36] small talk which was the worst thing in [30:38] the world like I did not want to talk [30:39] about my experience or how I liked [30:41] Seattle or any of that [ __ ] like I [30:43] was not interested after five minutes of [30:45] Hell the interviewer asked me to draw a [30:48] probe to write a program to draw a [30:49] circle and then it was like all right I [30:52] can relax I can write code so I started [30:56] out using sine and cosine so like you go [30:59] zero to two times pi and like multiply [31:02] your sine and cosine by the radius of [31:04] the circle and [31:05] it's like alright that sucks speed it up [31:08] so the first optimization you can make [31:10] is you realize there's 8 way symmetry [31:12] and the circles you only need to [31:13] calculate 1/8 of the circle so you go 0 [31:17] to whatever PI over 4 and that's kind of [31:20] cool but you're still calling these math [31:21] functions which take 4 and especially in [31:24] 1994 took forever very very slow so next [31:29] you said all right you know the sine and [31:31] cosine anymore so it's pretty easy if [31:33] you just know about math to use square [31:36] root instead to solve for X based on Y [31:38] in R or Y based on X and or whatever and [31:42] you can use the symmetry still and it's [31:44] very pretty so I wrote that it also has [31:47] the advantage that it fills in the gaps [31:48] and the circles and ways the sine cosine [31:50] thing doesn't so that's nice it was like [31:53] alright good job we've got 15 minutes [31:56] left no square root and then [ __ ] gets [32:00] real alright ok and it turns out there [32:05] is a very pretty algorithm called [32:06] bresenhem's algorithm that lets you [32:08] compute the error as you move across in [32:11] the X Direction you basically know how [32:13] far you how far away you are from the [32:16] center based on this accumulator and I [32:19] could not derive it now [32:20] but with the right hinting in that [32:22] interview I was actually able to write [32:23] it out and at the end with like three [32:25] minutes ago it was like congratulations [32:26] you just wrote the circle drawing [32:28] algorithm was used by Windows whoo-hoo [32:30] and but what was cool is it was an hour [32:33] for what seems naively like a very [32:36] simple question but it just went deeper [32:38] and deeper and deeper and is a candidate [32:41] that's great because you're you're kind [32:43] of consumed with this question for the [32:44] whole interview it's not like a shotgun [32:47] approach for it's like question a okay [32:49] good job question B okay good job [32:50] question C you take the job it's more [32:52] like you're iterating on something and [32:54] achieving a goal other questions that [32:58] are like that the boggle question I [32:59] talked about before another one of my [33:01] favorites is Conway's life which is the [33:03] cellular automata basically very simple [33:05] rules based on counting you've got a big [33:08] grid of cells that are on or off for [33:11] every cell on the board you count out [33:13] how many neighbors are on or off and [33:15] then apply some rules to it [33:17] it's SuperDuper simple to do the naive [33:19] implementation it's a good kind of [33:20] fizzbuzz style check like can this [33:23] person actually write code but then [33:24] there are a bajillion different routes [33:28] to go down to optimize it you can you [33:31] know make make a solution that's order [33:32] number of living cells you can paralyze [33:35] it you can do all sorts of cool stuff [33:36] with it and people have been doing it [33:38] for like 40 years [33:39] so there's a huge body of literature [33:40] about how to optimize this another thing [33:46] is strive for higher bandwidth and by [33:48] that I mean prefer vc2 phone calls [33:51] prefer in-person to VC prefer you know a [33:55] whiteboard and a way to draw to just [33:58] talking to somebody the more kind of [34:00] paths you have for input the better some [34:03] people work really well on a whiteboard [34:05] some people work really well in front of [34:07] a computer if you can give them the [34:09] thing that they're most comfortable at [34:10] you're going to get more data about [34:12] about how they're able to solve problems [34:15] and one thing that happened to me in my [34:17] first Microsoft interview was I was [34:20] nervous the whole day and one of the [34:23] interviewers I think realized this or [34:25] had been talking about or whatever and [34:26] basically just gave me a notebook and a [34:28] problem and left his office and just [34:29] left me alone to write code and it was [34:32] actually exactly what I needed [34:33] right like it just let me decompress I'm [34:35] not sure that that's like the the ideal [34:38] solution but like be aware of stuff like [34:41] that kind of parcel with that is there's [34:48] an artificial 'ti that's inevitable to [34:51] an interview right like being a [34:53] candidate is not the same as actually [34:55] having a job right that's totally [34:56] obvious but it is worth it's worth [34:58] reiterating interviewing is a different [35:01] skill than being a great engineer or [35:03] whatever all you're looking for so again [35:07] you're trying to look past the artifice [35:09] and see the things that actually matter [35:11] can this person learn is this person [35:13] creative is this person enjoyable to be [35:16] around stuff like that and those things [35:18] transcend whether you're coding on a [35:20] whiteboard or coding in Emacs or [35:22] ever and so finally strive for more [35:27] signal and less noise the that that [35:32] artifice introduces noise right and I [35:34] think part of what we can do to reduce [35:38] the noisiness is really what candidates [35:40] know what they're in for [35:41] right like there's no reason not to give [35:45] candidates sample questions let [35:48] candidates practice like encourage [35:50] candidates to practice coding on a [35:51] whiteboard if that's indeed what they're [35:52] going to be doing in the interview [35:54] there's there's no reason to have an air [35:57] of mystery about the interview process [35:58] it helps us if there's less noise right [36:02] like it I would rather get a candidate [36:04] who initially was super bad at [36:06] interviewing and learned to be good just [36:07] good enough at interviewing to pass the [36:09] bar rather than pass on that person [36:11] because they didn't know what they were [36:12] in for and also make it clear to the [36:17] candidate that your job is the [36:18] interviewer is to help them show their [36:20] best work right like that's that's what [36:22] you want to see you're not trying to [36:24] make them fail you're trying your best [36:26] to to let them show show their skills so [36:30] a couple things in conclusion the way [36:34] things are now and when I think about [36:37] this because my own bias and my history [36:38] and whatever is the kind of Google Way [36:40] and I realized that Etsy is different [36:42] but I don't have enough experience to [36:43] know how different but this general [36:46] Millview of like five or six [36:48] interviewers in a day and hour each [36:51] asking some questions collating that [36:53] data that might be the best we can do [36:56] there's lots of incentives to improve [36:58] and this is kind of where we're at tons [37:01] of companies follow this model so it [37:04] might be the best but it probably isn't [37:06] and I hope it isn't I think there's we [37:10] may have reached like a local maxima and [37:12] getting to something else is very hard I [37:14] think hacker school is a great example [37:16] of something that's like way outside [37:19] that is a super effective recruiting and [37:22] hiring tool right like two months of [37:24] hardcore coding you're going to have a [37:26] really good idea of if somebody can do [37:28] that and finish and so on but I think [37:31] Etsy is [37:33] in a good place generally to experiment [37:36] with that sort of stuff I think because [37:37] of Etsy's values and their culture I [37:40] hope that we're able to step outside [37:43] that kind of what is narrow now and go [37:47] bigger finally my last two pieces of [37:50] advice have fun it is very fun except [37:53] when it is and always be learning and [37:55] don't get stale questions yes so you [38:02] seem to be using the written feedback [38:05] and that has more signal than the [38:07] numerical feedback have you considered [38:09] trying to use some sort of text [38:11] classifier or other kind of machine [38:12] learning to actually extract that signal [38:16] I never saw that happen at Google but I [38:19] have no doubt that somebody tried it I [38:23] think there was there was a little bit [38:25] of resistance to that simply because I [38:28] think you still wanted the human input [38:30] and and you wanted and again like in the [38:33] same way that the numerical score varied [38:35] by by interviewer the written feedback [38:38] varied by interviewer you had some [38:40] people who were very very nice and some [38:42] who weren't and as hiring committee you [38:44] learned that stuff you could teach your [38:45] classifier that stuff too but you might [38:47] not have enough data per interviewer to [38:48] do it [38:50] oh yeah go our quick quick other [38:53] question is I agree that the interview [38:56] process doesn't really work and I really [38:59] deeply hope that our whole industry can [39:01] find a better way so I think we should [39:03] keep pushing that awesome I agree yeah I [39:07] actually do want to wait for the mic [39:09] cool you talked about whether it's [39:14] better to pass on a candidate that would [39:17] be potentially good rather than risk [39:19] hiring a dead and I was wondering that [39:21] was Google's kind of approach because [39:23] the trade-off was one way I was [39:26] wondering why your personal feeling was [39:27] on that whether it's better take the [39:29] chance on someone and potentially have [39:31] to get rid of them after a while or just [39:33] deal with the person or pass up the [39:36] opportunity and miss out on somebody who [39:38] could be just a poor interviewer yeah [39:40] that's a great question I'm actually [39:42] kind of conflicted on that because [39:43] I'm pretty sure that my first job ever [39:46] they were definitely taking a chance on [39:47] me like I actually I asked my my first [39:49] boss how he did interviews as part of [39:52] preparing for this and he was like well [39:54] you know Glenn came in and he knew what [39:57] an interrupt was and like in 1988 that [39:59] was a really big deal and Peter showed [40:01] me the 6502 assembler game he'd written [40:04] and that was awesome and you could type [40:06] really fast so I figured if half the [40:07] stuff you wrote worked you were set so [40:14] like in that aspect I definitely think [40:17] it's worth taking risks on people who [40:19] might not who might not be great [40:23] interviewers or might not have kind of a [40:25] classic resume or whatever um the flip [40:28] side is it making a bad hire isn't just [40:32] bad for like one or two people right it [40:35] has cascading effects right like do you [40:38] want to like one of the one of the other [40:39] litmus tests you think about like what I [40:41] love to work with this person what I [40:42] love to be carrying the pager when this [40:44] person is checking in his week's worth [40:46] of code right like so I think it's a [40:50] balance and I there's there's no crisp [40:55] answer for it and slowly related you [40:58] were talking about hiring we're avoiding [41:01] isolation what so you at Google there's [41:03] a hiring committee where as a Microsoft [41:05] you would have a team that was [41:06] interviewing or group those interviewing [41:08] somebody for that specific team and so I [41:11] from what I understand what you [41:13] explained was at Google they were hiring [41:15] for the company not for a specific [41:17] person for the team whereas a Microsoft [41:20] it was for the team right and Microsoft [41:22] they were very explicit about and you [41:25] were not allowed to hire somebody but [41:26] not say you could not say I'll hire them [41:29] but not for my team and I was wondering [41:32] if when you're hiring by committee [41:33] whether there's always this risk that [41:35] you go well they're good enough [41:36] for Google but they wouldn't be good [41:38] enough for my team right and how do you [41:40] avoid that yeah that that's actually a [41:42] great question I think a couple of times [41:45] that came up in like hiring committees [41:47] written feed like basically every member [41:49] of hiring committee would write feedback [41:51] on the feedback for the candidate [41:53] and a couple of times that came up and [41:55] it was very quickly shot down it's like [41:57] if you don't think this person is good [41:58] enough for your own team then we're not [42:00] going to hire him and I think like that [42:02] was just a cultural thing and and and I [42:05] think like again there's no hard and [42:08] fast rules but the the culture was such [42:12] that you knew you were hiring for Google [42:15] and for somebody who could because you [42:17] don't even know what team they're going [42:18] to end up on in hiring committee right [42:20] like the the allocation process is [42:22] completely separate so they might very [42:23] well end up on your team yeah yeah right [42:40] so the question is how do you hire for [42:42] domain specific teams the idea for that [42:44] is they meet the minimum bar and then on [42:46] top of that they have domain knowledge [42:49] no you'd basically have you'd probably [42:52] have one person on the interview loop [42:54] who tested the specific domain knowledge [42:55] and then the rest would just be normal [42:58] interviews yeah [43:06] sometimes I'm torn between whether to [43:09] sort of focus more on like a personality [43:12] fit especially at a company like Etsy [43:14] versus kind of reeks you know like [43:16] because you can get candidates for your [43:17] sort of like this person have really [43:19] strong technical skills or do they have [43:21] like okay technical skills but like a [43:23] really good personality fit like where [43:24] do you fall in that so I think if it's [43:32] technical like if it's specific [43:34] technical skills versus personality I [43:38] would go more towards personality but I [43:40] would I also want to see the the ability [43:43] to learn and pick stuff up right like if [43:45] you know for hiring somebody at Etsy who [43:47] doesn't know PHP but like has [43:49] demonstrated expertise in like [43:51] JavaScript or Java or whatever like [43:53] that's fine because they can pick those [43:55] things up if you're talking about [43:56] somebody who you don't think is going to [43:59] be able to get to the level of expertise [44:03] that you need that we need then I would [44:07] think that would Trump you need both [44:08] right [44:09] like you can't be weak personality wise [44:12] and strong technically or weak [44:15] technically in strong personality wise [44:16] like I think it Etsy it's SuperDuper [44:19] important to have both [44:23] so I'm follow-up to that question [44:25] there's a saying that's been blogged [44:28] around something do you don't hire don't [44:29] know okay [44:31] don't hire [ __ ] like even if they're [44:34] brilliant and perfect for the job and [44:36] I'm kind of wondering what your thoughts [44:38] on that policy is I could not agree more [44:41] with that it's actually funny I [44:44] interviewed somebody at Google who [44:46] worked at ATI or something he was like [44:48] this domain expert in Kuta the the [44:51] parallel processing for GPUs and he was [44:55] just a straight-up [ __ ] to me during [44:57] the interview like just and and he was [45:00] incredibly smart too right but so in my [45:03] feedback I wrote like dude was [45:05] incredibly smart and dude was a dick and [45:07] it turned out I was in hiring committee [45:10] when his packet came through and [45:11] somebody else was on hiring committee [45:12] had previously worked with him at ATI [45:14] and was like oh this guy this guy's a [45:16] dick [45:19] so I it's just it creates a toxic [45:24] environment when you're working with [45:25] [ __ ] like it makes you not want to [45:26] go to work and it's I don't care how [45:29] smart they are it's it drags everybody [45:31] down yeah I had a question about talking [45:34] between interviews there's some places [45:36] that encourage people not to talk [45:38] between interviews so that everyone has [45:39] a clean sheet and is not biased going [45:41] into the interviews yeah whereas other [45:42] places encourage you to talk between [45:44] interviews so that if somebody struggles [45:46] on a specific area you can go and see [45:49] whether they were nervous and give them [45:50] another opportunity yeah to prove [45:52] themself I was wondering which way you [45:55] kind of lean and what your experiences [45:57] with yeah both or what yes so that's [46:00] actually that's a great contrast between [46:01] Microsoft and Google again Microsoft [46:03] there's an email chain going on in the [46:06] background as the interview loop went on [46:08] and basically as soon as you're done [46:09] with your interview you send out mail [46:11] that said hire or no hire for these [46:12] reasons so the next not the next [46:17] interviewer but the interviewer after [46:18] the next would see that that loop and [46:20] kind of have that and partly it was used [46:22] to be like oh I'm not quite sure they [46:25] were good at X you should test further [46:27] on that and that was a good a good thing [46:29] about it the bad thing that happened a [46:32] lot was the very first interviewer would [46:34] be pretty senior pretty respected or [46:36] whatever and he'd send out this mail and [46:38] then people later on wouldn't want to [46:40] disagree with him so you kind of like [46:42] get poisoned by or poisoned or blessed [46:45] by by your first interview so so it [46:49] introduced a lot of introduced or [46:50] amplified a lot of bias so Google [46:53] explicitly forbade you from talking to [46:57] other people on the loop until you'd [46:58] submitted your written feedback and at [47:00] that point you could talk about the [47:01] candidate all you wanted like within the [47:03] bounds of respect and so on [47:05] and and that was so it was hard to give [47:10] it was hard to have context right it was [47:11] nice because everybody started with a [47:12] clean slate [47:13] but you didn't necessarily know all that [47:15] much about what happened before the way [47:17] around that is that there's just a [47:19] little sheet of paper in the interview [47:20] room that everybody would write down [47:22] what question they asked and if they [47:23] thought there was a particular place to [47:26] go deeper on and that worked pretty well [47:28] I think like [47:29] I would much rather have that without [47:31] the bias and maybe lose some stuff than [47:34] then introducing the bias [47:39] I was just wondering if you had any [47:40] experience or opinions on group [47:42] interviews say to interviewers and one [47:44] candidate yeah yeah that's um so I don't [47:48] have any like so at Google when you were [47:51] done with interview training you [47:52] basically to shadow interviews and then [47:55] one interview where you were shadowed by [47:56] somebody more experienced and the deal [47:59] with those is the shadow er would would [48:01] be quiet right like part of the contract [48:03] is a shadow or was you just sat there [48:05] and observed and in say word I think [48:08] that's reasonable it's it's a good way [48:11] for people to kind of see what's going [48:12] on my concern about having two [48:16] interviewers and one candidate is the [48:17] the candidate could feel ganged up on [48:21] that sort of stuff but I also think [48:23] there's plenty of room for it if if you [48:26] if you're aware of that dynamic and can [48:30] kind of damp that and mitigate that bill [48:36] Massie I take I take over from you my [48:38] question I'm on the recruiting team and [48:40] my question having seen our process and [48:43] gone through our process yourself if you [48:44] had the power to change one or two [48:46] things about it as a sort of as a start [48:49] what would you change yes so I was [48:52] surprised in my interview by how little [48:55] coding I got asked I'm not sure like why [48:59] that was but it was a little surprising [49:01] like that's like in terms of like tweaks [49:04] that's the only thing I can think of but [49:08] yeah but but I will say I was super [49:11] impressed with the essay interview [49:12] process as a whole because it really [49:14] seemed to value the fact that I was a [49:15] person and there was a lot of emphasis [49:17] placed on like could you communicate [49:20] like could you hang out and just talk [49:22] which is a super important thing right [49:25] so so that made me super happy and was [49:26] actually a big part of the reason I came [49:27] here yeah [49:31] so you mentioned that it Google [49:33] sometimes they would have like throw in [49:36] newbies and but they always had three [49:38] experienced or what do you say yeah [49:40] calibrated yeah calibrated exactly in [49:44] case they do need to throw out the [49:46] newbies like what would determine [49:47] whether you need to throw out the [49:49] newbies [49:50] back it I mean throwing out as a strong [49:52] word like it would still be in the [49:53] packet it's just how much weight hiring [49:55] committee would give to them right it [49:57] like basically what you're looking for [49:58] is do you have enough data to hire [50:00] somebody you should hire right so if [50:02] you've got three calibrated interviews [50:04] where they've written really good [50:06] feedback on the basket of questions [50:08] that's enough and if two of them they [50:10] might still give good scores but they're [50:11] just thin on details and stuff like that [50:14] it's you can still get that packet [50:16] through so it's not like you just take [50:18] them out and don't factor them into the [50:20] score generally although that can happen [50:22] for extreme cases it's more like it's [50:24] just you just don't place as much weight [50:27] on so what does data look like like what [50:30] would a good newbies feedback yeah yeah [50:34] that's that's actually fantastic [50:35] questions so so what you'd want to see [50:37] in hiring committee is you'd want to see [50:40] good questions right like you'd want to [50:42] see some questions that that exercise a [50:44] candidates algorithmic and coding skills [50:47] if they're more senior you want to see [50:49] some design questions you want to see [50:52] good detailed feedback written up you [50:55] want to see like here's like not a [50:57] narrative flow per se but like here are [50:59] the various ways that the candidate [51:00] attacked the problem here's where I had [51:02] to hint here's where I didn't have to [51:04] hand where maybe I had to hint in other [51:05] places [51:06] here's how this candidate did kind of [51:08] compared to like how I would think a [51:10] Googler would do on this question that [51:12] sort of stuff and then just a good solid [51:15] opinion as that kind of falls out of [51:18] those facts right like you know this [51:20] this person you know had a very good [51:24] grasp of graph traversal was able to [51:27] apply that to this question that wasn't [51:29] like at a surface about graph traversal [51:32] wrote solid code talk through like told [51:36] me when these variables were poorly [51:37] named because you didn't want to write [51:38] them out on the whiteboard etc right and [51:41] and because of all those things I think [51:43] we should hire yeah hi I'm sorry if I [51:47] missed this but uh I hadn't agreed with [51:50] Google and they told me exactly what [51:51] they were going to do like with [51:52] the written stuff and whatever but I [51:54] still don't really know what Etsy does [51:57] after they interview with the did we go [51:59] over that and I'm sorry I didn't go over [52:02] that because they only been a part of [52:03] that once and it was on my very first [52:05] day here so do people meet and talk or [52:07] do they write stuff up or what do we [52:09] actually do um well I'll answer but you [52:14] can help me out if I get it wrong but [52:15] usually there's a pre huddle before the [52:18] interview where everybody gets in the [52:19] room talks about who's going to focus on [52:21] what like particularly technical stuff [52:24] then the interviews happen and then [52:26] there's a post huddle where people talk [52:27] about their impressions and that's after [52:29] you've already submitted your stuff to [52:30] jab bite like to avoid that information [52:32] cascades sort of thing that Moishe was [52:34] talking about so in that post huddle [52:37] people are pretty much talking about [52:38] their impressions and that sort of thing [52:42] you do the hiring manager okay yeah [52:49] that's true it gets approved after that [52:54] yeah you mentioned that after an [52:57] interview at Google you would write two [52:59] or three pages is that two or three full [53:02] pages just because I know on-the-job [53:04] bite the box is about four lines long [53:06] and you can write maybe one paragraph [53:07] before it starts to overflow so I'm [53:10] wondering if one we should make that [53:12] bigger or two it was an exaggeration it [53:15] actually was not I mean but so half of [53:19] that is probably taken up with code [53:20] samples but like if you were to print it [53:24] out double-spaced it would probably I [53:26] think two pages are pretty typical for a [53:28] feedback as far as the job by thing goes [53:32] I think if you're if if everybody who [53:38] goes to the wrap-up meeting actually [53:40] talked to the candidate then you could [53:43] think of that field as more notes for [53:44] what you're going to bring up during the [53:46] wrap-up so it probably doesn't need to [53:47] be as verbose like in hiring committee [53:49] we had literally zero context outside of [53:52] that feedback so it needed to be more [53:55] more wordy [53:58] it might be yeah I mean I like like I am [54:03] an advocate of more data more [54:05] persistence like writing more up I think [54:08] it's worthwhile any yeah I'm so part of [54:16] the interview processes what you said [54:18] convincing the candidate that they want [54:19] to come to this company as well and I [54:21] was wondering if at Google or Microsoft [54:23] and I actually don't know if this is [54:24] true at Etsy is there a feedback of [54:26] people who turn us down or turn those [54:28] jobs down to come back and to like [54:31] reevaluate if things could have changed [54:33] in the interview process or something [54:34] turn them all off yeah yeah I'm pretty [54:36] sure that Google does follow ups with [54:38] candidates who don't get the job for two [54:42] reasons one is like a lot of them Google [54:44] wants to get back in a year to [54:46] re-interview so just kind of keeping [54:47] that communication open but also just [54:49] feedback on the hiring process and I [54:52] will say that it got much better over [54:54] the time I was there like when I first [54:56] joined like one of the big things was it [54:58] took months to get a decision like [55:01] literally months and now like it tends [55:04] to be a couple of weeks this so which is [55:07] still not great [55:13] okay yeah yeah I feel like I have a [55:18] million questions here I wanted to ask [55:20] you about hints and whether or not that [55:23] just comes from practice like if you [55:25] give open-ended questions like asking an [55:27] interviewee for example to explain what [55:31] happens in the web request and you were [55:33] expecting them to go like dive deeper [55:35] and deeper and deeper and they really [55:37] stumble early on and don't know where to [55:39] go or you give them like a coding [55:41] question and they get stuck like yeah as [55:44] I ask the questions more often it [55:45] becomes easier to give hints but I was [55:46] wondering if there's like techniques [55:48] that one can use to give hints without [55:51] actually giving the explicit answer away [55:52] right I mean I think part of it is [55:54] having questions that lend themselves [55:56] did lend themselves to hints right like [55:58] don't have questions with a yes or no [55:59] answer or a vocab question with the [56:01] definition right like that so right off [56:04] the bat that's one thing I think you [56:06] know as you said just the more you ask [56:08] the question the more you know how to [56:09] hint about it so so that's I think a lot [56:13] of it just comes down to practice and [56:14] like the more practice you have with [56:16] questions in general the more you'll be [56:18] able to hand it a specific question that [56:19] might be new to you yeah [56:33] in the last organization that I worked [56:35] for I got to contribute to you know we [56:37] developed our interview process and [56:39] would always add in a question that was [56:40] deliberately intended to combat that [56:42] that problem so something like tell me [56:45] about the most hilarious prank you were [56:47] recently involved in or tell me what [56:49] your midnight snack is because those are [56:51] the moments that that we could really [56:52] capture someone's personality fit was [56:55] there a Google and or Microsoft [56:58] equivalent to that or something that [57:00] fits in the in the coding / engineer [57:02] universe that gets to those kinds of [57:04] points I don't think there was something [57:06] like that at Google or Microsoft but the [57:08] first question I was asked here by Josh [57:09] was what's your favorite algorithm which [57:12] i think is a phenomenal question like in [57:14] terms of culture fit like do you have [57:15] one right and then like in terms of [57:17] technical ability can you describe it [57:19] right so so I think and that's a neat [57:21] like people don't really practice for [57:23] that like I think a big problem with [57:25] some of these behavioral questions like [57:27] what do you do when X happens is people [57:29] read books and prepare for exactly that [57:31] thing so that it's tough to combat that [57:34] but I agree with the general idea any [57:39] questions from remotes anybody on IRC [57:43] here [57:47] exactly yeah [57:58] there's been some books on this subject [58:00] because books bring money um have you [58:03] read any of them can you recommend any [58:05] of them [58:05] are they all bad so I started reading [58:09] programming interviews exposed and one [58:12] of the questions in that book was the [58:14] drawcircle one that I talked about and [58:16] they didn't even get to the interesting [58:18] [ __ ] like they it was just like here's [58:21] the simple square root solution and I [58:23] read that and I was like alright this [58:24] book sucks it might not but like that [58:26] their treatment of that question sure [58:27] did some of they worked with a Google [58:30] Gale Lachman wrote this book called [58:32] programming actually I don't even know [58:34] what's called but anyway I trust her [58:36] she's super duper smart and she's put a [58:39] lot of time into this and Isis and she [58:41] was on hiring committee at Google so I [58:43] suspect that's probably a very good book [58:46] but and again like anything that can [58:49] kind of reduce the noise for candidates [58:51] coming in I think is a good thing so if [58:52] they have some idea of of what's coming [58:54] in a technical interview that that helps [58:56] it helps both parties question from [59:01] remote what's your opinion on turnaround [59:04] time after the interview for an offer I [59:06] turn around time for like how quickly [59:10] should we get back to a candidate right [59:12] I think that's what they're asking [59:14] I mean it's I want to say the sooner the [59:17] better but the problem is that that [59:22] implies kind of one failure point right [59:24] like at Microsoft I got an offer the day [59:26] that I interviewed because my last [59:28] interview was the hiring manager but you [59:31] know and that's that's fine if you if [59:33] you have a lot of trust in all those [59:35] hiring managers as soon as you go to a [59:37] committee then it introduces by [59:39] necessity more lag arguably you get [59:43] better results from that so it's just a [59:45] balancing act and you know as a [59:48] candidate you obviously want to hear as [59:50] soon as possible there's nothing worse [59:51] than waiting around to hear and like [59:53] when when I interviewed at Google in [59:55] April and got an offer at the end of [59:57] June and it was just like every week the [60:00] recruiter would call me and be like hey [60:01] your packets at such-and-such hiring [60:03] committee or hey Allah and it was just [60:04] it drove me nuts [60:06] so yeah the sooner the better for your [60:10] process cool all right well thanks so [60:17] much this is fun