How can you fit in _another_ project (albeit small) in a week’s time (heck, make it two) _and_ manage any two of the above at the same time, when setting aside an hour (or more, if it also entails on-site) is already a very significant investment on your part?
I volunteer teach, I am president of my condo board, help run a local meetup, have a demanding job, oh and a family that needs love too- my free time is precious.
I started with their personality test (Calipers). It actually took 3 hours over 45 minute sessions that took the better part of a week. Fitting that in was extremely stressful and took away pretty much all of my personal time. When it came down to blocking out 3 hours for their coding test, I just could not be bothered- this would require me to more or less have to lock myself in a room for a good part of a saturday or sunday, toiling away still to only have a chance for a new job that might work out better than my current (I quite like my current job, this was just a potentially bigger role), but maybe not.
And I wasn't even in the market- Imagine now I am doing this for 5-10 (if not more) different companies. Its completely unreasonable IMHO.
That being said I also haven't needed a job for a very long time so...
What kind of gets me thinking is that, in my experience, people will take a look at multiple options before committing to a career change. This is where this concept seems to fray a bit.
Still I think it is a valid concept to minimize your exposure to false hires so it’s ok.
At my shop we opted for a similar approach but exchanged the project with a pair programing task that candidates get up front (and yes, we created reference code bases in many, many languages).
One other departure is that we don’t subscribe to the hard comparisons mantra. Candidates get to code with someone from their future team(or two sometimes) and it’s just a thumbs up or thumbs down signal. Thumbs down would usually mean that the process also gets cut short.
you guys are forgetting that this is a partnership, you also have to sell me your company.
if you're ok with that, I think you're missing out some good candidates.
Sorry, you are describing a candidate who's working life is hell and sounds to me they would be willing to do whatever it takes to get out and get on.
Now, consider if they instead said, we don't need you to come onsite for 4 hours at all, just take this 6 hour at home test at your own leisure at your own time, and we will give you an offer based on it. That would speak volumes about the type of company and culture that they are.
Because you're NOT affording THEM the courtesy. You're doing it for US as a community of software engineers.
I read a lot of complaints on here about companies do x, y, or z in their hiring processes and we don't like it.
Fine: tell them.
You know why? Because companies often listen to this feedback. Sure, some don't, but plenty do, and we certainly do.
If you are hearing the same thing over and over again from great candidates about why they don't want to go through your hiring process[1], and you're not able to hire engineers in the calibre and numbers you need, you'd be pretty obtuse not to do something about it. Even if you are able to hire the people you need, you might choose to make changes so that even unsuccessful candidates have a good experience and are more likely to speak well of you, as well as to increase your pool of better candidates. Sometimes those changes will take an awfully long time to occur, but companies do listen, and they do make changes.
(There are of course some companies that have so many people who want to work for them that they can afford to have what many of us would perceive to be an unduly arduous selection process and they're not going to change however many people complain about it, because they have no need. They have a different problem that they're optimising for.)
You might complain that this is not your responsibility, and that's fine: it's certainly your choice. But, if you want to see a net improvement in hiring practices across industries that hire engineers, you may want to take some very small portion of the responsibility that we can all choose to take for making that happen.
Let me be clear: it is much more effective for you to give companies with poor practices feedback directly (and politely, even if through gritted teeth!) than to complain on a substantially anonymous internet forum.
With all of the above said I'm now going to move into perhaps more controversial territory.
Not everything is about how good an engineer you are. In fact, your technical skills, whilst absolutely essential for the job, are not the most important factor.
We care about character. We care about how well you're going to work with others. We care about attitude. We care about maturity. We care about entitlement (or rather we have a strong preference for the lack thereof). We care about listening skills. We care about humility. We want people with initiative and skill, but we don't want divas.
Sadly this sometimes feels like we're spending more effort on weeding out negative traits than selecting for positive ones. Still, as I've said these character attributes are quite a bit more important than candidates' technical skill.
Fundamentally, we want to work with people who are easy to work with because in a team context you want everyone to rub along well together. We want people to treat eachother courteously. We want to avoid unnecessary drama.
[1] I've chosen that phrase carefully: I'm deliberately not discussing people who don't want to work for you, because there can be many reasons for that that have nothing to do with hiring process, culture, salary, or whether you're actually a good place to work (location, product, sector, etc.).
[2] Note: character, not personality. I don't mind what your personality type is (extroverted, introverted, whatever). We can work with anyone, as long as they're not an asshole.
And also I've worked at a company that was linked to a callcenter, I can say with 100% certainty, how someone behaves during an interview is never an accurate portrait of how they behave on the job
A lot of people get angry if you tell them the truth. If you try to soften the blow then they misunderstand and clearing up the misunderstanding then leads to them getting angry.
Weirdest interview experience ever.
Prior to having a family, I'd spend 12 hours on a test but claim it was only 6, now I'd be pushed to spend 3.
People who give their firm everything they have generally get rewarded for it. Those that don’t in some industries (like finance) are quickly fired. In others, it just means you get passed up for promotion and make less.
Just realize that everything has an opportunity cost and that nothing comes for free (both spending time with your family and spending time at work). Also that people have different priorities so don’t make blanket statements about what people want.
The first job I got out of college, there was a sea of Solution Architects. They all worked around 60 hours a week, if not more. If a boss said jump, they would always ask how high. If a boss told them they needed to take a red-eye tonight, they always did it. Yet every time I went into the main office, the group was entirely different.
That's an example of a group of people who drank the Kool aid, who were "generally" supposed to be rewarded.
> Just realize that everything has an opportunity cost and that nothing comes for free (both spending time with your family and spending time at work).
It's a sign of a deeply sick culture when everything has a transactional value.
I'm aware, I have a degree in economics. I'm talking about cultural values that force constant optimization onto individuals as being deeply sick.
Regardless of if every action has some minmax strategy, it's not healthy to have individuals constantly running Bayesian analysis into if they should spend time with their family, or take a second job.
1 day: 100% 2 days: 50% 3 days: 33% 4 days: 25% 5 days: 20% 6 days: 16% 7 days: 0%
As you can see, the less everyone else works, the more value your extra work is. I’m not saying that the equilibrium is gonna be 7 days. But it’s not gonna be less than 4, at the very least. This is also the reason why the 20 hour work week will never catch on.
Wow TIL.
> As you can see, the less everyone else works, the more value your extra work is.
It's surprising someone like yourself subscribes to the Labor Theory of Value.
As such, we can view working more than anyone else in supply and demand terms. People who produce the most are always in high demand, and the less of them there are, the more value a high productivity individual provides.
Finally, we would all vote again, and this time, a “hire” decision needed to be unanimous to move forward.
Maybe they better start with the social part first then, not wasting your time for in case in the end someone happens to not like your face.
I've gone through rounds of interviews and take-home assignments and calls just to be given a very low offer. Start with that, save time for us both!
I once had a founder offer to intro me to other companies if I wasn’t interested in his, which I thought was a pretty brilliant move that ended up saving us both time.
I think this is decently respectful of the candidate's time, while giving us the opportunity to review some actual code written by them. And yet, most of them don't even bother... Well, I get that you are busy, but I don't feel comfortable investing time in an on-site interview without seeing any code first.
Disclaimer: If they provide a link to their github with some solid projects or OSS contributions, we skip the take-home altogether.
But, I would only do this for companies I am desperate to get into (Ironically FAANGs for 'now' as they are the ones who are least likely to pull a WeWork/Uber/Theranos on me) and if I was pitched this by someone puritanically Id show them a finger. I do take my job search seriously and any hint of a company devaluing my personal time is a huge affront to me (and my family).
I don't like complaining without a suggestion, so... consider letting a candidate code on their own, and then ask them to walk you through what they did. You won't be disturbing the process by staring at them, and you'll get to see a bit about how they work independently & articulate what they've done. Unless you're a pairing shop, that's really what you're looking for anyway, yes?
The right hiring process for one position may be completely wrong for another. And that’s OK.
I don't think that necessarily applies to real-time pairing exercises though. The interviewer has significant latitude to interactively question and prompt to get at the skills and values a candidate possesses.
I showed him, we talked about it, he asked me to add a simple feature, I think I taught him something about the tech stack that he didn't know. It worked well for both of us.
But you do use the work to build your backend/office applications. In the end you are paying someone $250 for a 15 hour project + two days of in person development time.
Great idea. Many with follow.
"The costs of travel and lodging are compensated at this stage, but we are not paying them hourly. The work they do for us is not customer based work and does not generate revenue for us."
What’s so compelling about your company that people are willing to put in 5x the time commitment to apply as for most other companies? I can literally do 4 rounds of “phone screen -> on-site” with other companies in that time. If I’m working, why would I want to blow 1/3 of my yearly vacation to go through one interview process?
Paying for the interview is compelling. Almost nobody does that, so it's a differentiator. My first assumption on hearing that is "it sounds like they respect their engineers as professionals more than most companies do".
They don't hire people who have jobs because no one would/could do this.
Most devs with existing jobs have good jobs with decent vacation/PTO policies. So they have days to invest if they want to.
Don't be so quick to assume the worst. :)
Simplisticly, it might boil down to something like a preference for quality* interviewing over quantity.
* not saying our process is definitively better than others, just that some candidates want fewer interviews that they feel are a better potential fit for them.
Having had interviews at companies where it was NOT as advertised during the interview phase, I'd value that.
If I was already interviewing for another job outside of my existing one, I'd gladly take a week off to do it.
But if they were trying to get me to leave a job I already liked, I wouldn't commit that much time for it.
If you're already happy with your current job, and we can't convince you that our company is potentially a much better opportunity for you, then this is working as intended.
Interviews are expensive for the company too, so it only makes sense to invest time in someone who really is excited about switching.
Wanting me to jump through a bunch of performative hoops makes me assume you are in the "call you on the day of your daughters birth" camp.
I mean in the article you say "The strongest candidates take their job search seriously and are willing to devote a fair amount of time to landing the right job." the times when this has been true of me has been times when I do not have a job. If I am being headhunted for a job and I am already in a good job, I have a hard time envisioning a scenario where the job being offered would be so enticing that I would be happy to make a significant investment of my time although I might do it grudgingly if the offer is good enough.
When I took the job at a small agency I'm in now I had stopped a consultant task that had run out of funding. I was in a hiring process with four other companies, the small company in the interview asked me how much I wanted I told them my price they said "that's a lot but we expected it would be something like that so it's ok" and then they said something that really cemented my interest in working there than any of the other places that I was interviewing with - they said "we generally have a coding task to do but in your case I think we can skip that".
thank you for saving 4-6 hours out of my week! My family thanks you too!
In fact now that I think of it this testing is another reason why I give people a significant raise as a requirement for moving from my current job. I am earning pretty high up for my market, the market is like many tech places a sellers market. When recruiters ask me to interview with the companies they're selling I name a 18% increase of my current wage and equivalent perks as a requirement to consider moving. Maybe I would only want 10% if I knew that trying for the job wouldn't require me doing a bunch of unpaid work.
Is this necessarily the case? The Clippers had to bend over backwards to get Kawaii Leonard on their team. They almost certainly would never have gotten an NBA Finals MVP if their philosophy was only go after people who were already excited.
The point is there some tradeoff in the design space. It's nice to have people who are excited to work for you, but chances are the superstars that will take your team to the next level, already have a dozen suitors. Kawaii Leonard isn't doing a six hour take home tests.
I'd suggest that maybe Firebase's experience here is not representative. It was one of the hottest startups in the Valley at the time. So maybe it could put up a lot of onerous requirements and still have talented engineers beating down the doors. If you're the Lakers, Lebron James comes to you. But for the 99% of hiring managers that are at the equivalent of the Clippers, maybe the same approach doesn't work.
I'm not against projects in concept and I've never complained about them to my point of contact, but they make the process slower (your process takes about twice as much of my time as everyone else's) and less exciting. Every other step of the recruiting process is really fun - talking to people about their company and the work they do, but a project is just homework that I have to do alone after work or on the weekend. I've really liked some companies that gave me a project, but I struggled to find time and then I got to the offer stage much faster with other companies that I also liked, at which point its hard to find the motivation to complete the project knowing that it isn't even the final step.
While you say you never lost a candidate due to the project, I would challenge you to consider whether you lost candidates due to the perception (fair or not) that your process was less enjoyable and more time-consuming than your competitors' and so candidates received and accepted other offers first.
"We don't want the best if they are happy in their current job".
The unasked question is where you believe the engineers are who can make your project a success? Are they out looking for work? Or are they happily ensconced in other work?
There was a prevailing belief, at least a number of years back, that the best engineers were not found on the open market, so you had to actively seek them out. Maybe that isn't the way hiring managers approach the field anymore, though.
My blog post goes through the process for inbound candidates, which accounted for the majority of our hiring. We did actively try to poach folks as well. I spent literally 4 years trying to recruit one of my friends out of Microsoft.
For these folks, you need to sell, sell, sell your vision, product and team. They're not going to switch unless they're really pumped. All of this work to get them excited happens before the interview process even begins.
I think for these people the difficulty of the interview process is a small issue relative to the risk of switching away from a job they already like.
Speaking from the candidate's perspective, as someone with performance anxiety, I abhor live coding sessions. Best case, I'm thinking at an impaired level due to the anxiety. Worst case, I can't think at all and freeze up completely.
Therefore, I absolutely love it when companies offer a take home project. And you're right: I'm probably not going to do it unless I'm really interested in the company.
I'm actually going to be doing one this weekend, and I don't mind spending 4-6 hours on it, because at this point in the interview process, I'm really excited about potentially working for this company.
I brought in my half finished side project. We talked about it, he asked me some questions, I showed him a couple of things about the tech stack that he didn't know. He asked me to add a basic feature. It worked well for both of us. If I had been faking it I think it would have shown.
Do also spare a thought for the people who don't have side projects, or any code that they can legitimately share. There are plenty of talented engineers in that position, and it'd be a shame to have a hiring process that leaves them out in the cold.
This is the part that didn't ring true, at least for me. I believe that there are some candidates would not complain. But if I am good engineer, odds are that I already have a job that works well for me. Maybe not the perfect job, but working well enough that you'll have to give more incentive than just a job being available before I'd spend a day on a take-home, unpaid project. So according to the quote above, I'm not the strongest candidate because I'm not willing to devote a fair amount of time to landing the right job.
Maybe from the hiring manager's point of view, that is even true. But I've already landed the right job. I work there, every day. If you want to poach folk like me from a job that is already right, 6 hour take-home tests aren't the answer. Give us something quicker. Maybe not easier... I believe a challenging interview process is fair. But quicker.