EXT. STREET – DAYTIME
We’re looking through the top of a tree at a second-floor window of a townhouse. It’s obviously springtime: the tree
has blossoms, and the leaves are small and bright green. Through the window we see movement and
the light turns off.
[CAMERA pans down to front door level. CASEY opens door. CAMERA pans to follow
her down to street level, then pans horizontally, keeping her in profile, as
CASEY looks confident.
TITLES: The Interview
Titles play over montage: walking, wait for bus, in bus, walking,
signing it at office reception, elevator.
INT. OFFICE – DAYTIME
Casey sits across from Sam, about to start a job interview. She is sure of her skills, and excited to prove them.
Good morning, Ms Jones. Welcome to Snippts.
Thank you. I’m really excited to be here; it’s such a well respected company. I’m looking forward to showing you what I can do. And, please, call me Casey.
OK, Casey. I’m Sam. Let me give you a little background on Snippts before we start the technical part of the interview.
We’re coming up on our 15th anniversary, and we’ve been laser-focussed on our mission for each of those years: we make developer’s lives easier by delivering snippets of code they need.
I’ll just fill you in a little bit on our origin story. Our founder was typing code one day when she discovered she’d accidentally created a routine that reversed the elements of an array without using any extra memory. She was so excited she mentioned it at the next local Java user group. The next day she was contacted by eleven different local companies who wanted to buy the code.
Yup. And she realised that if this one routine was marketable, there must be others that were in demand. And so Snippts was born.
We now have over 200 developers in 12 countries, working night and day to produce small but significant pieces of code for the world’s biggest companies.
(Trying to sound enthusiastic and make a good impression)
That’s amazing, Sam! So, what’s a typical project?
Great question! Let me tell you about just a few of the projects that we signed in the last week.
A household name in dishwashers needs a snippet that finds the longest sequence of repeating characters in a string. A European government needs code that converts a number in Roman numerals to binary. And our linked list division is always buzzing: this week we had a big pharma company commission us to find the middle element of a list, and an aerospace company asked us for code to determine if a linked list is a palindrome.
Wow! You’re really busy, and with cool-sounding work. I’m really excited; I’ve been doing this kind of stuff for years. I’m an expert at coding 15-line algorithms. Where do I sign?
Well, before we get to that stage, you’ll need to take our standard technical entrance test. I know, with your experience, you’ll probably ace it, but…
(Gearing up to show off her technical skills)
Sure, I understand. Bring it on.
OK. Here we go. First question: What’s the square root of 3152?
(Surprised, reaching for her phone)
Stop! No phones, laptops, or calculators. This job requires that you use numbers, so we need to make sure you can work with them.
(She looks startled at first, but smiles by the end of v/o)
What on earth? Oh, he must want to know if I can calculate square roots.
Umm… I could write some code that used Newton-Raphson to calculate it, but I’ve never felt need to to calculate square roots in my head; I’ve always got my phone or computer nearby.
So you’re saying you don’t know?
(Scrambling to remember High School Math)
Oh, no, hang on. Fifty squared is 2,500, and 60 squared is 3,600, so the answer is in the middle. Fifty-five squared is 50 squared plus 2 times 50 times 5, plus 25, which is… uh… 2500 plus 500 plus 25: 3025. That’s pretty close, I’m guessing the answer is somewhere around 56.
Guessing? Pretty close? I was hoping for better, Ms Jones. OK, moving on. Grab that keyboard and get into an editor.
Now, look at the whiteboard. See that extract from Miss Manners’ Guide to Office Etiquette? It’s 150 words long. I need you to type it into your editor without looking at your keyboard, and take less than 2 minutes to do it.
OK, I don’t see why this a relevant, but I can do that: I touch type at 90 words per minute.
That’s fantastic. We use keyboards here. A lot. The faster you type, the more productive you are. But you didn’t let me finish. Before you interrupted me, I was going to add the last part of the test: You need to use your left hand to type on the right hand side of the keyboard, and your left hand on the right side. Ready?
Whoa! Wait! What on earth does this have to do with how well I can write snippets for you?
I already explained: typing speed equals productivity.
I’d debate that, but whatever. But swapping left and right?
We want to see how adaptable you are. Sometimes clients want a snippet that sorts results in ascending order, and other times the sneaky devils ask for descending. Can you imagine? Anyway, that keeps us on our toes, and our staff need to be able to cope with the unexpected. One, two, three…
(SAM clicks stopwatch)
(After some obvious thought, CASEY picks up the keyboard and rotates it 180
degrees so the space bar is away from her. She then starts pecking out the
Stop. Stop! What are you doing? I told you that you should use your left hand on the right side of the keyboard and vice versa, but your arms aren’t crossed.
(Losing confidence as she goes on and sees that he’s serious)
Well… You just said I should have my left hand on the right side and my right hand on the left…. Rather than try to type with my arms crossed, I thought I’d just…. flip the keyboard around.
Hmmm… That might be technically correct, but it’s not what I wanted you to do. I clearly wanted you to cross your arms. You won’t fit in here if you don’t learn to work out what you boss wants, and not just what they say they want. Frankly, I’m a little disappointed. But, just for the sake of completeness, let’s do the last coding test. Let’s look at Quicksort.
(CASEY perks up)
What is Quicksort’s time complexity?
Well, Quicksort is typically O(n log n), but it can degrade to O(n²) with some input data sets.
So which is it: O(n log n) or O(n²)?
Ah, well, it’s both. Um… and neither. Any single answer would be misleading.
I’m sorry, Ms Jones. That kind of muddy thinking just doesn’t work around here. When our customers ask our sales team for a snippet, they expect to be told how it will perform. They expect, and we give them, a single value. Anything else would make us look like we don’t know what we’re doing.
I’m sorry, but I don’t think this is going to work out. Thank you for your time. Pick up a T-shirt on the way out.
FADE THRU BLK:
EXT. SIDEWALK – DAYTIME, RAINING
We’re back on the street we started from. It’s a rainy autumn day; leaves are turning and colors are muted.
[CAMERA starts from where we cut away on opening shot, and pans back to CASEY’s front door, then up to the original window,
then in through the window to…
INT. CASEY’s LIVING ROOM
CASEY is sitting on the sofa wearing a worn SNIPPTS T-shift. Her flatmate, NAIOMI, is gently pacing.
C’mon, Case. It’s almost six. If we leave it any longer there’ll only be veggie pizza left.
Nah. I’m going to skip it this time. All they ever talk about at the Elixir
user group is technical stuff. And I’ve got an interview tomorrow. I’ve
got more important things to think about than code if I’m going to get
(exasperated) You’ve been working on this for six months. All that typing with your
hands crossed—looks cool ‘n all, but… And, come on: who cares what the
square root of 3173 is?
56.33 to two decimal places. But I still need to work on my decisiveness. Every question has one
answer. I’m staying here and preparing. Have fun.
NAIOMI leaves, shaking her head.
CASEY is on the sofa, eyes closed and scrunched in concentration.
(speaking to self) O log n. No, O n squared. No, log n, No…