Side-Stepping the Secretary Problem

Curiositry2 pts0 comments

Side-stepping the Secretary Problem, unwittingly.

WIP public β &raquo Project

"Writing for nerds".

Email:

|| Get RSS feed.

Contents

Author's non-apology-cum-warning: Various versions of this screed have befallen various people...<br>… since—gulp, where did time go?—about 2015. This current version befalling your XML/RSS feed is 2024 vintage, and has also befallen others via acts of copy-pasta into gist/slack/zulip/discord. Since nobody has boo'd it yet, and I'm not sorry (yet), it hereby gingerly enjoins the public discourse.

Memory fades fast. So, take what is useful, discard the rest.

And yes, I love em dashes. Deal.

The Secretary Problem

"How many applicants do you need before you find the right one? One? Five? The entire community, every time? :laughcry:"

— A fellow slacker in the Clojurians Slack.

The asker isn't joking. Any proposal to use unfamiliar technology, especially programming languages like Clojure inevitably triggers managerial hand-wringing about the hiring pool.

And what could cause more Managerial Hand Wringing than than trying to hire in a niche of a niche… You see if you can go back to 2014 and find QA people, in Pune/India, willing to learn to read and write Clojure code, to help backend engineers test a rather large SaaS, written in Clojure?

I got to know of the so-called "Secretary Problem" 1 in the ensuing discussion. The problem statement is used to study Optimal Stopping Theory. It sets up a recruiting scenario, and explores how to maximize the odds of selecting the best applicant. It has been a fun rabbit hole to explore.

Story of bypassing the Secretary Problem

A key constraint of the secretary problem is Once rejected, an applicant cannot be recalled.

Once upon a time, my colleague, Mayank, and I violated this unknown-to-us constraint, in our otherwise-conventional tech hiring loop by:

Not only explicitly keeping the door open for re-applications, after a cooling-off period.

But also offering to help people learn stuff we were interested in hiring for, on an opt-in basis. We would send people curriculum and make ourselves available for office hours on a fixed weekly schedule, to those who showed interest in learning.

Over about late 2013 through 2014, him and I were hiring for programmers for our QA team (which was him and I :) at helpshift.com, a Clojure-happy startup. We wanted curiosity-driven people with enough technical proficiency that we could teach and train, because we were writing test tools and suites in Clojure. Not to mention all sorts of impractical to automate manual testing of our systems, which demanded some baseline capacity to wade through reams of technical manuals and documentation, and the desire and ability to learn and use our cli tools, scripts, and configurations, if not craft them.

We knew the tester-programmer combo is a tough ask in the first place, especially in India, where the hiring pool is almost entirely filled with manual-only testers 2. So we had braced ourselves for a noisy pipeline.

In this context, I figured it would be crazy to lose anyone with potential. In my previous career, as a business manager, I had seen companies lose candidates with exactly the right life experiences, but the wrong degree or pedigree or test score. So I spitballed the idea to offer reapplication + opt-in support. My colleague loved the idea, and so it was.

Luckily, the company culture was already about "nontraditional" hiring, looking for diamonds in the rough, so to speak 3. And since we didn't have an HR function, the two of us were left to our own devices.

In hindsight, having to go through HR, however supportive, would have been horrible because we would have had to compromise by saying something like "Oh so sorry this time, but you are part of our candidate pool and we will be in touch, pinky promise. Later. You can also try to reapply after six months".

Having known such rejection emails, and the following perpetual silences as well as black holes of re-application, I read those types of rejection emails as garden-variety weasel-wordy ass-coverage. Benign self-deceptions, at best. Be real… nobody from your org is ever going to follow up on that. And if I have no signal about why someone would listen to me again after a mere six months, I, the hopeful candidate, will not waste time re-applying. So don't set up those expectations.

Immediate and five-year outcomes

Direct outcomes

Over the year or so that we ran our interview loop;

We landed five hires out of about 300 inbound.

Each person became productive quickly (about a month) in our corner of the little open plan office. Three lapped up Clojure, two moved to mobile SDKs (installed base of 2 Billion devices as of 2017).

Each of them further grew way beyond our expectations and moved to other roles like back-end development and product management, when a company-wide re-org did away with a discrete QA function.

A pretty good retention rate, for VC-funded high-growth startups…...

problem secretary clojure hiring people time

Related Articles