> ... the final step is presenting them an offer to join your team and convincing them to accept it.
I think more effort could be made to sell before the candidate decides to interview. The best candidates have to be sold on the opportunity before they invest their time into an interview process because they have so many opportunities available.
Widen the funnel at the mouth.
Anecdotally I have had many experiences where the hiring manager didn't take the time to listen to what I was looking for before launching into their 10 minute spiel give everyone, and then they ask me for phone screen availability. Why is this the right opportunity for me?
EDIT: after reading TFA, I see this is exactly what they're advocating for. cool!
Yeah, companies that use TripleByte all do this. There's a phone pitch phase of the interviewing once you've been accepted to TripleByte where you take ~20 minute phone calls where the point of the call is for the company to figure out your goals/interests and pitch you. It's an extremely good way to filter out companies that will probably not be worth the time to go on-site with; by the end of the call you are usually extremely excited about the opportunity or have saved yourself a lot of time cutting off the process there.
I agree hearing what sounds like a pre-prepared, generic spiel about the company isn't very effective. That's why I suggest hiring managers/recruiters ask the candidate what they're looking for first and then talk about how the company fits into that (or not).
Being able to tailor the pitch on the fly like that is what we've seen be the difference between average and great recruiters.
During the recruiting process, I expect a company to be putting its best foot forward. If things seem disorganized at that stage, then I assume that day-to-day operations at the company are even more disorganized.
Additionally, it always makes a big difference to me if people high up in the organization (even if they aren't technical) are involved in the interview process. If a founder or C-level employee spends some time talking to me during the hiring process, it's a positive sign that they see this as an important position and you as an important hire.
>If things seem disorganized at that stage, then I assume that day-to-day operations at the company are even more disorganized
I'm not really sure about that. In my experience there can be a pretty big gap between the initial recruiters (who often understand nothing about the actual qualifications necessary) that are just trying to get as many people in the door as possible, and the actual operations of the company. Granted I have a pretty small sample size, but I've had this misalignment go in both directions.
Having recruiters that are so clueless about the jobs they are recruiting for is a significant red flag for me and an indication that the company is immature and disorganized.
My phone screen technique is more old school but I think works well. I pick their top language or domain (web or mobile or whatever) and ask 10 trivia questions. Medium difficulty questions I'd expect a programmer with any experience to answer. I look for maybe 70% correct and I look for quick answers. You know it or you don't. And I set that expectation up front so they can give me a few "I don't know"s with no penalty.
This is my sanity check and I think it's faster and more accurate than a FizzBuzz and doesn't require screenshare.
>My phone screen technique is more old school but I think works well. I pick their top language or domain (web or mobile or whatever) and ask 10 trivia questions. Medium difficulty questions I'd expect a programmer with any experience to answer. I look for maybe 70% correct and I look for quick answers. You know it or you don't. And I set that expectation up front so they can give me a few "I don't know"s with no penalty.
This is basically what I've found all Triplebyte challenges to be like. It's a bit off-putting at first to be asked to do a "quiz" before anyone will even speak to you, but honestly I've realized it's better for everyone involved than doing the traditional "recruiter runaround" which can introduce bias and be highly inefficient.
> I look for maybe 70% correct and I look for quick answers. You know it or you don't. And I set that expectation up front so they can give me a few "I don't know"s with no penalty.
I like that system. I recently took the TripleByte technical quiz and I liked that "I Don't Know" was an acceptable answer for most of the questions. When paired with the timer (or in your case, looking for a fast answer) it seems like a system that encourages honesty and "moving along" so you don't waste time on questions that you will probably do poorly on anyway.
As an aside, does anyone happen to know what the "levels" of performance on the TripleByte technical quiz are? When I took it (and I realize this will sound like a humblebrag), I was told I did "exceptionally well" and could be paired with "approximately 27 top tech companies", but I didn't feel I did all that well on it at all.
I ask because they say they only invite the "top few percent" of quiz takers to continue, but all I typically see when I search this online is other people mentioning they also did "exceptionally well." Anyone have feedback on the process?
I interviewed as an iOS Developer. Took the initial screening quiz and did "exceptionally well" and was scheduled for an online interview with one of their interviewers. Online interview consisted of making some rather straightforward additions to a very basic core application and getting the features up and running and manually tested. After that it was another series of questions. During the interview the interviewer took several short breaks to record feedback in their system. A few days later I received the decision that they would not be moving forward with my application. Feedback was fairly generic and vague imo with no real suggestions on how to improve other than to practice small coding problems and other suggestions oddly didn't coincide with any of the actual code part I was asked to implement or the questions of the quiz. Nothing was mentioned about my strengths eventhough they claim what they look for is a candidates strengths. I guess I just don't have any? Overall I think the process was on par with other technical coding interviews I've had and the feedback was equally useless.
I love how they mention small. I think small problems test for problem solving and understanding while large engineering questions test for knowledge of libraries that anyone can learn. I know I'm probably overinterpreting the use of the word "small" here.
As an aside, does anyone happen to know what the "levels" of performance on the TripleByte technical quiz are? When I took it (and I realize this will sound like a humblebrag), I was told I did "exceptionally well" and could be paired with "approximately 27 top tech companies", but I didn't feel I did all that well on it at all.
I tried one of their quizzes once, out of curiosity after it was mentioned somewhere I think. The questions I saw were routine enough for an experienced developer and I'd have expected anyone senior to get a near-perfect score. I'm pretty sure I still got shown something very close to what you got shown at the end, though.
That said, the other recruiting site that comes to mind for plugging how selective it is is TopTal, which claims to only take the top 3%. Given that 100% of people I've encountered who claimed to be in that group would also have failed a junior developer interview with me in minutes if not seconds, I'm guessing the population of people who seriously apply to these sites skews very low on skill and experience. Maybe anyone mid-level or above who actually knows what they're doing really is exceptionally good within that population, and even though you didn't feel it went that well you were still a good prospect among their applicants.
I think a lot of companies do this, but it ends up being weird stuff that doesn't happen in the real world like bit shift operators in Java.
It would be excellent if it was all relevant stuff. I took one for a job, about 30 questions. I was really surprised that I got about 93% on it, purely guessing. The person who made the test later told me that if you have enough experience, you'd probably know things like "findViewById" instead of "findViewByID", because it's muscle memory.
Yeah, I hate that. Other folks were asking about truthiness cases in JavaScript which is just so arcane that I'd never expect someone to know all the cases by heart.
But, I have to agree. Some trivia helps quickly identify the people who don't really understand a technology. It's also useful if you're trying to hire an expert in something you aren't.
What do I mean? For example, I'm not an expert in Objective C. I've written quite a bit, but sometimes I need to hire someone who clearly knows more than I do. So what do I do? I ask questions like, how does memory management work? What does autorelease mean? These are topics that someone who's been working with the language for years needs to know! But, someone who really hasn't done much Objective C might not know.
I think that's a great way of interviewing! But don't you fear this only works for smaller companies? Imagine some company like Google or Facebook would do that: I would expect people to just start learning answers by heart..
People more or less memorize a subset of leetcode and CTCI solutions and the bullet points from various scalable architecture books and resources, all of which are provided by recruiters in their email conversations with candidates. Fresh grads, the affluent, and people who have few or no social obligations (e.g. family) spend a few weeks (or months) doing what amounts to cramming for a test to prepare for these things.
By medium I just mean, stuff beyond CS 101. So for Java, I'd ask about standard lib or basic language-specific features or tools. What's the difference between a List, Set and Map? What does the final keyword do? What does it mean for a class to be thread safe? What do you use for dependency management? What's the difference between a checked and unchecked exception?
For JavaScript I can ask about let vs const? What are arrow functions good for? Maybe specific framework stuff if they say they know react.
For general web stuff, I can ask about response codes. What's the difference between 400 and 500 level? What's a CDN for? What is HTTPS?
You can ask basics about version control or CI. Sometimes I'll do process questions about agile.
I try to stick to what they claim on their resume (and what I know about) and can tell pretty quickly if they are actually what they say they are based on how quickly, confidently and succinctly they answer.
"What do you think are the top strengths and top weaknesses of <language X>?"
Doesn't matter what the specific answers are, much less if you even like language X or not. Instead it says: does the person really have an understanding of the language; do they have enough experience to say "well I really do like X, but I do often wish it had feature y of language Z". or "yes, I have a lot of JS experience since that's the job and I sure know how to sling it, but I far prefer Lisp which I found made me more productive than any other. Why? Well because at XXX I was able to do YYY...."
Not the OP, but for iOS developers I've asked: "What's one thing you would change about Objective-C (this was pre-Swift), and what's one thing you would change about Cocoa [the framework that iOS apps are developed with]?" It's the kind of question that there are a lot of good answers to, any experienced iOS developer will be able to answer off-the-cuff, and it gives a good sense of the kind of work that they've done and how (plus it gets across if they know the difference between a language and a framework, which is useful).
I also think this could be very effective first round of screening. The questions don't have to be all trivia though. Something that is simple for legit developers in that domain to answer should also work. Time they take to answer also correlates well with experience.
True that! IMHO this has been a trend that I've observed where interview feedback is something that doesn't exist. More often than not, even when requested, I've never received any kind of feedback from companies. Despite the the abundance of companies like Hired, TripleByte, LinkedIn and others, recruitment still remains a black-art!
What's with the standard of doing a full day interview? Who does this work for other than fresh graduates? I don't want to spend a whole day (which I have to request off from my current employer) answering probably-silly technical puzzles as the first round interview (the 25 minute phone call doesn't really count since it sounds like just a pitch).
Does a full day of whiteboarding really get you better candidates than say, a single hour technical interview or 1 or 2 hour homework? I'd rather do half a dozen video chat interviews spread out over a month than give a whole day just for the possibility of a new job. I'd prefer a single technical interview or homework over that by a mile.
If you tell me your interview process is a 25 minute call followed by a whole day of technical interviews, I'll tell you to take a hike.
A full day interview is standard. You grant that it's standard, right in the first sentence of your post. But you'll tell anyone who offers you a standard interview to take a hike?
This is symptomatic of a broader problem with HN comment threads on "how to interview" articles: for any given approach to interviewing, the top comment will be a middle-brow dismissal saying, "I would never interview at a place that interviewed that way." For all X.
I would never interview at a place that does whiteboarding. I would never interview at a place that gave me a take-home assignment. I would never interview at a place that asked me to pair-program on a real assignment during the interview (I should get paid for that). I would never interview at a place that asked me to work as contract-to-hire. I would never interview at a place that used HackerRank. I would never interview at a place that looks at Github profiles. I would never interview with a recruiting firm. I would never interview if contacted by a recruiter (instead of the hiring manager).
And apparently some people would refuse to interview at a place that asked you to talk to half a dozen of your potential teammates before offering you the job.
A full day interview is standard. You grant that it's standard, right in the first sentence of your post. But you'll tell anyone who offers you a standard interview to take a hike?
A full day interview (and reasonable) is standard if a company seriously exploring a candidate. A full day interview before a company is seriously exploring a candidate is also standard but it's a standard for the seriously broken and abusive interview process of many organizations today.
The strong reaction people to several of the processes you name comes when those are the first filter a candidate encounters, a qualified person invests a lot of time in them, and then discovers the organization simply wasn't serious to begin with. and they've essentially cheat the person out of significant time. All this gets worse if you encounter many companies doing this in a single job search.
I have never had a full day interview, if it's more than 4 hours for a serious onsite I won't waste my time. They clearly don't appreciate other people's time and are quite frankly wasting theirs. The decision was probably already made before the second cup of coffee anyways.
I absolutely agree with refusing to interview and meet the teammates. All you have to do is rub someone the wrong way for whatever reason, hell they could be in a bad mood because they got cut off on the freeway. Meeting tons of people before an offer is an excellent way to reject great candidates.
I had a company want to do a full day interview, but I had to cut it short and beg off at 1 PM, because they had already blasted past my hotel check-out time, and were in danger of encroaching on the departure time of my return flight--that they booked for me. It was the worst interview experience I have ever had. They declined to arrange for a rental vehicle, so someone from the company had to drive me to and from the hotel, with airport ground transport handled by a shuttle van. Later, they ghosted me, and even tried to stick me with the hotel bill.
The one benefit was the lesson on how to recognize some early warning signs when interviewing.
To name and shame: Tyler Technologies, Eagle Division.
I will say that as someone generally on the hiring side of the equation, I do find that hotel chains and rental agencies drive me CRAZY.
No matter how hard I try and how many times I do it, there is ALWAYS some idiotic hiccup that prevents me from paying for the candidate's room, car, etc. up front. I can give those companies all the credit cards and forms in the world, and somebody in the pipeline will screw it up and demand a couple hundred dollar charge from my candidate. It's so bad that I normally show up to meet the candidate in person simply so that I can use my personal card to ride over the hiccup.
If somebody at HN is looking for a startup idea, here's a "grubby" thing that someone could turn into a service that could browbeat the idiotic hotel companies into submission on.
In this case, it was not the hotel that screwed up.
At the time, I was living in Madison, WI, and they booked my flight out of Milwaukee. With a connection in Madison. No, I couldn't just board the flight in Madison. No, they wouldn't pay for my mileage between Madison and Milwaukee, or for airport parking. The flight out of Milwaukee was cheaper, you see.
The service you are suggesting already exists. It is called a travel agency. Some even specialize in corporate travel. My spouse used to work for one. They lost a lot of business to self-booking sites like Travelocity and Expedia. As a result, some office peons in small and medium businesses are being tasked with booking travel sometimes, and they have no skill or training in handling the idiotic hiccups that will always happen when dealing with the airlines, hotel chains, and vehicle rental chains. Larger businesses tend to have their own travel agents, or contract to a travel agency, especially if their own employees need to travel frequently. If a company cannot provide you with an acceptable travel experience as a candidate, they won't do it as an employee, either.
To contrast, the next travel-required interview booked a reasonable flight, a full-sized rental car, a paid-for hotel, and sent me a per diem check without having to submit any expense receipts. The on-site interview was about 90 minutes, without whiteboarding or coding exercises or pop quizzes or brain teasers, and then they followed up on it and extended an offer. Which I accepted.
It's simple, do a quick interview and hire. Use experience, some technical questions or white boarding. That's how it was done previous to this decade.
Could you elaborate on why it makes sense to have these candidates travel long distances for a full day interview, rather than have them travel nowhere for a shorter interview via video chat?
You can verify their ID. You can show them around the office. You won't discriminate against dial-up modem users. You get the candidate to show that they are serious (flights, hotel, etc.) and you show them that you are serious by paying for it.
There's no silver bullet, that's why companies should offer alternative recruitment paths. Some prefer a take-home assignment, some a face-to-face interview etc.
I should rephrase. I think a full-day interview for a startup is probably going to be a waste of time. After I've already passed a pair of phone interviews for a company with very high comp like Google, Apple, etc? I'd do a full day. For a startup? Meh.
As another poster mentioned, there is no silver bullet. Companies should be flexible and not feel bound to doing it exactly the same way that the big companies do (and even those could be more flexible, but who am I to tell them how to operate) - your startup does not offer the same things or have the same needs, you should not interview the same way. After all, we're expected to be flexible too (take time off work, do phone interviews, hour long onsite interviews, multiple interviews, homework, and/or day long onsites - apparently we're supposed to be happy to do any of those for multiple companies at a time!).
I like a full day interview because it allows me to get a good look at the office, the environment of people around it, and meet 4-5 prospective coworkers and get a fuller assessment.
However, the day is truly grueling. I interviewed @ Google Cambridge a few years ago (spoiler: did not get the job) and was exhausted by the end of the day I could barely think. My throat was parched from basically performing some sort of stream of consciousness dialogue so that my interviewers were able to assess my problem solving technique and going through corner cases. It's a marathon for sure..
Yep. I got recruited for a job I was qualified for yet didn't really want with a very high paying salary. I decided to go through the process to see if there might be something that made me change my mind. They requested a full-day interview. I asked if it could be broken up into two days and they declined. So I informed them that I didn't think I would be a good fit.
There's so much bullshit that Facebook / Google et. al are responsible for in this area. All of the wannabe startups basically copied their recruiting tactics with zero understanding for why good people were drawn to them in the first place.
Nothing wrong with spending all day interviewing if you think you have a strong chance of the interview resulting in tens of thousands of dollars in raise/bonus/etc.
Yeah, an actual full day of interviewing is probably more than necessary, but you need to have a strong signal of your ability. I think most technical recruiting at good companies is more about avoiding the possibility of hiring someone who is bad than trying to find the best candidate ever. The business doesn’t want to spend $50k+ on recruiting+paying someone who sucks. So spending a full day on interviewing, especially if you are offering competitive compensation, just makes sense
Let's assume I have to spend a day doing "something" at your company to prove I'm worthy of an offer of employment. What if instead of 6 randomly generated interviews left up to the whims of the interviewer it was 6 interviews working an a different aspect of a simple application? Time spent is the same but I think the latter would produce a much stronger signal.
Yeah if you created a hugely popular and successful framework, or are a technical fellow at Google, you don’t even need an interview. But for slightly lower bars of “best” I think you would be surprised just at how bad many people even with decent credentials can be.
I just can’t envision a scenario where a company is one I’m interested in working in (good pay, good work, good culture) and where I’m not willing to try to work there due to a one day interview, no matter how good I am. I’m by no means “the best” but I would only go through the process of changing employers/possibly even moving if tens/hundreds of thousands of dollars were at stake, and a day is not much time to spend for that.
Our full day interviews aren't so that you can do lot's of different tests, it's so that you can meet and discuss things with the entire team you're working with. It might seem silly that you're being asked a toy problem 4 different times, but each of those times you're talking to a different person and getting to know them.
But they don't that's why they want reassurance full day interviews.
First step stop applying and let them come to you directly or get recommended.
Do you consider yourself the Brad Pit of enginners or joe blow? Do you think Brad Pitt goes into the cattle call auditions and waits all day for his 5 minute read?
There are tons of engineering rockstars (brad pitt types). Pick your favourite framework there are usually a handful of stars around it.
Am I Brad Pitt? I'm not in that league. But you don't have to be to avoid the unpaid nonsense of hanging around all day. If that's the hiring process it shows that the company is unsure of themselves and are afraid to make a mistake. Companies like google are so big they need this kind of process to filter people out. When a 30 person company does this it raises red flags.
Why? Hiring is the single most important thing a company does. It makes sense to invest resources in it. Every company that doesn't is gambling that every candidate that can get through a short interview is about equal.
Not hiring is a huge gamble as well. Waiting an extra few months can force other employees to quit if the workload is being put on there plate.
If you are asking too much of candidates many will dropout as they get hired somewhere elsewhere quickier. The longer you take the quality of the pool gets reduced.
Hiring is important. Keep employees are probaby more immportant. Sales are in my opinion the most important. Taking a gamble can lead to 10/10 candidate hire. Chances are low it will lead to a 1/10 candidate. The longer they play it safe the lower average peak in the candidate pool.
If the process takes 3 months you will be lucky to get a b level guy unless your company is special (google/apple/hot startup). The A level guys will move on.
Someone with three offers in hand will not waste an unpaid day unless you can offer something special.
There is: Rob Pike, Jeff Dean, or John Carmack are examples. And I know that no matter how good I get, I'll still be a long way away from the level those guys have reached.
If you're a serious engineer that is demonstrating consideration: 1-2hr homework doesn't exist. Attention to detail, considering corner cases, test cases, documentation, and polishing takes time.
I do agree with you the whole "let's stress him out till he fails one of the tests and then fail him" gauntlet is just annoying.
There's a contingent of very detail oriented people who believe they are introverts because they tire easily at this kind of persistent over-stimulation. These people will wash out of the process before the culture fit interview in the afternoon. All you've done is increased your odds of getting a bunch of coding cowboys.
The fact is that nobody in a real business situation should be put into this sort of pressure cooker situation on a regular basis. That you're selecting for this indicates a pretty gross failure of management to manage. And until people push back the problem won't get solved. Hiring more people that think that's okay? One way to look at it is that it's a public service you're doing for the rest of the industry by keeping people like that out of our hair. Except people do what they know and any junior folk will just think this is normal and okay. It's not okay and I wouldn't even say it's normal.
A pressure cooker interview tells me this place is high drama and they're looking for people with a high tolerance for bullshit. I want to get shit done and do it well (not perfect - well), and that's probably not happening at a place like this.
Keep in mind you are interviewing the potential employer, boss, supervisor, and potential fellow employees as much as they are interviewing you. I welcome any chance to meet (and evaluate) everyone I can on the other side -- are these people who are pleasant, smart, ambitious, have potential, I can help, can help me, etc.
I'm pretty sure it's an American thing. Where I'm from it's been a short 1 to 2 hour interviews spread across a week or two. Similar to what you're used to I'm sure.
The downside of the American model is that it's fatiguing having to audition for an entire day. On the plus side, once the day's up you usually know there and then whether you've got the job or not.
Agreed, I wouldn't consider doing a full day interview, unless I was looking to relocate and wanted to fit the whole process into a single day. As a regular job offer, it's absurd.
Wow, well the feeling is mutual, I wouldn't want to hire you! :)
A day is nothing for someone looking to leave a current position. Take a day off of work, what's the problem? Seriously. You're leaving anyway.
And then it's not like you can't just walk out on the interview at any time (say after the 2nd silly whiteboarding session) if you feel they are wasting your time.
The most important part of interviewing is the candidate's evaluation of the company. More time spent, and more people to talk to, is a fine tradeoff for a day of your time.
As a candidate, I don't really care what the company thinks they are getting out of a full day interview. I want this for my own reasons.
But that's only a downside for people who might fail your interview and/or be looking for alternative employment. Why would you care about inconveniencing some disloyal guy who you don't want to hire? ;)
The problem is that to get a good offer you need 2-3 competing offers. Assuming a 20% onsite success rate (from the article), thats 10-15 days... Most of us only get 10-15 PTO days a year, and wouldn't want to spend them in something harder than a regular day of work.
I filter companies at the phone screen. Do you always go for an in-person if invited? I don't. I make sure to take at 15min of phone screen time for my own questions. (I don't do tech phone screens with recruiters -- complete waste of time. Competent companies have a tech phone screen with an engineer, who you can ask questions of.)
And I don't parallelize my job search. I do them serially, in priority order (based on pre-interview assessment), waiting 2 weeks after interview for an offer.
I get it that most people spray and pray, but for well qualified people this is the wrong approach.
This is why companies get away with silly whiteboarding and take home exercises. As a candidate, you have to be more selective than that.
> I get it that most people spray and pray, but for well qualified people this is the wrong approach.
Now that I am in New York, I don't generally even need to apply. I just wait for the recruiters to hit me up. When I do apply, I almost always get a response. I can be as selective as I want.
When I lived in Dallas (with only two years less experience than I have now) I might as well have been invisible. I took every onsite I got because I got so few phone screens to begin with. I couldn't afford to be selective.
As an aside, for an industry that claims there is a critical talent shortage this one sure has a bad habit of ignoring talent that isn't already local.
Also, given how searching for another job is not looked upon kindly by your current employer, having to hide multiple days' absences just leads to stress over losing your current income.
I have the luxury of not needing to spray and pray. Even though recently the number has been fairly low, the PHP-tagged jobs on the monthly Who's Hiring that are open to remote would net me at least 3 or 4 jobs that interest me.
Stack Overflow would add several more. From a list of ~10 I can trim it down to 2 or 3 "I want to work there" companies.
"As a startup it's hard to compete with Facebook and Google compensation packages, especially for senior engineers"
Also, Oracle apparently had a lot of success building out their bare metal (now cloud infrastructure) team by making uncharacteristically (for them) good offers.
You can hire good people, if you're willing to pay them. Bullshit doesn't work anymore.
Have you tried offering other things? Like work from home, work remotely, more interesting work, various education ranging from various courses, conferences up to paid tuition at an university (and then actually giving people the time to do it)?. And please don't say you have snacks, have better working environments not snacks.
As a startup you mostly expect people to work 10+h a day.
It's not always about the money, but if all other things are equal, yeah everybody is gonna take the higher payed position.
I can do about twice as much work if I work 'fewer' hours. Actually it's not about the number of hours, but the expectation that I should be working at some time or for some number of hours. My best work happens in spurts of a few hours a day, or less frequently, a binge of 20 hours over a 2-3 days (after which I need to take a step back). So a company who can offer me this kind of flexibility, to work when and how I work best, could pay me half the BigCorp compensation and get more and better work out of me.
This. Unless I am figuratively on fire and flying through work, somewhere around the 4-6 hour mark I hit a slowdown patch and my quality/concentration goes through the floor.
I do six days of 4-6s for my current position and feel as effective as any of my co-workers, if not more-so.
as much as employers don't want to pay you more wages, they seem even _less_ inclined to offer anything that isn't wages.
respect? pfff. sooner get another 4% out of most employers.
install some sound dampening anything to make the working environment nicer? madness, instead the marketing folks will pick some new colors for the walls.
fire the toxic asshole who fucks up all the projects? whoa, that toxic asshole is critical to completing every project going at the moment; they'd sooner let mr polite&courteous go.
I've yet to find an employer that would give me more PTO instead of a pay raise. They'd rather pay an extra 10k between a pay raise and corresponding 401k matching increase, but they won't even consider giving me 5 extra vacation days so I'll have the time to enjoy stuff with the money I already have.
As a founder who is soon to start competing in the hiring market, I probably shouldn't be saying this, but there seems to be a huge arbitrage opportunity here available to smart startups.
Innovating on tired working practices (that most founders themselves would not enjoy in the least) offers an avenue to out-compete large companies for engineers while paying less cash and making your employees happier, more effective, and more loyal.
Please note, I'm not trying to say that startups should underpay employees, but financial reality for most founders does not allow for competing with the giants on salary (or even coming close). Since equity is now viewed dubiously by many, startups need to look for other things they can offer in lieu of 300k/yr that candidates will truly value. Things like flexible schedules (remote or partly remote), generous PTO, and good working conditions are often viewed by engineers as literally priceless. And for good reason. What's the point of tons of cash if you have no free time to spend it and your days consist of stress and drudgery? Sufficient wealth is a necessary component for quality of life, but beyond a certain baseline, other factors become more important.
Note: if you want to work on fun security, encryption, devops, and ux challenges, and enjoy your life at the same time, and R.intersection(["FP", "TypeScript", "Security", "Kubernetes", "Go", "Rails"], YOUR_SKILLS).length >= 2-or-3, and you can do 2-3 days per week onsite in SF (with some flexibility for remote stints) please send me a résumé: dane [at] envkey.com
This could be merely viewing it with the correct amount of doubt, as the trend has been toward less information asymmetry between founders/employers and candidates/employees.
The small size of employee option pools (which then get diluted) doesn't help, either. I can't remember where/when I read it, but I believe YC is pushing to change that.
Agreed, I keep trying to go the opposite of "three times as much pay for twice as much work". I want half as much pay for 60% as much work. Zero companies are interested in that, which is why I work freelance right now.
Believe it or not, I got reverse catfished by a faceless global megacorp, during the hiring process. I interviewed with half real people, half Skype interviews, and it turned out all my co-workers were the ones on Skype.
It never entered my mind that they would do something like that to me. They certainly didn’t tell me it would be that way. Being on the other end of a nonstop video chat is like living a lie somewhere inbetween telemarketer and infomercial goon.
As a developer, I could not code with a constant video feed of remote assholes chiming in for more bullshit. I quit in a matter of weeks, and I’d do it again, the same thing, every time.
So are you saying that non-salary benefits are bullshit?
Besides work flexibility, culture, purpose, and equity, how is a new venture supposed to compete with an entrenched monopolist that is essentially printing money (see: Alphabet)? Sure, equity is a multiplier that can return a huge amount of money with huge risk, but even equity+salary can't come near total comp offered by these juggernauts. I mean, these companies generate mountains of profits after paying crazy salaries and perks.
How can a startup compete for talent against these behemoths?
> So are you saying that non-salary benefits are bullshit?
I'm saying the reasons startups typically give to justify their low salaries are largely bullshit and not persuasive.
> How can a startup compete for talent against these behemoths?
Outside of paying more, they really can't compete head-to-head with the behemoths. They should really focus on hiring junior people who can't or won't work for Google/Facebook. Case in point: someone wants to work on self-driving cars but Google won't hire them to work in that group. That's someone a self-driving car startup has a shot at hiring.
> They should really focus on hiring junior people who can't or won't work for Google/Facebook.
This is also antithetical to (some) startups' way of thinking, which is that they must hire only senior/"top" engineers because that's the only way to get a product out fast enough.
Similarly, mentorship (something TFA does advocate) is seen as too much of a time/resource sink, a luxury only behemoths can afford.
This attitude makes some sense at seed stage, but after a few dozen senior engineers on staff, it loses credibility.
Either raise more funding or have technical cofounders who stay technical? You are essentially asking how they can compete with money against competitors with more money. And the answer is that they should focus on culture/flexibility/equity as you mentioned. Especially culture and flexibility, since for small orgs these can easily be set from the top. Allowing fully remote working is a great move because it allows you to widen your talent pool and potentially pay less (at least less than Bay Area market rate)
> How can a startup compete for talent against these behemoths?
Breath and depth of responsibility, and rapid growth in your responsibilities. I can't pay you as much, but I can put as the lead on our main product, and when you go for your next job, you can point at that and say, "I lead the team that made that happen".
Pay the 10x developers 3x to join your company. A lot of startups are just groups of very skilled engineers who have identified each other and left a behemoth together to work for themselves.
It's very hard to give 15+% raises at behemoths so there's always people who are very underpaid for what they do.
This may be obvious to the candidates but it isn't that obvious to startups. I have seen startups that ask the same interview questions asked at FB. Why would anyone who can solve these questions join your loss making startup? IMO startups should scale the difficulty of their interview process with the liquid compensation they are willing to offer. Also, reduce the number of steps in the interview, especially for experienced candidates. Make the process smooth and effortless for the candidate. That's something FB and Goog cannot do at their scale.
Yeah, I don’t understand why pay is so depressed. Often times, junior engineers get paid like 60-120k.
I would say senior engineers usually output double, if not more, than a junior engineer. Why doesn’t pay scale with productivity?
Like, maybe I'm seriously missing something. Maybe Junior engineers at other orgs are ridiculously productivity? Maybe the expectation for senior engineers is ridiculously undproductive. Maybe the risk-reward of hiring senior engineers (and them getting hit by a bus) levels it out?
If the efficiency / dollar doesn't scale, then what's wrong?
What you're missing is that pay is not based entirely on merit, productivity or any objective measure. A significant fraction of pay is based on social status in the org, and programmers are on the lowest bar as far as that goes.
The paragraph right after that explains how startups can get ahead. I work with a lot of startups just for the learning opportunity and career progression. Even with the high probability of startup deaths, you can hit real manager experience, at the age of 30 and move on to manager jobs with big corporations.
That particular one, "career progression" only seems to apply to those who consider it a progression to move into management. That seems to be a minority opinion among engineers, but, more importantly, there are far fewer management roles than engineering ones, especially at a startup.
I was going to say that there's career progression towards being a 10x programmer too. But that's a much more debatable topic.
You get more flexibility to take on multiple roles. More pressure driving you forward. Much, much less bureaucracy to worry about. No more 2 month discussions over code that takes 2 weeks to write.
The downside is that you could get tied up putting out fires, being unfocused. And there's little room for deliberate training.
Indeed, all of this are debatable, and the article only specifically mentions "rise up through the ranks", which means management.
Of course, even that's a questionable proposition. It calls out the youth of a Chief Product Officer at Facebook, which may well be cherry-picking/selection-bias.
As I've researched the managers at startups I consider working for, I routinely see on LinkedIn profiles that a high "rank" at a startup turns into a much lower one when an individual moves to a much larger company, though it does tend to go back up once that individual returns to startup work.
It's really tough for companies with low profiles or who need to hire for boring work. Not everyone can afford top dollar either. My current shop needs a lot of legacy system support and we have absolutely no choice but to hire second rate talent or rent them from body shops.
This is a great post and founders/hiring managers/junior recruiters are advised to listen to them. After a continual refinement of our own process over many years we've landed on almost this exact process near completely independently. This is a standard for a reason. You will save yourself A LOT of headaches if you incorporate this feedback into your own hiring processes.
For people that are "too good for this process" - well, in my experience those are the ones that aren't a good fit for most organizations. You're self selecting out and limiting your own options. For some people that's totally fine, but for most I don't think that's good advice.
"For people that are "too good for this process" - well, in my experience those are the ones that aren't a good fit for most organizations."
My experience is that most companies are asking for too much and being downright rude in the way that they do it. Especially from more senior people who have options.
I turned down a number of companies at (or just after) the phone screen stage during my last job search. Usually the pattern was that they'd done one form of preliminary screen, and then wanted to do one (or two, or three...) additional steps before going onsite. One company I remember asked me to do an eight hour programming exercise, after I had finished a phone-based technical screen. I told them it was unreasonable, and that I'd consider it only if I had nothing else to do with an entire day of my time. Never got back to them.
I am a tolerant person, but I am, indeed, too good for that kind of process. Early stage startups especially need to accept the reality that they're not attractive places to work, and behave accordingly. The less reasonable your process, the fewer good candidates will stay in the pipeline. Eventually, you're just intensely screening the people who didn't have better options.
For me it depends a lot on the details of that process. I want to work with really good people, so I'm ok with a process that takes time and/or work as long as a) I think the added process is likely to get better results, and b) it's handled in a way that's respectful of the time and energy of all concerned.
A good example for me is interviews. I'm totally happy to do a full day on site, exhausting as it is. But only if I feel like they have gained new insight in each round. A few months back I did like 8 individual interviews during a 1-day startup visit, and easily half the time was answering the same questions repeatedly. The could have just had people pair up and saved me time while getting better results themselves. It gave me the impression they didn't have their act together.
Take-home work is in the same category. If it's the kind of thing that makes me say, "Oooh, I want to work with people who pass this," then it's great. But if it mainly seems to be testing my ability to put up with nonsense, that's a big negative sign.
I'm talking about people who don't want to go through the standard process outlined in this blog post. Specifically: 1 or 2 phone calls to establish high level alignment and technical fit, and then a full day onsite.
That's fair(er), but after you've gone through a service like Triplebyte, you're supposed to be screened. Extra screening steps beyond the onsite are excessive.
The promise of something like Triplebyte (for the candidate) is that I do one round of technical interview, and then proceed directly to my favorite companies for culture fit and personal evaluation. But every company believes that they're the special snowflake who deserves extra screening.
> For people that are "too good for this process" - well, in my experience those are the ones that aren't a good fit for most organizations
If the process is patronizing, good people will simply opt out and pick another of the many options available to them. The more senior the applicant or the higher the demand for the particular role, the more people you will lose.
If your hiring process is unilateral or asymmetric in terms of time investment, you are almost certainly not going to get the best talent.
I'm not talking about a "process" in the abstract. I'm talking about the specific process that was outlined in the Triplebyte post. 1 or 2 phone calls. 1 onsite.
Has anyone been able to reapply to Triplebyte after an initial rejection? Somewhat relevant question as this is an article by Triplebyte and Harj who I understand is a YC partner. They say you can reapply after 4 months but I can't find how to do that when I login and emails to their support line go unanswered.
When I was going through Triplebyte, I asked a lot of questions.
According to the recruiter I was working with, it could be 4-6 months between "refreshes".
I would say to keep trying to get in touch with them - everyone I interacted with on the Triplebyte team was nothing but helpful.
If you washed out of the process at the initial testing stage, make sure to let them know that you have been working on your skills and you are ready to re-take the test.
Thanks. I'm just going by their website that indicates 4 months but I'm actually at 5 months. I've tried emailing support@triplebyte.com but have not gotten any response. My first time around I made it to the online in-person interview and thought I did fairly well but got rejected after that point with some rather vague, generic reason and feedback. I just want to know if I should just cut my losses at this point so wondering if anyone has had any success at being able to just reapply.
I often hear or read about how there is a developer/software engineer shortage. And the rising salaries seem to reflect that-- supply and demand and all that...
Yet it seems that there are hundreds of applicants vying for each position.
How is this possible? Are there really that many lesser-skilled people trying to finagle their way in as software developers? Is the shortage one of _skilled_ engineers, while the deluge of applicants is a result of posers and imposters trying to get a slice of the pie?
1. An initial call, handled by a principal ("founder"), with the objective of explaining the role and the company and arming the candidate with as much detail about the hiring process as is practicable.
2. A followup in email shortly thereafter confirming interest and locking down schedule.
3. 1-3 work-sample challenges (our current set, for the role we're hiring now, is a short combined AWS/Django security assessment, an automated best-effort-secure deployment of that Django app in a fresh AWS environment we provide, and a short API scanner programming challenge):
3a. Introduction: provide the candidate with advance knowledge of what will be on the challenge and what they'll want to know going in, along with time expectations.
3b. Preparation: offer the candidate books, links to presentations, and a practice version of the challenge to get confident and comfortable with the challenge.
3c. The challenge proper.
3d. Scoring: each challenge has a pre-built scoring rubric, on a 1-5 scale, designed so that anyone on the team can quickly score a submission.
4. Meet in person: after informing the candidate they did well on technical qualification, we do a single round of in-person "interviews"; no whiteboard, no coding, just meet and greet and discuss logistics.
5. Offer.
Missing from this process:
1. Recruiters.
2. Resumes.
3. Telephone interviews.
4. Technical interviews from members of the engineering team.
5. Any significant interruption to the engineering team's work.
6. Interview exercises with a member of our team watching you code.
7. Free pizza and coffee (though I guess if you asked, we'd send you one).
8. 5 of the 6 hours onsite this recommended process includes.
I'm happy to keep repeating this just as a sort of reminder that we're hiring, but this is a streamlined and improved (we didn't have practice challenges at Matasano!) version of the way we've been hiring for coming up on 10 years, and it works spectacularly well for us. People keep telling me why what we're doing can't work, and I keep wondering what I'm doing wrong to make it work.
You should consider cutting way back on interviews --- especially telephone interviews, which I've found to be completely worthless as generators of real insight into candidates --- and replacing them with work-sample challenges. But be serious about it if you do: candidates hate "take-home projects", and when I ask them about it, it always turns out that those projects precede or follow a standard interview loop. Fuck the interview loop. Interviews are a random function. Figure out what skills you need candidates to have on day 1, and then just build something that checks if candidates have those skills.
What happens prior to step #1 from a candidate's perspective? How do candidates express interest and do 100% of the folks who express interest get a call?
The way this "scaled" at Matasano was that we gradually got smarter with our outreach, so that instead of constantly circulating wide appeals to the whole developer community, we staged events (Cryptopals, Microcorruption) that targeted a specific community of enthusiasts with whom those phone calls were likely to be valuable to us.
But in the beginning, we just posted on the HN hiring threads; it's a fine starting place. That's what we're doing now. I'll do a couple phone calls a day at this point.
Add up the time you'd spend interviewing on site and doing pointless phone interviews and that's the amount of time we allocate to ourselves for work-sample tests.
In 10 years of doing this, I've never caught anyone cheating, and as I've remarked elsewhere and often, the quality of the hires we made once we switched to work-sample testing (a thing we did to raise the bar for our hiring, after our standard interview loop passed some people who were better talkers than appsec people) went drastically up. While I was at Matasano, we didn't let a single person go who had gone through our work-sample process.
That said, if you're worried about cheating, build a small, non-confrontational interview into your process where you just talk about how they approached the challenges.
Thanks for answering, I was curious about the time because I know large tech companies will fly people in for day long interviews. But I've only been on the receiving end of a couple of interviews(funnily enough the last one was by sctb before he left for ycombinator) and they were all less than 3 hrs of my time from resume to offer. And I was worried a longer process might turn off candidates unless we have strong brand recognition, or an extremely competitive salary.
It absolutely does turn off some people. And, what's worse/better: we refuse to alter the process for anyone; there are no fast-paths through our process. Running someone we're almost certain is "overqualified" through our challenges helps true up the challenges and the scoring rubric.
I'm sure we lose people who can generally talk their way through any interview. And a lot of those people are good at delivery! But we gain so many more candidates we never would have been able to engage before that we come out way ahead in the bargain.
> A complaint we hear from Triplebyte candidates is being asked how likely they would be to accept an offer before knowing the actual offer details. The reality is that compensation details are a large factor in where people decide to work and you can't expect someone to know if they want to work for you without giving them that data.
The numerical salary shouldn't be the deciding factor. I want to know if you're interested in the work that you'll be doing and the team you'll be working with. I don't want you to think, "man I wasn't going to go there but they offered a huge salary!".
Of course the salary is relevant, but I want to know that we're just negotiating on the number, and not number+job.
Are you interested in the work that we'll be doing? Yes? Good, is this number high enough to make it worth your while? No? Ok, well that was the highest I could go, so thanks for your time.
I exclusively work for whoever is willing to pay me the most, at the least inconvenience to my current living situation. I would feel pretty comfortable wagering that I'm in the large majority there.
I may be off base here so apologies if so, but reading between the lines a bit I'm assuming that you are an early hire or possibly a founder of some startup. Very few people, probably nobody, will be as invested in your business as you are (unless you give them a non negligible amount of equity, and they believe there's a good chance that will actually be worth something). It's understandable that that's a difficult/frustrating fact to accept, but it shouldn't be hard to understand. Acknowledging it will lead you to a more effective hiring process.
I'd rather work at somewhere with a 0.9x salary with a healthy culture and work life balance and a product I'm excited about than a place with none of those that pays 1.1x salary.
I don't think I'm in the minority of that either. That's not to say salary doesn't matter -- it's very important because given two places I'm equally interested in, I'll pretty much exclusively choose based on compensation.
That seems reasonable, but the compensation ranges I've been seeing aren't 0.9-1.1 x a reference salary, they seem to range from 0.3x (crappy consulting) -3x (HFT) the compensation of a mid-range FAANG position. With that kind of variation, it's very possible that compensation differences could overwhelm a normal sized difference in culture quality.
"I'll work for whoever is willing to pay me the most" is valid from your point of view. But I as a founder don't want people who're in it just for the money, so eliminating such people is exactly why I think I'll henceforth separate out the "Are you interested in this job?" part from the pay part.
Perhaps without realising it, you made an argument for the opposite side :)
You're assuming I didn't grow up poor. You'd be correct in that assumption, but that doesn't mean I can't empathize. I didn't grow up poor, but when it came time to get my first job, I didn't have any money nor any help from my parents, or any fall back options. I had to get a job to afford food and shelter.
True, but given the evidence, I considered it highly unlikely that you did.
> I didn't grow up poor, but when it came time to get my first job, I didn't have any money nor any help from my parents, or any fall back options. I had to get a job to afford food and shelter.
It's not about that. It's about how you look at the world and how you view finances because of the way a person grows up. You don't have the same scars that we have.
> I still cared about the work that I'd be doing.
For us, that would be pretty low on the list of things that mattered.
Why shouldn't people optimize for the number? At the end of the day, people change, and being optimistic or excited about the job today doesn't mean they'll feel that way 4 years from now. Money on the other hand, is quantifiable and can be saved up, its a much more flexible resource to optimize for than immediate happiness.
Not at all (at least not in my case). I already know how much I can afford to pay for someone doing that work I'm hoping to hire you to do. I want to make sure you're interested in that work before I tell you that number, only because I don't want that number to be what pushes you over.
Sure, maybe you'll lie and say yes to get the number from me. That's a risk I have to take. But if you say no, at least we didn't bother having you come on board just to be unhappy.
If I get paid enough, I can always take acting/improv lessons and just feign the enthusiasm, treating it like a side-hustle on top of the regular work.
If you tell them you really want to work there, they can use that asymmetry of information to their advantage in order to give a lower offer. What you’re doing is asking someone to take a highly disadvantaged negotiating position.
man, you want the body coming to work, the brain doing the work, and also you want the soul. The soul does cost a significant extra and it seems you're trying to get it on the cheap by catching and exploiting the enthusiasm of those people who feel it for your jobs.
Expectations can be very far apart. In Kuala Lumpur, the average salary for 5-10 years of experience is about $15,000 annual.
That's... way too low for me. 80% of interviewers will offer this range, but it takes several days of interviewing before they'll mention numbers. I really don't want to waste anyone's time on an offer I can't take, so it's good to filter that early on.
I’ve had many interviews such as “all day interviews” to ones that were only an hour or two at a time in America.
The current position I’ve accepted is a German owned company that has a Japanese branch. Small company. Pay is low when compared to compensation I could get in America.
BUT, the interview process was simple. Skype video call with a few people at the same time. Met two of the owners while vacationing in Japan. Got an offer and accepted it.
Despite the low pay, I accepted it because it is completely remote. The work is fulfilling (right now my project involves data that can help farmers). I’m learning a lot of new stuff.
It’s actually because of all three that I might stay long term. Remote, fulfilling work, and learning new things checked all the boxes despite the low pay.
Stuff like that matters. Many companies don’t understand this.
Definitely shows their expertise in the space. Strongly agree with all of this, one of the most important things for me as a candidate is to feel appreciated as a person, not just "headcount". Being thoughtful and considerate is a very rare thing in a hiring process.
When I hired my first employees, I focussed too much on compensation. I ran the numbers and offered as much as I could afford.
I was really disappointed when great candidates declined my offers, and went with other companies that didn't even pay more (I asked).
Now I understand that I just failed to excite them. You really need to tell people how awesome the work is, good engineers will always have many options. And also understand that what excites you may not be what excites the candidate, so starting with asking about what the candidate is looking for is a really good idea.
Both are certainly important. A few years ago, received offers from two places. One had employees that were excited about the work, the culture was great, the job had a combination of data science and programming that was right up my alley and we talked in-depth about real problems.
The other office was just depressing. I mean, it was literally kind of dark and bare. They seemed evasive about what day to day work was like -- something about "dashboards." No one seemed happy to be there. It was a satellite to the main office in New York.
When I got the offers, the second job offered $25k more than the first job. I did a little bit of moral handwringing, but... you know, I was getting married the next week, we wanted to buy a house, and an extra $2k a month can make up for a LOT of shitty work environment. I took the second job, got a $5k raise each year, and haven't regretted my decision at all.
You are not Facebook, you are not Google, you are not Apple. You will never be any of these. They have piles of cash and can afford almost anything, they have unimaginable datasets about private lifes of billions of people. Stop using the same practices as them, stop using the same frameworks and stacks as them, even reconsider using technologies produced by them.
I think more effort could be made to sell before the candidate decides to interview. The best candidates have to be sold on the opportunity before they invest their time into an interview process because they have so many opportunities available.
Widen the funnel at the mouth.
Anecdotally I have had many experiences where the hiring manager didn't take the time to listen to what I was looking for before launching into their 10 minute spiel give everyone, and then they ask me for phone screen availability. Why is this the right opportunity for me?
EDIT: after reading TFA, I see this is exactly what they're advocating for. cool!