Hiring manager here. IMO the current tech hiring norms are gross and not sustainable. It feels like a weird hazing ritual and with the current market, is the single biggest reason you can't hire. Why on earth would someone burn a weekend on a take-home test for your startup when they have 15 other irons in the fire? At my current employer we got rid of all that ridiculousness. No take home test. No live coding. We've gotten the whole process down to a few hours over a few days. I'd like to think it's a mutually respectful process.
I think it's time we accept that the person we are talking to is who they say they are on their resume. You don't see accountants balancing books before they get hired. Why should this be any different? If you aren't who you say you are, its either blatantly obvious in the interview or we'll find out when you join and we'll try to correct or part ways. This is like pretty much any other job out there.
> You don't see accountants balancing books before they get hired.
You sure do, and not just by a hiring manager's whim, but by law. Accountants have occupational licensing.
> I think it's time we accept that the person we are talking to is who they say they are on their resume.
This is a straw man, I have never "caught a liar" on an a coding exam. What they are helpful for doing is judging the quality of what it means to be "proficient in [x]".
If there's anything I have learned from giving coding exams to candidates, it's that the ability of a candidate to verbally sell themselves in an interview has a weak correlation to their ability to produce quality work.
Forgive my ignorance, but is this during every interview? If I am reading this right this is a certification they'd need to get which would be on their resume. Do they need to re-prove those skills every time?
But no, they don't happen "during interviews". My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview. Depending on where you're at, you can't even legally call yourself an "accountant" without an occupational license. By contrast, anyone can legally call themselves a "software developer" and show up to an interview, which is why the need to evaluate their skills at that moment may be different.
While I see where you are coming from but respectfully disagree with your conclusions.
> My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview.
I mean past job experience and education are pretty good indicators? Is there some facet to the accounting certification process I am unaware of that filters out under performers? If my past few accountants are any indication, then no. :)
All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.
The problem that I have with judging someone based off job experience (or academic experience) is that I usually have no idea what value that experience is. I am not familiar with most workplaces. When I have an applicant that has "3 years of experience as a senior developer at XYZ Corp", I have no idea how valuable that is. I've never heard of XYZ Corp; I don't know how good their organization's IT department is, nor do I have any idea what would be expected of a senior developer there. For some companies, this might mean 3 years of solving challenging and highly technical engineering problems, leading a team, and functioning as a sales engineer in the field. For others, it might mean they copy and pasted existing legacy code and changed field names for three years while sitting alone in a cube. And depending on how humble the candidate is, and how good their self-marketing skills are, it might be hard to distinguish between the two in an interview. Or, their skills may not be matched to their previous job position.
This is not to say that I think occupational licenses are always an ideal way of handling this: I definitely don't think that. I'm merely using it as an example that testing people's ability in an occupational setting is not uncommon.
> All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.
I 1000% agree with you here. I think that this can include some coding exercises, but they need to be very limited in time and scope. You are absolutely right that most companies are not FAANG, and should not interview like FAANG. Every coding exercise I give is very limited in scope and is directly relevant to the job position -- never leetcode or other BS.
This sounds very forward thinking and I like it. Would you be willing to share a bit more on the process? What does it entail? In the past I was hired on just 2 interviews, and all we did was talk as peers. It felt comfortable and honest. It's the reason I said yes to switching positions.
Thanks! So, I'll say that we are still tweaking and trying to get things just right but, as of the time of me writing this, here is the process:
- HR call 30 min.
- Talk to hiring manager (me) 30 min. Get to know each other and feel out if there is a mutual fit.
- Technical panel 1hr. Speak with several engineers on the team who share your discipline (front end or back end for example). Again no live coding. We just talk through stuff.
- Talk to the team PM. 30 min. Get a sense of how you collaborate with our product team partners to build new features in our application.
After that it's the usual comp negotiations, background, and reference checks. Assuming all that works out then hired!
We're hiring so, if anyone is interested in finding out more, contact info is in my bio.
Sorry, but this just sounds very easy to bullshit. Unless you're doing real in depth quizzing of stuff people wouldn't know if they didn't work with it (e.g. in HFT, explaining what a potential implementation of std::string could be and what the tradeoffs of each design choice would be), generic backend principles are very easy to spew correct answers for without actually knowing how to code. How are you going to filter out people that just memorize the concepts for their chosen language and are good at talking but can't code for their life?
> generic backend principles are very easy to spew correct answers for without actually knowing how to code
I'm not sure I agree with this. IMO trying to get someone to explain the ins and outs of a particular facet of the technology your team works in is less effective than getting a sense of how a candidate architects their code and manages complexity. That type of "art more than a science" craftsmanship is not something you can easily fake in my experience. Maybe I'll be proven wrong. We shall see. So far I've had pretty good luck with the approach and gotten some really great teammates.
It's almost always obvious whether the candidate really knows their stuff. They go into details, when you ask probing questions they don't revert back to generalities or repeat what they already said.
Where this does not work, however, is interviewing junior developers. They don't really know anything at all yet (well, some do, but again, that's almost always quickly obvious), so you're hiring for potential rather than actual skills.
Yeah you have to use the appropriate strategy for the interviewee. In the case of a junior, you are looking for potential and teachability as you said. You tailor your questions towards that angle. I've yet to see any take home or live coding challenge that answered those type of questions for me. All it told me is what I already knew: they were more junior and needed mentoring.
This is really great and it sounds like an ideal situation for someone interviewing. I wish you guys the best of luck with this process. I will work in my company to push more towards something like this.
We don't do take home, leetcode, live coding either. We walk through past projects and ask very pointed questions. We ask about difficult problems we've faced in the past and how you might solve it. I role play a junior programmer describing a situation I have and then ask junior programmer level questions of how to solve the problem. You get to talk to two very senior software developers, and two very senior engineers in other roles, and the CEO (who is also highly technical).
Once you get past the first screening call, I find you on social media, blogs, forums and read your posts, and see what questions you're asking on stackoverflow. Then we might move you to the next stage. All in all, you get a pre-screening from our recruiter (about 15 to 30 minutes), a screening call from a technical hiring manager (30 minutes), and then you talk three or four principal engineers (45 minutes each). This happens in days.
The only person that doesn't talk to you that is highly technical will be the recruiter. If you're hired and start work, we watch what you're doing, mentor as necessary. If you have the right attitude and are coachable, so long as you can string together coherent lines of code then everything else can be taught.
> Once you get past the first screening call, I find you on social media, blogs, forums and read your posts, and see what questions you're asking on stackoverflow.
And what if my social media presence is minimal or not public?
It is possible that a candidate's social media presence is minimal or non-public, and that will lead to a dead end. But are you claiming that _your_ social media presence is minimal or non-public? Candidates are applying with their real names and a work history; not to sound creepy but they become very "findable" with that information. And I use that to judge "does this person know what he's talking about when it comes to his job?"
I know you are a web developer, full stack but with a slant towards backend, like the Jetbrains applications, run a Thinkpad with Windows OS, have a beard (by your own admission), possibly live in a Nordic country but I don't think you are from there (UK I think, London area, or at least lived in London, or you live in the far North of Scotland or London has been a bit dark this year), are in your late 50's or early 60's, have a small family, like noisy keyboards, dislike Vim, absolutely loathe "Fn" keys, own a Mac that you ocassionally use, enjoyed Star Trek: TOS, run Android on a Samsung Galaxy (S3, Nexus 5, S10). You didn't wait for your resin in your table to reach flashover point. Found your reddit account, your stackoverflow, your github, and your abandoned twitter account, looks like you purged your Facebook account but didn't delete it. I am pretty sure you used to skateboard, enjoy riding a fixie bike and photography, possibly did some rock climbing in your youth. I may be off on some of the details, I only spent 20 minutes on it. Of course, I might be connecting two different sets of data points about two different people.
Over-sized coloured mice are very clever if they can build the CMS for a real estate agent.
It was a hypothetical question about whether you have plan B for when you do not find applicants presence in the social media to be enough to draw conclusions but you answered that now. I would consider most of these thing that you listed to have nothing to do with professional aptitude but the fact you took time to go through the process with random dude on the internet for some reason and then deemed these things important enough to list here speaks volumes about you.
Thank you, it does speak volumes about me, but I am not taking it as the insult you think it is. You were trying to be clever by asking a question about "oh, but what if the person doesn't have much of a social media presence or makes it private?" And I proved that if you have a social media presence of any kind, it is easily discernable and those private little comments we all make when we think nobody is listening tells me whether I would want to work with them. Those things have nothing to do with professional aptitude, but you'd be surprised just how toxic some people can be in their private moments.
I deemed the points listed important enough to list here to indicate that you are findable, even when you think you're not. I was also careful about not just saying you're "X that works at company Y" with a bunch of links. Based on what I have read I think you are a competent, level-headed, well-rounded and reasonable person with strong opinions about what you want from your technology with a willingness to compromise. You're also an exceptionally competent developer and team lead and I wouldn't hesitate to hire you.
A social media presence, even when we don't want people to see it, can either accelerate the point to hire or the cut the interview short. I don't look to see if someone does drugs, binge drinks alcohol, enjoys going to fringe fandom conventions or spends their income on collectible dolls. I care that the person we're interviewing isn't expressing undesirable opinions about people of colour, sexual orientation or many other aspects that would bring undesirable prejudices in to the team.
Based on what I've read, your interview would consist of "when can you start?"
Regarding a "plan B" for no social media presence at all, then the interview process becomes much lengthier and more difficult for all involved.
This is the right way to go. If I were looking for a job right now I'd be hitting you up. I've said as much in a few other threads but it's not only the right thing to do, its a competitive advantage.
No, an online presence can either accelerate the interview process or cut it short. No online presence extends the process and makes me leary of making a bad hire, so I'm looking for tells in a weak signal source of an in-person interview where someone adopts a persona to get the job.
I've had to interview a candidate where I am literally handed the resume and said "can you take over? blahblahblah had to ditch." which is unprofessional but you do what you have to do. I walk in, sit with the candidate for about, maybe ten minutes total, whilst I am poking into his online presence and explaining what I am doing, whilst my colleague grills him on various aspects. After ten minutes I write on the resume "Hire this guy before someone else does", thanked the candidate for his time, explained that my colleague would take over, and politely left the interview. Poor guy thought he'd failed the interview. I will admit I handled that aspect of it badly. We made him an offer within the hour. He was an absolutely fantastic hire.
I've also looked at many social media posts by candidates and then put a strong "NO HIRE!" on their application. It isn't about skillset or education or capability, but there are things that people say on social media, in unguarded moments that make them unhirable in a modern work environment due to prejudices and their willingness to express those prejudices.
You should absolutely care about your online privacy. I have made myself "very findable" and if you go through any of my social media posts, you might take umbrage at some things I say (especially about recruiters), but I try to be a cross between Mr Rogers and Ted Lasso. If Mr Rogers said "F*K" an awful lot. I might think some things in the private thoughts of my own head, and thank goodness those aren't automatically transcribed by Google or Siri at this time, but when it comes to posting some very disparaging things in public, some people cannot help themselves and that can tell us whether those thoughts might spill over in the workplace as hidden prejudice or overtly expressed that would land the company in legal hot water.
> I think it's time we accept that the person we are talking to is who they say they are on their resume.
Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.
IMO, it doesn't work. Talk is cheap.
I wouldn't have a job if I had to talk my way into any company, I'm an introvert, I suck at communicating orally. But I can solve problems and write really good code. You throw problems at me during an interview and I'll solve them. Ultimately your company's code is not going to write itself.
>Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.
I would be THRILLED if I was put into some kind of a short probationary period, with limited access (and potentially restricted salary, with retroactive reimbursement) while I showed what I was worth. I personally have a hard time demonstrating that in short interviews, and it's only once I come in contact with the shape of the company's problems do I show my value. Imo it would lower the stress and paranoia on both sides over a candidate's fit.
If a company temporarily paid higher salary and covered your health insurance during this probationary period to account for the risk, I'd go for it. Otherwise,
never.
> Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.
You are right that there is more risk with this approach. I honestly think that its a better, more humane way to do things though. Anecdotally, I've hired a couple _really_ solid developers via this methodology. At least in my case, it's been working out well. As always, you try stuff and iterate.
> I'm an introvert, I suck at communicating orally.
I get it. So am I. Its actually very hard for me to reply to these comments b/c of my general aversion to putting myself out there! I don't think there's a one size fits all solution. At my company at least, being able to communicate effectively both orally and written, is important. We do a lot of pairing and documentation etc. Thats not for everyone. YMMV.
Do all that without writing decent code and you still have nothing to show.
> Lack of communication skills is a bug not a feature.
A bug I'm willing to take in exchange of producing high quality code. Besides, we live in 2022 now, we can type. I just said I suck at talking not at communicating. There are multiples forms of communication which don't involve opening your mouth.
Going through a few days of grueling interviews every few years is vastly preferable to spending a few years working alongside people who can't pull their own weight. Hiring managers are timid about letting people go and it can take an extraordinary amount of time to part ways with unproductive people.
> Hiring managers are timid about letting people go and it can take an extraordinary amount of time to part ways with unproductive people.
With respect, it sounds like you had a bad manager. Underperforming teammates are your managers responsibility. They should be working to address that issue with said teammate or part ways. Sucks. Not fun. It's the job though.
Sorry but your response is a No True Scotsman argument. It is understandable why irrational behavior applies here - sunk cost, nobody wants to have the bad news of letting a new hire go, explicit objective setting may require there to be new hires. These will generally apply to any manager. Unless the new hire is clearly stepping out of bounds or extremely negligent, it is going to be a slow process.
I think it's time we accept that the person we are talking to is who they say they are on their resume. You don't see accountants balancing books before they get hired. Why should this be any different? If you aren't who you say you are, its either blatantly obvious in the interview or we'll find out when you join and we'll try to correct or part ways. This is like pretty much any other job out there.