>How do I convince potential employers to judge me based on my actual experience and code, rather than contrived coding exercises over Skype? Consider the person who has the final say in the process. Be it the CTO, CEO, founder, et al. Committing to hiring someone is a big deal. They are taking a risk. Ultimately, it's near impossible to be 100% certain of a persons suitability until they are actually performing in t…
Yes. I don't disagree. Hiring someone is super important, and paying me is very expensive. I don't disagree that they need to be as certain as possible regarding my technical skills. I just need to figure out a way, when asked to reverse a string or what-not, to say "Look, this is Programming 101 stuff, and if you really want to know what I'm capable of, let's look at some projects I've worked on in the past" without…
Ask HN: How to handle tech interviews?
11–20 of 36 posts
Re: Ask HN: How to handle tech interviews?
#12tl;dr
You have three choices:
1. Apply with a strong referral and/or
2. Apply to exactly the same kind of jobs/projects that you have had work experience in, and/or
3. Apply to a company that's hiring only one or two people a quarter (slow, careful)
A bit more
Everyone hates the tech interview process. Everyone. Including people on the other side.
Let's understand the process, by taking the most typical case, where a candidate with experience in X type of projects, is applying for a job with Y type of projects.
e.g. If you have worked on say Payment Systems' projects for last 5 years and you are now applying for Deployment Systems' role, then as an interviewer, how do I evaluate you? I don't know enough about Payment Systems to judge your work of 5 years in 45 minutes. And I can't presume you know enough about Deployment Systems that I can ask you questions built on my knowledge of several years.
I hence have the following options:
1. I ask someone about you. That's possible, but not systematic, because I need to find a person that I trust very well. It's much better if that person refers you. Hence your option #1.
2. I can hope that you and I have some project in common in the same domain. That's getting much harder these days, as programming is getting very vast. Hence your second option. Then I can evaluate your work and decide one way or another, quickly.
3. I can look at your work of a different domain and give it a proper evaluation. That's takes time, often hours and days. I can't spend that much time, when my goal is to hire 20 engineers a quarter (and hence interview 5x more). Not to mention that evaluation is also subjective, error-prone and contentious. Everyone has different ideas on design and code-quality. Add that to the fact that I need your work evaluated by everyone in the team, not just me. It just becomes untenable. Hence your third option (apply to a place that's hiring slowly).
Being human, hence, I have to fall back to the path of least resistance. That path is to find the lowest common denominator of our knowledge, which can be evaluated in a short amount of time. Yes, it's not perfect and it's still a bit subjective, but there aren't that many ways of writing quicksort , you know.
I hence ask you that question, begrudgingly, knowing fully well, that I'm myself going to be subjected to the same treatment when I go out interview. But at least now I know why, and I look for the best I can in the current process.
Humans.
Re: Ask HN: How to handle tech interviews?
#13> How do I convince potential employers to judge me based on my actual experience... It's a Sellers Market for your services at the moment. You have more power in the interview process than you think. You might try this word track directly with the Hiring Manager (avoid dealing with low-level HR Flunkies)-- I'm happy to demonstrate my skills and want to respect your time. May I suggest, that we first determine whethe…
I tend to try to talk to the Hiring Manager first, but occasionally I get in touch with a recruiter first, and they stubbornly refuse to connect with a hiring manager, and instead go through their rigid process of screening. Any tips on convincing a recruiter to set me up with a phone call to the hiring manager first, rather than to a low-level HR flunky?
Play hard to get...
First, it's helpful to know what level of recruiter you're dealing with, flip the interview on them-- what's their relationship with the Hiring Manager? Are they in-house or a 3rd party firm? Do they have a tech-specific background? How long? What other searches are they working on? Then (assuming the recruiter is a seasoned professional, make a friend); offer you may be able to help them with referrals to your network.
Try this word track-- 'I get calls like yours a lot. The role sounds interesting. But my process to evaluate potential opportunities is to 'always' do a brief phone-screen with the Hiring Manager first. I'm not a prima donna, but I've found this ultimately saves everyone's time and energy. Feel free to share my profile and background notes with him. If you still want to move forward; I can be available for a call Friday morning @ 9:30am"
Re: Ask HN: How to handle tech interviews?
#14Re: Ask HN: How to handle tech interviews?
#15As far as I can tell, you are far away from @tptacek's post on hiring. He's saying to ignore the resume, have objectively evaluated work-sample tests. You're saying you want people to look at your resume, and that you're really good at talking about stuff. The problem with coding exercise portions of tech interviews (if I'm repeating him correctly) is that they're not as close a representation of actual work as possi…
My justification is that I have oodles of experience. I'm happy to prove it -- I just don't think generating an ASCII spiral is a good test of whether I am qualified or not.
Re: Ask HN: How to handle tech interviews?
#16The problem is there are a lot of people who didn't do the work but were around for it. They went to all the meetings, they can tell the war stories, they know the jargon, but they just didn't write the actual code.
As for your question about github profile, the problem is that you can't really tell how much work someone did themselves. I'm sure you wouldn't misrepresent your work on github, but people do. People outright lie. They are probably not even being malicious about it, they just don't have a good sense of their own coding ability and feel like if they just post something that they "could have" written.
One applicant who I really liked really struggled writing code on a whiteboard. He described some projects that he had built himself for university, and that sounded really interesting and reasonably complicated. So I took a look through those, hoping that he was just having a bad whiteboard day. But unfortunately it just confirmed, he was smart, creative but just didn't have a lot of practice writing programs. The code was a mess, it did bizarre and roundabout extra steps to do simple things, and from the timestamps, represented months of work for things that should have taken days. I did admire that he was tenacious and didn't give up, and in the end he build something cool but just didn't have enough practice to write production code without supervision. I would have wanted to hire him for an internship, but that wasn't was we were looking for.
Re: Ask HN: How to handle tech interviews?
#172. If you think a company is doing their hiring wrong, do you really want to work for them?
Re: Ask HN: How to handle tech interviews?
#18As far as I can tell, you are far away from @tptacek's post on hiring. He's saying to ignore the resume, have objectively evaluated work-sample tests. You're saying you want people to look at your resume, and that you're really good at talking about stuff. The problem with coding exercise portions of tech interviews (if I'm repeating him correctly) is that they're not as close a representation of actual work as possi…
I think we're both on the same page that the standard "tech interview" model is broken. I don't have a problem with doing work sample tests. I have a problem with contrived samples that aren't representative of my coding abilities. My justification is that I have oodles of experience. I'm happy to prove it -- I just don't think generating an ASCII spiral is a good test of whether I am qualified or not.
Re: Ask HN: How to handle tech interviews?
#19I ask whiteboard coding questions not because I care if the applicant can do some trivial task, but basically to gauge familiarity. Someone who writes code in a language every day for their current job should not have any trouble expressing a simple algorithm on a whiteboard. It's a screening question, and for someone who knows what they're doing, it shouldn't take more than 5-10 minutes. Once that's out of the way,…
It's not that simple for people who really can't interview. I am one.
Last week, I did an interview with Triplebyte, and I got to pick essentially an AI for Tic-tac-toe game. I know that I can brute force the game state with a recursion. I know how to write a recursive function: an exit condition, a loop for recursive along with rollback and retry. The problem is when I'm actually writing the code, my mind blank out on any and all details: I know there is an "if" there, what it should check out, but I can't put the actual condition in my mind (is it "x == y" or "x!=y" or "x==1"). So I'm screwed
I know I can write the actual code, because I was able to do that right after the interview is done.
Re: Ask HN: How to handle tech interviews?
#20I ask whiteboard coding questions not because I care if the applicant can do some trivial task, but basically to gauge familiarity. Someone who writes code in a language every day for their current job should not have any trouble expressing a simple algorithm on a whiteboard. It's a screening question, and for someone who knows what they're doing, it shouldn't take more than 5-10 minutes. Once that's out of the way,…
> I ask whiteboard coding questions not because I care if the applicant can do some trivial task, but basically to gauge familiarity. Someone who writes code in a language every day for their current job should not have any trouble expressing a simple algorithm on a whiteboard. It's a screening question, and for someone who knows what they're doing, it shouldn't take more than 5-10 minutes. It's not that simple for p…
The problem with the task is that you can demonstrate decrementing counters, recursive functions, and familiarity with the language, but if you don't solve the specified problem in a constrained timeframe, you fail. (My feedback was basically "You clearly know how to code, but you didn't solve the problem.")
One of the problems with the Tic-Tac-Toe AI scenario is that you have to figure out an algorithm to win at Tic-Tac-Toe. (If I recall correctly, one of the requirements is that it beats you.) I know how to play -- but to win every time? I'd have to formalize an algorithm, then convert it into working code, within a strict time limit with someone watching over my shoulder. I can do it, but probably not in 30 minutes. It'd take me 30 minutes to set up my 2D array and accept input to populate the board.
That's not how my day job works. That's not how any programming job works.
When I get a problem at my day job, I know the entire domain. I know who my customers are, I know the problems they have. If my day job were Tic-Tac-Toe, I'd know everything there is to know about how to play and win, and then it's a formality to convert that into code.
If you really want to go with the coding exercise thing, you can't focus on the "right answer." Whether their tic-tac-toe program wins every time is irrelevant. What's relevant is that they jump straight to the notion of a 2D array, that they know how to do recursion or for-loops. What's relevant is that they can write code without too many syntax errors, that they're comfortable, and that they make progress throughout the time alotted. Whether they actually cross the finish line is irrelevant at best. It's a red herring.
In the end, do you want to know if I can code, or do you want to know if I can write a winning Tic-Tac-Toe algorithm in 30 minutes? Those are two different answers -- just because I can't do the latter doesn't mean I'm not qualified. I just means I didn't pass your test.