So, look.

I agree with Hillel that coming up with a fair, equitable interview process is impossible.

The accurate part, IMO, is not at all impossible.

And that makes it doubly insulting the things interviewers are trying to PASS OFF as "accurate."

A thread. 1/
First of all, let's address the possibleness of accuracy.

I once had a job where the interview was literally "work with us for a day on the stuff we work on every day."

Does everyone love this interview? No. But it's f**king accurate as h*ll.
Why? Because it was the job, exactly.

We NEVER got a false positive from that interview. No one ever walked in surprised by what the job was.

Everyone I ever worked with there who I might have classified as "a dud" came to us through some other process that wasn't this one.
Were there false negatives? I don't know. We didn't track it. We probably should have. In our defense, literally no one tracks this, with the SINGULAR exception of the guy who got rejected from Facebook and went and founded Whatsapp.
Are there equity and fairness concerns with asking people to take a day off work and come work for us, uncompensated? Yes.

But accuracy is definitely not the issue.

Let's talk about some of the things I've had companies throw at me to decide if I could do a job.
One time I got asked to, I realized later, implement Dijkstra's algorithm live in an hour, while being stared down by two silent men, in a coderpad with no existing abstractions on top of the data structure.

I cannot do this. But furthermore, and more importantly...
...I don't actually believe the INTERVIEWERS could do this if it were not part of their job to run people through this exercise on a regular basis.

A problem that you can only succeed at by having solved it before is not realistic to professional software engineering.
On another occasion, I got asked to complete a take-home (this works a lot better for me and, IMHO, is more accurate to an actual job than a live pop challenge).

In the meeting where I was to discuss my solution with their interviewer...
...the interviewer decided, on the spot, to ask me to code something live.

He wasn't supposed to do this and did it anyway, undoubtedly because I don't look to him like an engineer (ask all your femme eng friends; sudden pop technical interviews are a regular occurrence for us)
Whatever, sure

So I'm gamely implementing the thing. But before I do, I change the signature of the method he's asked me to implement. I explain why I'm changing it and why the one I've proposed is better.

He seems unsettled about this, but idgaf, so we keep going.
Later, there's a problem with the code. We're both looking at it. Remember, I wrote it live in front of him while talking the whole time. He knows it as well as I do.

He starts...typing a method with the signature he originally proposed, suggesting my signature is the problem.
AS he does that, I find the problem in my method, fix it, and we keep going with mine.

The incident made it clear that he was conducting this interview with a solution either on hand in another window, or that he had memorized one.
Once again, if THE INTERVIEWER is not more capable of completing the challenge than the interviewee without prior prep, it's probably not accurate to the job.
That's the insulting farce.

Interviewers take a very specific challenge and equate it to "your value as an engineer."

I know companies say they don't do that. But I've sat in many candidate eval meetings and watched it. Heard how they talk about candidates.

They 100% do it.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Chelsea Troy 🏳️‍🌈

Chelsea Troy 🏳️‍🌈 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @HeyChelseaTroy

Feb 8
Oooh!

I'm seeing a fair amount of agreement on this, and "catching parse errors" has sort of become a thing of mine lately. So lemme try to answer this question in a way that an 8 year old might appreciate.

1/
FIRST: I see these "There's no semicolons in Python" replies

I suspect the kid's ACTUAL example was some Python-specific thing, so Joe switched it for something more programmers would recognize and y'all seized the opportunity to get pedantic. You must be a riot at parties.
SECOND: if you're gonna deliberately miss the point of a lighthearted tweet to well-actually someone about how there's no semicolons in Python, you deserve this:

There are semicolons in Python. You delineate multiple statements on the same line with semicolons.

ANYWAY, ONWARD
Read 24 tweets
Feb 6
Currently working on the error productions question in @munificentbob's 'Crafting Interpreters.'

Because I am a fool, I am doing it on the finished interpreter and not on the chapter-incremental one where the question is actually presented.

One thing I am learning is that...
@munificentbob ...error productions are a difficult thing to do in a partial way, particularly if you are replacing a very common error (in this case 'Expect expression,' the base error at the bottom of the Parser tree).

I traded throwing an exception there for returning a new expression type.
@munificentbob 18 tests, not including mine, expect an exception there.

I am resolving this by going to each test, figuring out what parse error it's supposed to be checking for, and adding an error production there, too.

Am I making this too hard? Is there an incremental way to do this?
Read 6 tweets
Feb 6
Today I'd like to speak briefly about the differences I have experienced between full-time employment, freelance, and consulting interview processes.

I'll also comment, for each case, on what the actual work asked of me was once I got to the place.
Who am I to talk about this:

- I've done countless tech interviews, and some of them I even passed. I work at Mozilla FT.
- I do contracts, mostly mobile or data/ML work. 4 active clients, 2 additional awaiting grant awards.
- I give workshops 10-15x/year
I have needed to know how to use a binary tree countless times in my career. I have needed to know how to implement one twice. Both were FT interviews.

I have needed to use recursion twice in my career. I have needed to demonstrate that I could nine times in interviews.
Read 33 tweets
Feb 4
Let's talk about why this is hard and how to do it well.

I suspect you're going to hate what I'm about to suggest. It's not my snap reaction either, and I have had to train myself to do it.

/1
But it's worth it because ultimately what we're doing, as that tweet explicitly states, is learning to treat thoughtful people we trust differently than we treat Nazis.

Y'all, I hope it's really f**king easy to distinguish people with a humanitarian track record from Nazis.

/2
SO, I want to acknowledge the things that make it harder. And I'm warning you, this is not going to be fun to read.

/3
Read 14 tweets
Jan 31
Last week I tweeted for help deploying updates to a mobile app on the app/play stores. Thank you, folks who RT’d!

No one came forward. I’m taking that to mean even FT mobile devs aren’t confident they know how to do it.
So I figured it out myself. Here’s what I learned.

1/
Before I start, lemme reiterate that I did this alone after asking for help.

So any Android or iOS reply guys out there who are getting ready to make a name for themselves well-actuallying me in the replies can instead read this thread.

Let’s set the scene. You have to deploy an update to an existing mobile app, but every single provisioning profile, keystore, everything you ever generated to upload it the first time is somehow missing or expired.

Your mobile app is the jeep scene from Jurassic World. Congrats.
Read 28 tweets
Jan 30
Okay you know what I'm coming back to Calendly.

I don't want to talk about Calendly. I want to talk about the way people treated each other in that discussion.

This is gonna start out kinda draggy, and then I promise we'll get to some...skills that could use some work.
1. I already said this but I'm saying it again. This is not a thread about Calendly. Do not get in here and start yelling at me, each other, or God about Calendly.

Because there is basically one appropriate perspective on Calendly and it is "This is a tool with a use case."
The conversation was not "Folks have different experiences with the use case. Why? What can we learn from that?"

The conversation was somehow very quickly a lot of adults I know who have built their whole, like, brand on having empathy, being absolute shitheads to each other.
Read 22 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(