Every tech employee says interviews are broken. Every employer keeps interviewing. What gives?
It must mean interviews are working. Neutral at worst.
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.— Max Howell (@mxcl) June 10, 2015
Why companies interview
Ever tried to hire an engineer my friend? It's insane.
I've hired engineers twice on my own and several times for my employer. Not as a hiring manager, as a big part of the interview process.
Here's how it goes:
You announce a position. You're flooded with applicants.
50+ if you're a no-name tiny company with little money to your name. 500+ if you're a FAANG.
Thoughtfully considering every application takes a few days and they all look the same. A blur of buzzwords, bad cover letters, and past experience.
Post on a popular hiring platform and you get 50+ applicants per week. Sifting becomes a full-time job.
Paying an engineer to read job applications would be expensive and they'd hate you. You hire a recruiter.
Everyone looks the same
Your recruiter doesn't understand engineering. A good recruiter can hold their own in a 10min conversation.
Buzzwords help. But anyone can put anything on a resume.
Recruiters can't know 10 years of ReactJS experience is a lie. React, Vue, and jQuery are indistinguishable.
Even if recruiters knew technology, everyone looks samesies from the outside. You went to so and so school (I don't care) and you had good grades (I don't care) and you've been coding in X, Y, and Z for N years (I care a little) and you've done nothing interesting.
Please stand out. I want you to stand out. Be a standout! Show something cool, tell me what you've achieved.
Consider who applies for jobs. 🤔
People who are on the market. The longer you're on the market, the more jobs you apply for. And the less likely you are to be good at your job.
Or at least at interviewing.
What's worse, true talent never makes it onto the market. You hire them through friends of friends while they're busy and entice them to switch jobs.
The best talent never applies for a job. 🤯
HackerNews has a monthly "Who wants to be hired" thread. You post there when you have a job, aren't quite looking, and might be interested in something new.
PS: yes, newbies are by default on the market. No they aren't good at their job yet.
3 types of roles and employees
There's 3 types of jobs you might be interviewing for.
You won't be told which. You have to guess. Your interviewer might not even understand this.
But you are the expert my friend, you have to navigate this nuance. And use these signals to decide, if this is the right job for you. 😉
1. the blank slate
Newbies are a blank slate. They think they're the shit and really they're just shit.
I kid, they're great 😛
BUT they take a lot of hand holding. For the first 3 to 6 months these folks cost more than they produce.
You have to pay them and the senior engineer who's mentoring. Without that mentor they'll make a mess. With a bad mentor, they'll be ruined for years to come.
Blank slates are great because you teach them how to be your engineer. A perfect fit for your company and culture and how you do things.
2. the task runner
A level up from blank slates are the task runners.
Engineers who are good at their job, solve problems, and get shit done. The person who can do all your repetitive work.
They're the line cooks of a kitchen. Give them a recipe and a process to follow and they're fantastic. Ask them to invent a new process or framework and they fall apart.
You need these on your team.
3. the high value expert
This is what you want to be. The sweet spot.
As a high value expert your job is to solve new problems. Invent new frameworks, create new processes, teach the company how something works.
You bring the expertise. You tell them how it's done. You create the process and the framework that Type 2 follows.
Company hires you because you bring new skills to the table. You're solving problems they don't yet know how to solve.
The farther into your career, the more your job is solving problems nobody knows the solution for.— Swizec Teller writing a book you’ll wanna read (@Swizec) September 1, 2020
At least nobody in your team, company, or org. Sometimes anywhere. You're first!
That's when your career takes off 🚀
What interviews measure
Interviews put you in a bucket. Are you type 1, 2, or 3?
When you're new, the interview is designed to measure how teachable you are.
Can we mold you into our engineer? That's all the company cares about. Your skills are meh and your expertise is lol. Can we teach you how to do the job?
These interviews are a hidden IQ test. And a bit of hoop jumping to make sure you won't run away at the first sign of struggle.
When you're intermediate/senior, the interview is designed to see if you're an expert yet.
How do you deal with ambiguity? If we give you a fuzzy task, will you ask enough questions to design a solution? If our ask lacks context, will you find it?
A big part at this stage is the skills test.
When we give you something to do, can you do it? The skills test is important and easy to fail.
Many engineers say they know shit they don't actually know. But when you're an intermediate or senior engineer, I don't have time to teach you. I need to know you'll do your job.
Part of trusting you'll do your job is ensuring you can apply what you know in a new context. That's why understanding beats knowledge.
When you're an expert the interview changes.
You get the skills test. Companies need you to implement the solutions you create. First version at least. This should be trivial. If it isn't, you're not ready.
Fuzzy questions are what matters. Your job is going to be "We have this problem, please solve it"
Nobody knows the exact problem. Nobody knows the solution. All they know is where it hurts. You might even need to figure out where it hurts in the first place.
At the expert stage a big part of your job is to say "Hey we keep running into this issue, we can do A, B, C to fix it, the tradeoffs and costs are X, Y, Z. Which should I start implementing?
And that's when you get paid the big bux my friend 😉
An expert level interview seeks opinions. Do you have strong opinions about topics and can you back them up?
Why interviews suck
Interviews suck for 2 reasons:
- you're interviewing for the wrong type of employee
- nobody teaches interviewers how to interview
Happy Friday ❤️
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Senior Mindset Book
Get promoted, earn a bigger salary, work for top companiesLearn more
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️