Ask HN: Having trouble getting senior applicants, wondering what to do about it
We're a fairly typical run-of-the-mill mid-size enterprise software vendor trying to hire for fully-remote SWEs in the "DevOps" software space (Linux, containers, k8s, yadda yadda). We post in the usual places including Who's Hiring but we haven't even managed to backfill a retirement from six months ago, and we're junior-heavy already. Benefits and salary are good (though salary isn't posted in the ad), and the people are great, though the work requires a reasonably deep understanding of the underlying platforms which a lot of people seem to dislike.
I'm wondering if the work being a higher percentage non-code is what's causing us trouble, if we're just rubbish at hiring in general, or if it's something else.
What's everyone else's experience attracting applications from senior talent in this market, and what is everyone doing to increase their attractiveness?
Current hiring process:
- Resume screened by in-house recruiter
- 30m call with them
- Resume passed up to engineering
- Hour-long call with hiring manager (typically the engineering manager of the team the candidate would join)
- Take-home technical assignment (~4h) or similar at candidate's choosing
- Presentation of technical assignment to the team
- Offer
793 comments
[ 4.4 ms ] story [ 352 ms ] threadWhat are the conversions like for each edge? Candidate finds out about you ---> Candidate Contacts you ---> Step 0 ---> Step 1...
If there are not many viewing your offers, you may want to consider your channels.
If you have views but not applications, you may want to consider your copywriting.
If you're getting applications but they're not following through, contact them and ask why.
If you sent offers they did not accept, ask for more info on why they didn't accept.
Make a graph for transitions from each step to the other. Look at the percentages and numbers. Look for dropouts, etc.
View it like a conversion funnel, or more accurately a graph.
Focus your job description on either: 1. A software engineer who can (and is willing) to do some DevOps work. 2. A DevOps engineer who can (and is willing ) do some software development.
What’s your hiring process like? What’s your company rep like? How are the interviews ram? Any steps taken to help interviewees feel comfortable? Etc etc
What’s the point asking generic questions, i just don’t get it. Whatever the answers — chances they are helpful for you is near zero.
- what is your candidate acquisition strategy?
- what is your assessment strategy?
- what are the conversion ratio's in the assessment stages?
- what do the candidates themselves say if / when they say no?
I don't mean my comment as admonishment, so if you can reply with above, I will try to help
My employer is also having trouble attracting senior frontend devs right now and our take seems to be that there's a lot of competition for good candidates, that's unlikely to change in the short term.
EDIT: Not to doom, but times are changing, might be worth evaluating if you really do NEED a senior. A lot of the way people look at used cars, and housing, (and gas prices), and remote work has changed in the past few years. Maybe easily acquiring senior devs is something that is also changing.
I was interviewed for a position, and was clearly perfect, but I couldn't get that across to more than half of the people interviewing me. I had some people in my corner, but others were concerned I wasn't technical enough which is hilarious.
Why would I subject myself to that? I can get a job in a heartbeat from anyone who has ever worked with me in the past.
It's a demeaning and dumb process interviewing with people you don't know, when you interview people who know you, they just pitch you on why you should join them.
They don't even ask me questions, because they know I am going to be one of if not the top contributor. They've seen it, they don't have to guess on if I happen to forget syntax on a sql command because I am not focused on sql at the moment.
Eh, if someone refers me for a job they may need others’ buy in. The take-home technical assignment, on the other hand, would be a show stopper. That’s consulting. I charge for that.
Although by "real interview", I was indicating interviewing with people I didn't work with in the past. I wasn't referring to additional phone conversations for buy in.
You need to overhaul your hiring process for Senior+ folks. Tap onto your network, encourage existing employees to refer candidates, or otherwise just reach to prospect candidates.
Those people are not part of your talent pool if you put up barriers to entry for them. I understand those barriers exist to keep unethical people out, but that's just the trade off you have to accept with barriers in.
You're not going to get top class people.
It's difficult to communicate that in a job rec. I'd never leave for a much more higher paying role because the weight of being on a team of real experts working on real challenges far outweighs additional money.
Just the way it goes out here. For the same reasons you wouldn't be able to hire me, other people won't be hired for less than what they want.
Edit: The "slightly underpaid" comment is getting all the attention, so I'm just going to make it literal.
200k before considering stocks, and other benefits, remote US.
That's what I consider slightly underpaid. It's not a euphemism for "massively underpaid"
I would be sceptical of someone describing themselves as senior who falls for this. Pay them properly. If you can’t afford cash, make it up in stock and responsibility and flexibility and be open that you’re proposing that tradeoff from the start. You’ll filter out everyone with a mortgage or kids close to college or a lifestyle they love, but that’s better than hoping someone falls for the schtick Silicon Valley regularly foist on twenty somethings.
(I would also be sceptical of someone describing themselves as senior responding to job postings versus being recruited, but that may be more bias than truth.)
I do agree that you don't find seniors by job postings very often, but we have had success with it provided the job posting is narrow on a technology that is specialized, so you know the candidates in a way. They come from a company you've worked with, or interacted with on some vertical.
100%. Seniors are likely to have families, kids, etc. I'm not leaving a job for "dream tech, or dream team" if I'm taking a step down, or for a lateral compensation move.
Given the current economic/inflationary environment "slightly underpaying" is massively underpaying them.
I'm not marketing a job to you, I'm just saying that it doesn't pay as high as the highest offers I get for roles which I wouldn't take to replace it.
Edit: Let's just make this literal, it's 200k without considering stock, benefits, etc. I consider that slightly underpaid, but the idea you can't raise a family on it is mind boggling.
It would be interesting to see if you added a pay range if you got any additional hits. I'm not a devops guy, so I can't say whether it's underpaying or not. It doesn't seem unreasonable to me.
It's going to depend a lot on where you live for how competitive the numbers are, but I don't care where someone lives. I need someone equally as useful as everyone else in the team. It's a very high quality team, so it's a challenge certainly. But pay isn't the issue, it's differentiating yourself from all the other positions that say similar things, but don't mean it.
Like, every job rec says the same boring things. everyone wants "a+ players" or "force multipliers" or whatever bs they say. I wouldn't apply for the role as listed in the rec, and I know the job is great!
It's tough to say, no really, this is dope.
But if you are paying $200K, then presumably you will not hire anyone who is now making $100K, $50K, or $5K. So you're restricted to a fairly narrow band.
Where is your "glass ceiling", the minimum someone has to be making for you to take them seriously?
If, hypothetically, you knew what they were making, either as a dollar figure or implicitly because of their previous/current job description, what would be the minimum?
I'm asking something which necessarily has an answer, even if you won't answer it.
I'm asking about the limits to your imagination - where is the boundary between a plausible hire and and one that is not? Both in numeric terms and all the stuff associated with it.
When I wrote $5K, that was a serious possibility - think of it as 4 lakh rupees per annum.
You don't seriously go through the same analysis for everybody. Nobody does. Maybe you won't share exactly when you jettison the analysis, but the important thing is to realize this is where the problem lies, and questioning the implicit rules related to shortcutting your process.
You clearly have an issue you've experienced that bothers you, and you are critically concerned with it. That makes sense. Best of luck to you.
It doesn't change the reality which is in my case, in the situation I'm discussing, the previous salary of the person applying is a completely irrelevant part of the hiring process.
I'm not calling you a liar, if you say that you don't explicitly consider previous salary.
But you consider things that are correlated with previous salary. Everybody does, and that's why salary is sticky over time.
Think of it as an output, instead of an input.
I'm asking for you to consciously consider what you might be doing. I don't know! So of course I can't legitimately tell you (accuse you) of anything specific.
But how often do you, say, hire someone whose current job is, say, at a Best Buy retail location? Or someone without a college degree?
I am not pursuing some idea of fairness - I am suggesting that if you are not getting what you want, there is some kind of self-defeating aspect of the current process.
You said distinctly that if I said it wasn't an impact, that I just wouldn't admit that it was. That is calling me a liar.
I do not consider things that are "correlated" with a previous salary. I consider only if you can do the role. You can make less or more, and it doesn't change the reality that you need to fit into a very high performing logical team.
I don't have a college degree, and would never consider it in a hiring process. I don't know if I've ever hired someone with a previous position at a Best Buy retail location, however I have certainly hired people with relevant experience of that.
Again, you continue to assume my actions. That's all you're doing, creating a model in your head of who I am based on your past experiences, and then questioning me to confirm I am who you've made up in your head.
The current process is certainly broken, but it isn't due to interviewing. If you'd have asked that question, I could have explained it. Instead you've done nothing but tell me who I am, which is incorrect.
Have a nice day.
This is not distinct or clear to me; I certainly can't say you are lying when I can't parse this.
>I do not consider things that are "correlated" with a previous salary.
Ok, I believe you believe this if you say so. It doesn't sound like a lie. I can't understand how you can believe it.
>Again, you continue to assume my actions
The things I am confident about have nothing to do with your actions.
There's a lot of talk about things like "institutional racism" and it seems to me deeply weird that it is such an emotional topic, when it should be a bloodless technical one, given the premises. Namely that because of correlations, outcomes that are not intentional are endemic.
The overall sense I have of your comments is that the idea of unintended consequences is offensive. But how do you correct anything without thinking about them?
So is your question _actually_ "Will you/why won't you hire overseas remote, rather than in the US?"
I'm a Senior "DevOps" (Sysadmin), resume is here: dijit.sh/resume.pdf
Sounds conceited; but if you want to know how an outsider feels about your companies and the process: this can be an effective way.
Nice page otherwise.
If I can get a similarly-paying job at a place that doesn't do this, I'll skip you.
Many seniors (actual seniors, not 3-years-of-experience seniors) have a network and can say "hey I'm looking" and instantly have multiple options that won't have them do more than talk to the team and manager for an hour or two. If that.
Then there's senior in most of the rest of the industry. We don't do long, annoying interviews. If your process drags on we've already accepted one of our other offers. We don't make FAANG money (mostly) but we also don't put up with horseshit. You want me, or not? If not, 100 other companies do, so bye and have a nice day.
Recently went through this. Got an email at 2pm saying "please run through this exercise". Looked at the doc, then decided to hit it. I submitted everything back before 6pm. It was around 2.5 hours, and I took a short break in the middle. I screen-captured my whole session (not sent in) but to have a little souvenir of the exercise. There's really not much way I could have 'cheated' on the time because there was only 4 hrs tops between sending the email and submitted my results.
Their estimate was 'we expect this to take 2-3 hours', and they weren't all that wrong. I could see someone less experienced taking more than 2 hours just on one of the bad queries - unless you've seen the pattern(s) before it's hard to recognize and refactor quickly.
As a current FAANG employee, I didn’t put up with that bullshit from anyone including FAANG companies.
> I'm never, ever doing a 4 hour assignment for you.
Boo hoo, you need to spend four hours of your life to take home multiples of the median American family's income. It blows my mind how conceited some people in this industry can be, and I'm glad I don't work with them. This is one reason why the take home is a great filter.
The post is about this topic, so the responses are about the topic. You think that 4 hour take home technical assessments are a reasonable filter. Awesome, you are a person who can apply for the position op is focused on.
Hiding that you're going to spring it on people should give you numbers, by the people who ghost you the moment it appears, if you wanted to test for it.
If I interview at three places, that's three days of unpaid work (or 6+ evenings after I've already worked a full day at my normal job), and if I'm already making "multiples of the median American family's income" elsewhere, then it becomes less attractive to put up with that, especially if other companies aren't asking for it.
Like I just can't find the energy to put up with Amazon's 2.5 hour span of unbroken time take-home test, no matter how desperate they make themselves sound or how often they contact me (which is almost every week at this point). When I last considered it, I was already having trouble juggling just finding holes in the day to manage about 30 interviews I ended up doing, across about 8 companies. I had no energy to study for, and then do, that exam on top of it (I did do three 45-60 minute exams, across three evenings, for three other companies, though).
By the sounds of it, that test would be the best bit of your time at Amazon.
Point is they don't need to, and companies that insist on it are hurting only themselves.
> But I have seen multiple coworkers with 10-20 years of experience as software engineers with glowing recommendations get fired because they couldn't write software
I can imagine multiple reasons for this to occur at a company and a bunch of them reflect poorly on the build and architecture at the company
Could someone articulate what's the norm now for non-FAANG pure-tech companies? I might go back to the open market next year after grad school since I don't have much of a network in Canada.
(I have decent 10y+ experience at startups and a unicorn, in both big data analytics and full stack applications and I'm good at system design, take home assignments and even live coding but really suck at physical white boarding complex algorithms with someone literally watching over me)
I have 20y+ experience in startups, unicorn, large companies, big data analytics, full stack applications, and system design.
I am not asked to interview with whiteboard coding when someone wants to hire me from a referral. They are glorified meet and greets.
This is what having a network of people who have worked with you before, and have seen your productivity does. You don't interview the same way other people do, people want you for you, because they know that it doesn't matter what the technology is, you're going to provide a crazy level of value, and they want that level of value in their situation.
Before my current job, my last three jobs (2014, 2016, and 2018) were as a bog standard “enterprise” Senior software engineer/team lead/de facto “architect” who was hired to help the company mature. I got my job by talking to the manager, director, CTO based on my network and discussing my past successes and how I would go about helping then with their real world problems.
I am 99% sure if and when I leave my current job in the cloud consulting department at BigTech and probably go back to smaller companies I won’t be asked to do a “take home test”. My network is stronger now than it was before I came.
1) a 2 hour conversation with one of the founders, followed by a 2 week tryout (paid consulting), followed by a job offer that I accepted. This was through a HN Who Is Hiring post.
2) a round of multi-hour onsite interviews involving white boards, live coding, pairing, etc., but no take-homes. This was through Triplebyte, which organized everything.
There were a couple of other discussions involving take-homes (one of them in good faith on the company's part, the other a little more doubtful) and those two experiences convinced me to not do them any more.
I guess I could imagine a take-home project if it was (through discussion) something that interested me and that I thought would be useful and I could keep the code afterwards, to re-use for other purposes.
But if you are a medium size enterprise company that isn’t paying that type of compensation, you can’t.
I'm senior. Got something I haven't seen? That and some stalking on LinkedIn or emailing and asking for a resume or just to say "hi", seems to be working for some recruiters out there.
OP is hiring for a devops role and has to mention k8s in their pleading. Anybody who mentions k8s to me as something I need to know immediately wins a quizzing regarding what their assets are and what are they doing with it which is so unique that they'd need my expertise; that's usually the end of it. To be clear: I am senior enough to know that doing k8s safely would be THE job, so not making it THE job means you don't meet my quality standards. Other people need my help more than you do, and I don't care what you pay.
Maybe interviewers are cynical after interviewing so many really bad candidates and the only enjoyment they get from the process is the ability to look down on them.
I have done a few of these take home assignments, later to be engaged by the firm, then to discover in a firm of 100 people, I only really met one or two who could even do the assignment, let alone do it in under an hour.
I'd only do the standard style interview if I was desperate for a job.
Unless, you pay them for the time. A few companies I applied to 6-7 months ago offered this. However, if you're on unemployment benefits, this may count as income.
No-one good is going to do a takehome just so the hiring team can rub their beards and feel superior while they pick over the code. That approach worked a few years ago, in today's recruitment bear market you don't pick the candidates, the candidates will pick you.
We are having precisely the same trouble as you by the way - junior-heavy, but experienced folk are extremely thin on the ground, and we go from CV to offer within a week. One chap joined (for a few days) and left because he had started somewhere else at the same time - they won out. We're moving to 1-stage interviews, offer on the same day. Higher risk but we have no choice.
My last search lasted 9 days from when I put out the signal to having interviewed (for 3 companies) and negotiated an offer and submitted my resignation and 2 weeks notice.
i think you did disservice to yourself by optimizing for minimizing downtime between jobs. You should've played the field longer and gone for the highest bidder. I am 100% sure you are not getting paid your worth because no FAANG type company finishes the process in 1 week.
Companies keep their traditional pipelines with average time to hire time of 2+ months and think they will find and hire loyal people in this rapid market where people accept offers on top of others or with just a couple days or weeks in their new position. And they keep filtering others because "no culture fit", "not sure about this line of code in the take home assignment" and other nonsense.
Anecdotally, I've seen people actually been put off by this. Perhaps make it 2 interviews just to not seem desperate. It's not my own reaction, but I could see why people might think "They're really desperate, there must be something wrong there"
One of the reasons I went independent consultant/freelancer is because I no longer face hiring bullshit like multiple interview rounds. I don’t charge to discuss the problems, sign an NDA if need be, and I get to talk frankly with both technical and business people to work out if I’m a good fit, zero pressure. I’ve turned down work and recommended other people I know would be better.
I fit the “senior” role here and honestly I’d be ok with the 4hr take home on one condition… pay me.
One tactic I know people are trying is to “flip” a freelance contractor by gradually offering work and then pitching the full time gig, convincing them to jump onboard when everyone already knows it’s a good fit and no one has d as any risks.
Make the contract with 1 months notice both ways and it's pretty much for all intent and purpose a hiree
Depends, if I had this, I'd think, why is the CEO spending time in an interview instead of running the company? Sure, it's part of their job but after a certain scale of company size, it makes me think they must truly be desperate if the company is bringing out C-level executives to interview.
Wait what???
I think FAANG has something to do with this too. They're often known to be slow in coming up with the offer, often seeming like they're not going to proceed. A friend started working at a startup, then got a top Google offer, dumped the startup for the better job that came in later.
I have over 20 years of experience, and then they wonder why I start laughing when they start asking the newbie basic questions. It get even more absurd when they start asking about stuff that no one does more than once or twice a year except in very "edge case" type jobs. I'm a sysadmin, not a full time software developer, but I still get the dweebs who want me to do a leetcode b-tree sort with whatever fancy algorithm they read about last weekend in the hot language du jour.
Just wanted to back this up a little bit. This is exactly what happened to me on my last job search. I'm currently in between jobs, starting the new gig after the 4th of July holiday. The company that I went with: I had a 30 minute call with an engineering VP and the hiring manager that was followed by an hour long panel with a few members of the team that I'm joining. I also learned after I had accepted the offer that the person who referred me internally spent about 45 minutes chatting with the same engineering VP about me specifically before they reached out. This was for a staff/lead position and I've got over 15 years in the industry.
I specifically sought out referrals from former colleagues and friends where the interview process put a lot of emphasis and weight on the internal referral and it worked out really well for me. I really hope that this is a sign of things to come, not just for myself and my future employment but for others, at least at the ("actual") senior level.
edit/ Added some more context...
I would never do a “take home test”. Even my current job at $BigTech - working in the cloud consulting department doing exactly the type of work the original poster is looking for - involved a 5 hour behavioral loop and definitely not a “take home test”. They offered cash and real stock. Not equity that statistically will be worthless.
It seems beyond unreasonable that I couldn’t make use of that information in choosing who I will work with professionally.
To me, it’s a clear-cut freedom of association (and/or a freedom of speech) right.
It's not about discrimination, it's because the single best way to know if someone can pull their weight and mesh with the team is if an existing, trusted member of the team can vouch for them. On the flip side, the single best way to know if a job is worth pursuing is to have it recommended by a trusted colleague.
Why would you not use those signals? And why in the world would any government make networking illegal? The economic impact on every sector would be insane!
I’m also much older and darker than your stereotypical “tech bro” and they actually put me in front of customers. Imagine that!
Referrals are good source of attracting people, they can be used for additional data points.
I'd love to see what the break down of demographics of people hired using this practice.
In 2000, the same person that hired me at company 1 had joined to a startup in CA. I got hired by him again. I did a basic tech screen via phone, got an offer, the company paid for my move to CA. I was there from 2000-2007 through that company splitting in two and the half I stayed with eventually getting acquired by a Fortune 500, company 3. No interview as part of the acquisition. I also moved in 2004 back to the east coast, again paid for by company 2. I started working mostly from home for company 2 about a year later, which persisted with company 3.
In 2009, some of the folks I worked with at company 2/3 founded a startup in CA. Got hired again, this is now company 4, with another pro-forma interview. I worked from home for company 4 from 2009-2013. That company then got acquired by my current employer, company 5. No interview as part of the acquisition. Continued to work from home. My current employer has changed hands twice now, but still calls itself the same as when I was acquired.
When I'm ready to go, I have a network of people I've worked with at a variety of tech companies. Company 5 is dysfunctional and filled with mediocre talent, but everyone is so cordial, pay and benefits are good, so I haven't really had reason to leave other than the frustration of dealing with some bureaucracy and creaky legacy systems. I've mostly been insulated from that because I've been responsible for a fairly self-contained system.
Now I'm inheriting other people's crap as folks move on, but you know, last week I deleted over 10,000 lines of unused or unneeded code and that was actually pretty satisfying.
Just wanted to back this up a little bit. This is exactly what happened to me on my last job search.
I was interviewing with 5-6 companies. It didn’t make sense for me to spend a whole weekend for a chance at an offer from a single company. Instead I spent that time brushing up on design. In hindsight that was the right call.
You want actual seniors? Seniors have options. You have to be a place that seniors want to work, want more than they want to work somewhere else. Take home code assignments don't fit anywhere in that.
I used to do these assignment. Now I simply don't sorry.
My schedule is
6:30 AM wake up with youngest daughter, to let wife sleep in (she takes care of her all night)
9:00 AM hand off youngest daughter to wife, who takes both girls the rest of the day. I go to my home office
12:00 PM lunch with family / kids
1:00 PM back to work
5:00 PM off work... Cook dinner / watch kids while wife cooks dinner. Set up table. Eat with family.
6:30 PM Play with kids for an hour
7:30 PM Bathtime + off to bed
9:30 - 10:30 PM Infant child actually goes to sleep
10:30 - 11:00 PM Wife and I chat about our day and spend 30 minutes of time actually being together
11:00 PM sleep until 6:30 the next day
Exactly where in that schedule am I supposed to fit a FOUR HOUR coding assignment. That's ridiculous. Unless you're providing child care, this is simply too much.
A one hour interview... I can handle.
Perhaps you'd get better leads by allowing for a choice. For my last job search. I had several different companies all in the upcoming AI accelerator space. Two of them had assignments. I said no thanks. The others did interviews. I got a good raise (base + stock options)anyway. I don't think I lost anything saying no to the ones with assignments.
Alternatively, perhaps pay people to complete the assignments.
I also had an 1-hour where i couldn't build the provided code and had to go through maven repos and older versions of the major test component to make it work after a couple hours and then lost any motivation to write the simple exercise.
I also had an honest one once, where the instructions were clear, you will need a full weekend to do it. I liked the job and i completed it, only to be rejected because they didn't like my scala syntax.
Sorry, but i won't take home test again and have to gamble whether it's an actual 1h test or a full weekend one, or some random guy will spend 1 minute only to reject me.
Is not necessary malicious from those companies, they just underestimate the time their test take.
Thats 3-8 hours of your life back.
It's reasonable to expect someone have various languages on their personal boxen, and maybe git, but not repositories, specialized third party tools, etc. I don't run Puppet at home, for example.
That being said, even if it takes an hour, I still have to allocate 4 hours for it.
I did a data science take-home that asked you to scrape some documents from the web, group them by topic, extract some information the clusters, and visualize it. This could be a few hours of work, or an entire research career.
IMO, a good take-home needs to be aggressively scoped. Ideally, I think you'd explicitly ask for --and expect--a "bare minimum" solution and a list of potential improvements. That list would be great fodder for in-person interviews too.
Assuming this is legal at all according to current employment contracts, it's a huge pain for the new employer's payroll and more stuff to keep track for the employee's income tax.
Is it actually? I run a small business, and have trialled people a few times. I normally just transfer them the $x and report it as a business expense, same as you'd do with a contractor.
Maybe it's not technically 100% compliant, but I'd be incredibly surprised if the tax office kicked up a stink about something so petty.
(Then again, maybe it's just a "she'll be right mate" attitude that permeates even government departments here in Australia)
Depending on the potential employee's contracts and business rules, doing a side project for someone may or may not be 100% kosher.
If they don't have an ABN, they'll need to give you "Statement by a Supplier" [1], otherwise you're required to withhold tax at the top marginal rate.
[1] https://www.ato.gov.au/forms/statement-by-a-supplier-not-quo...
Obviously meals and so forth as well. (And, assuming the law hasn't changed, US government employees have to pay for even a modest meal at a company's executive briefing center.)
OTOH, I've had 1099s for even very modest side-consulting revenue.
$600
They're the ones giving take-home assignments.
Completely agree here - like a fool I recently went through an entire day's worth interviews for a role (hello Stripe recruiters!!) that required both me and my wife taking PTO, with her looking after the kids while I talked to one junior dev after another about data modelling and "culture fit".
When I worked for a technology analyst company, we would ask for writing samples--which most potential hires would already have. But, if someone didn't, they'd have to create one. It was very reasonably a non-negotiable requirement given that's what they'd be doing day to day.
On a relative scale that might be true. In absolute terms you've already lost a high proportion of good senior people who might otherwise have been interested either way. Most good developers I know would just walk on seeing a 4-hour assignment that was actually a 4-hour assignment. Some would accept a full day of interviews if the employer had a reputation for being a good place to work and offered exceptional compensation but plenty wouldn't and I doubt any would for an employer that wasn't very top tier. Risk/reward and all that.
Don't forget to multiply that by however many companies they're interviewing at.
This is not true at all. I know for a fact that some FANGs do hour-long phone screens followed by hour-long coding assignments followed by a 4-hour multi-interview round. I know for a fact that a couple of major Fintech companies do hour-long phone screens followed by a hour-long live coding sessions.
Personally, the max I endured was a 7-round hiring process comprised of a mix of one-hour interviews that culminated in a 4-hour interview round, and that was only because midway through I was bumped from a developer position track to a research engineer position.
As a counter counterpoint, that only makes sense if the candidate is applying to a single place.
If the candidate has lined up 4 interviews, they're not going to get 16 hours in the week to complete them. The fifth place that has no 4 hour interviews will get the candidate.
If you have kids, your partner may have to take time off too, it's just not workable.
I say no to these, and to tests these days.
Loyalty becomes the main criterion.
I have mixed feelings about this, but I can see why employers might want this.
If a company demands you run an arbitrarily long and unpleasant obstacle course without any goal or criteria just because they asked you, what they are looking for is subservience.
I was trying to be charitable. :)
I did a take home project for Netflix that didn't have a time box IIRC - but something like "no more than a few hours". The task was to code a few movie poster carousels w/o using a web framework. Basically to create your own mini-higher level framework paradigm from vanilla JS or a low-level framework like JQuery.
I spent 7 hours on it and was fairly proud of it. I got dinged for not creating a virtual DOM and instead using the actual DOM as a source of truth. I even put in my notes (which I don't think were read) that in the real world you'd probably use a virtual DOM for this, but that would be a whole project in itself. Apparently I was supposed to spend the whole weekend creating React from scratch.
It also let me weed out the weirdly numerous companies who threw 8 hour assignments over the wall but apparently lacked the time to spend 10 minutes looking at my open source projects.
I took the first one that met my compensation/technology/commute requirements. Back then, one Enterprise CRUD job looked like any other.
They still do.
> When I worked for a technology analyst company, we would ask for writing samples--which most potential hires would already have. But, if someone didn't, they'd have to create one. It was very reasonably a non-negotiable requirement given that's what they'd be doing day to day.
The equivalent in tech is asking for a portfolio, which I have an ample amount of on github. I'm more than happy to hand this over to potential employers for them to gauge my work. But, the idea that I could complete a 4hour assignment within a week is ridiculous. My portfolio comes through constant, marginal improvements that make up a working system in sum. I've collectively spent more than 4 hours on most projects on GitHub, but they're done at my leisure, in my miniscule amounts of spare time, just spread over many years. But again, the idea of spending a solid four hours on any of them is just laughable. I have no time to do that.
Also, when you get to full day interviews, it's typically a sign the company wants you. Having been in both the hiring manager position and the candidate position, I've only once seen a full day interview end in a "No" and it was for particular circumstance.
I don't have a very large open source portfolio, but I it's probably bigger than 95% of the people I work with, I don't think my open source work is particularly representative of my abilities.
Companies want to have a somewhat standardized hiring process so that they can evaluate candidates fairly, and most professional developers people don't do much open source work.
Someone having an impressive open source portfolio, might be a good signal that they are a great hire, but I don't think it's a good general strategy for hiring.
> It's much more a two-way benefit, versus an assignment where only one party (the company) gets any information from the other (me).
> The equivalent in tech is asking for a portfolio, which I have an ample amount of on github. I'm more than happy to hand this over to potential employers for them to gauge my work. But, the idea that I could complete a 4hour assignment within a week is ridiculous.
These two statements made me think of something. Usually, (and from comments I've seen many times on HN) I'll hand in my resumé and it has my Github etc, and the hiring team don't really look at it. Perhaps if I'm given a coding test or assignment, I should pick one of my projects and ask them to complete an open issue, so that I can gauge their coding ability and how they use Git, respond in issues etc?
Fair's fair, and it would tell me a lot more than I get to know right now.
I have a github/gitlab full of code. You want to check it? Go for it. Happy to provide a portfolio on demand.
Make me write an api client..? No, get lost.
Of course, portfolios are a perfectly reasonable expectation in a lot of professions including the trades.
If I ever pivoted back to pure software development and wanted to get a comparably compensated position at a large tech company would a jump through the DS&A grind - yes. But to work for a startup that offered meh compensation and meaningless “equity” - no.
A take home assignment only shows me that they like unpaid work.
An assignment is no replacement for a face to face interview.
_The_ alternative is not a day of interviews. There are in fact, an innumerable number of alternatives. One alternative is to simply drop the assignment entirely from the interview process (without replacement) and judging by what's left.
No, it's really bad. It's half-day of useless, unpaid work which takes time other things you need/have to do.
Never in my career I had to endure a day of interviews. Even FANGS don't do days of interviews, even the ones notorious for their awful working conditions. At most, there is the final 4-hour interview/test round, and even that is too much.
I'd say that these hoop-jumping obstacle courses are major red flags. If a company is really interested in getting you to join their team, why do they show so little consideration for you with all these arbitrary, capricious demands?
Hard pass.
whats the alternative though. why do you consider that foolish?
That's just a different way of saying "a good way to weed out seniors", which is what the original concern was - not enough seniors.
Looks like it works, though.
at any rate evidently 89.615% of people become parents https://www.quora.com/What-percentage-of-people-become-paren...
so, probably not a good thing to weed out.
1. want to work from home to take their new bearded dragon to the vet.
2. have their moms contact me about work load.
3. pre-emptively book a sick day for Monday because they "plan to get really messed up this weekend".
People with kids are the worst employees!
* These have all happened to me in the past year.
0) time doing the project is tracked, sometimes via the expectation that you commit to the git repository from start to finish. dinging you for "points" for going over the time allotment
and that the other candidates are:
1) doing way extra things that took way more than 6 hours
2) are not doing those extra things from scratch because they've been playing this game for a while
and that
3) the company still has inaccurate ideas of what a candidate should be expected to present in the 6 hours
4) is judging you on completely random things that they did not mention. "you didn't use this design pattern" "we don't like MVVP anymore, we're back on MVP. here's this other acronym."
waste of time
E.g. say they want me to commit to a Github project they provide or I am supposed to set up and commit to. I will use whatever time I am allotted and at the end, when I'm done and expected to hand it in, I will make one git commit that shows I committed everything exactly 1 second after I was supposed to start, then push that to the provided repo. Yes, start, not finish. Meaning "time travel". Maybe even commit as "Linus Torvalds" or something like that.
If they ask about this it's a great conversation starter either way. My experience is that if the talk does come to this either they have no idea how this could even happen and I can explain or judge them based on their reactions or we both have a laugh about their companies policies around this. They see I know my git and I know they're like most companies: actually pretty OK teams and hiring managers with generally crappy HR practices.
Just rewrite your git history and fudge the commit timestamps. It's not even dishonest, it's just demonstrating your experience with Git.
Of course, that doesn't work if they expect you to push to Github/lab as you go.
I’m also a parent of small kids with a busy schedule. Despite the packed schedule and demands of raising kids, it would be a huge exaggeration to suggest that I couldn’t find 4 hours of time to do a take-home if given a week of time (as is common).
The parent commenter might have been operating under the assumption that take home challenges must be done same-day, which kind of defeats the purpose of a take-home. If you’re demanding 4 hours of same day time, might as well bring them in for a 4-hour on site interview.
Strangely, few people complain about a half-day on-site but it’s literally the same time commitment. If you really have no other options and you literally cannot find a spare hour of time in any way, take a half day of PTO and complete the interview just as you would for a normal on-site.
Its not a one 4 hour take home project. Its the fifth one.
Is 4 hours the amount of time the candidate is being given to complete it, or roughly how long the employer expects it will take? In the past I've generally come up with tests I know can be done in an hour or so (2 tops), but allowed 24 hours, exactly because not everyone is going to be in a position they can dedicate those 2 hours to it right there and then. Sure, those that did take the full 24 hours to complete I tended to apply higher expectations towards when judging, but at the end of the day it didn't make much difference - the tests were only to weed out those that had clearly made a poor career decision (and there were surprisingly many of those, to the point we switched to testing before interviewing).
> Is 4 hours the amount of time the candidate is being given to complete it, or roughly how long the employer expects it will take? In the past I've generally come up with tests I know can be done in an hour or so (2 tops),
Have you actually given these assignments to some of your colleagues and asked them to complete and how long it took (including setting up the development environment ...)? People are notoriously bad at estimating time it takes someone else to do something that oneself is intimately familiar with. So I would not be surprised that the assignments took more like 2-4 h, if you add the additional time for context switching, organising to free your schedule etc..
> but allowed 24 hours, exactly because not everyone is going to be in a position they can dedicate those 2 hours to it right there and then.
I don't think the GP was implying that the assignment was to be done right there and then, where and when would you do those 2 h in their schedule?
> Sure, those that did take the full 24 hours to complete I tended to apply higher expectations towards when judging,
So for someone with kids etc., who couldn't do the assignment straight away you actually expected more than 2h worth of work? To me that's already a red flag that you don't respect peoples life-work balance.
> but at the end of the day it didn't make much difference - the tests were only to weed out those that had clearly made a poor career decision (and there were surprisingly many of those, to the point we switched to testing before interviewing).
Unless you offer exceptionally high salary or are a highly desirable place to work at, you are likely not getting the best applicants.
The project was both new to them and myself so a combination of experience (as per my CV) and gut feeling on both sides lead to a signing.
What do you do for normal on-site interviews or phone interviews that have similar time demands?
I’m also a parent of small children with a packed schedule, but I’d much rather take a 4-hour take home and handle it on the weekend or when I’m flexible. Giving up half or whole days of PTO to interview in real-time is actually worse for my overall schedule, not better, because I need that PTO more than ever as a parent of young kids.
The flexibility of take-homes is great as a parent.
Do you make a surgeon do four hour surgery?
It’s absolutely asinine that we accept this behavior in our industry. You’d be laughed at by every possible candidate in other industries.
There are simply too many companies hiring that don’t require this that it’s easy to just pass.
Take-home challenges aren't unpaid work. They're just a take-home replacement for the on-site interview.
If anyone tries to get you to do unpaid work (as in, actual work that the company needs to be done rather than an arbitrary challenge given to candidates for review) then you should absolutely walk.
> Do you make a surgeon do four hour surgery?
These are both poor examples. These are both credentialed examples. Both have already demonstrated their skill based on the credentials they hold.
Software development is not a credentialed field. Titles vary wildly - especially at startups where titles inflate.
As someone who used to do hiring for a small company, I can state that a lot of people who have degrees have no clue how to code.
Until our field gets the equivalent of a bar exam or NBME, each employer has to evaluate candidates on their own.
I don't understand how this is possible. I know CS != coding, but every CS degree syllabus I've looked at does involve plenty of programming classes, practical programming projects, etc. How is it possible to graduate from that without being reasonably comfortable writing non-trivial stuff in a couple of major languages?
Step 1. The academics are themselves not that good at coding or teaching, and/or aren't interested in them. This might sound contradictory for a CS course, but at my university (as an example) the CS dept was run by a guy whose actual background was in mathematics. He loved hiring graph theory researchers and didn't like hiring people who knew programming.
Step 2. They try to teach programming to a class of newbies, but fail miserably because teaching programming is hard.
Step 3. They find ways to cover up the fact that nobody is learning to code properly. This can take many forms. At my university (a supposedly 'elite' British uni) they had evolved at least six or seven different tricks for this.
Step 4. Because nobody seems to be accountable for anything and the whole academic hierarchy is in on the scam, nothing gets fixed. Students who complain that they aren't being taught properly are simply punished with low grades. Because grades aren't connected to anything real or objective, there is no recourse.
A few of the tricks they used to cover up the lack of learning:
• Programming assignments that had almost all points allocated to the associated English-language "report", not code. As a consequence marks were arbitrary and depended mostly on whether the profs liked you or not.
• Unrealistic deadlines/workloads were set. Students who didn't submit work on time/whose programs crashed immediately on startup were then given extra time. Students who submitted work that started up were graded as-is on the deadline. This evened out the grades between self-taught programmers and those who were struggling.
• Group projects in which the group composition was fixed by the staff. They administered a programming test at the start of the course to identify those who had already taught themselves coding and then ensured every group had one such person. That person then did all the work, and the others in the group either slacked off or wrote the associated "report".
• Assessments in which the professors/TAs simply looked at the running program on the student's screen to judge if it worked. Students were informed of this practice up front, thus you could pass a programming exercise by simply making mockups in which the buttons didn't actually do anything, or updated the UI in hard coded ways.
And so on. I put report in quotes because the contents of these reports was primarily make-work.
The golden rule - at no point in the entire course did any of the teachers actually do a code review of any kind. Code was written but not read. Needless to say, cheating was rampant. None of the above can be fixed because academics are marking their own homework.
In theory, if there was demand for it the private sector could fix this by issuing certifications. In practice certifications aren't especially useful or well recognized, as the sort of people with the best skills don't see any need to take them. It's much easier and lower effort to demonstrate your skills in an interview. See this thread - people don't have the time/will to do take-home assignments that are meant to consume a few hours, tops (and I totally get that, I wouldn't want to either). They certainly wouldn't be happy if you suddenly told them they all had to cram for and take some government designed exam that checked their knowledge of e.g. Java 1.4 otherwise they'd all lose their jobs!
Aha, so the secret summary is that:
Both students and teachers want the students to succeed,
so they cheat together, to make that (seem to) happen
> A few of the tricks they used
Thanks for writing about that, really interesting to read (!)
> cheating was rampant
(You don't happen to know about some websites being used for that? I recently found out about studypool dot com.)
By cheating I didn't mean getting solutions from websites although there's obviously a lot of that going on if you browse through e.g. Upwork. A staggering number of 'jobs' are obviously student coding assignments being farmed out.
The sort of cheating I meant was more stuff like students copy/pasting stuff off Wikipedia (it's all on the written reports remember) or copying answers off each other. Or they'd deliberately submit work they knew didn't function properly, aware of the fact that it wouldn't matter.
If I have 4 jobs in my pipeline that assign me 4 hours of homework each, that's 16 hours of bullshit I have to slog through in addition to my study time, prep work, and a solid week or two of whiteboarding. This doesn't include the recruiter's technical trivia screen and the codeshare screen. No thanks.
And a surgeon needs accreditation from the state.
However, one company was just really weird, so I learned that at the on-site. even though they wanted me... I said no. So in terms of preventing mistakes, on-sites are great. But, I'm not doing a 4 hour interview before any offer is made, or a clear indication of interest.
That doesn't solve the majority of the "senior position" problem.
Like you point out, your schedule does not have a "spare" 4 hour block in it, and paying you $1000 to find one is not going to make you jump at the opportunity if the alternative is a different role that is not asking for a 4 hour block of your family time.
Anybody recruiting for "senior roles" needs to understand the 30-40 year olds, who are the only people who have the professional experience you're seeking, cannot be recruited like fresh college grads who can blast through pointless coding tests between 11pm and 3am, and do that 3 or 4 times a week and at least some off whom will genuinely enjoy doing so.
My first production code shipped for MacOS 7.5 and Windows 3.1. I am still shipping production code (although only rarely since these days I'm mostly managing a team rather than coding daily). I am _not_ going to do your take home 4hr assignment no matter who you are or what you're offering. Asking me to do it shows a fundamental misunderstanding of who I am, and I am not going to take a job with someone who knows that little about me. (And I have way better things to do with my free time than your pointless test)
Looking at the original post they have a 4 hour at home coding assignment that’s followed up by a group presentation. I’m guessing that one is an hour or so. Figure another hour or two to prepare for that.
It doesn’t seem like it is much off from a typical 5-6 hour on site interview. Plus I think you can get more of a signal about how they can explain a problem that they spent some time thinking about vs trying them trying to get excited about a leet code problem.
I would never subject myself to a 4 hour interview either. What information can a company get in 4 hours they can't get in 1 hour? Seems like a massive waste of time done by a hiring process created by people that don't know any better.
If you want seniors to even consider you, you need to ditch all that garbage and save it for people fresh in the field.
Now if you are willing to pay double market rates you'll get more seniors willing to go through that, but if you are paying "market" rates and "good" benefits, you're not going to get the interest.
Dude, if your wife is getting up multiple times a night, you really ought to consider stepping in and helping out. True males can't do the feeding, but if there is anyway you can help out with this, I guarantee your wife will be grateful. If your kids sleep then ignore this, but sleep deprivation is hell (to most people). My wife and I both worked and we slept in 4 hour shifts, then when they slept more, we went to night on then night off. Saved our marriage.
This arrangement works for our marriage. We made a conscious decision early on to not both work.
P.S. My wife is now back on track with her career while being very happy about having spent all those early years with our kids.
I've hired seniors - you'd be much better off replacing the 4+1 hour assignment with a 1 hour AMA or discussion about a project or ticket with the team they'd be working with and getting their feedback. Would they be able to work together?
Also, just post the salary!!! Seniors naturally will have made a wider range of life choices and will have a larger range of minimum salary they need to fund their lifestyle. Not posting it appears as if you're hiding something, which isn't a great starting point.
Sorry, but if I had started my job search even a few weeks later, I would not have gotten my current thing. The economy has been in a free fall lately and I caught the last hiring wave before both my previous company and my new one announced hiring freezes.
So if I had quit and delayed a bit, I could have ended up unemployed, instead of with a raise. Quitting puts you in the position of disadvantage, so never do that.
Being unemployed as a SWE is not an issue at all.
Interviews where you're discussing your history or even coding challenges are different. I don't know what it is about having another person there to bounce things off of and explain the process, but it doesn't feel as exhausting.
A four hour assessment is just absurd. When I’m job searching (I’ve been fortunate to only have to do this a few times in my lifetime, and am in a position to be very selective in the opportunities I pursue), I’d more or less be open to a quick 1hr take home assessment, but nothing more.
In my experience companies typically take one of two paths when engagement with a potential candidate: a 1ish hour take-home assessment or a 1ish hour interview with a recruiter where they typically ask a number of basic job-relevant basic questions - IMO both methods just serve as a way to weed out the people who liter their resumes with buzzwords one line and actually are not qualified for the position at all.
I’m pretty anti-take home, because they’re usually scoped as “it should only take you 4-5 hours, here’s a project that would take an in house DS a week at minimum”, but if they were actually scoped like this one (and even mildly comped), I really wouldn’t mind much.
IMO a (very small) take-home assignment is the least-worst of a lot of generally bad options. A pairing exercise focused on teamwork and communication (vs hardcore coding) is the only other option I even consider these days.
If I don't like the take-home, I assume I'll probably hate the job too. Whereas traditional interviews tell me almost nothing about what I'm going to end up doing day to day.
That basically meant that I had to come in the front door to places I was interested in.
I was a bit "picky," because I wanted to do stuff that interested me. I didn't really care about making a lot of money, or beanbag chairs, or whatnot. I wanted to do work that engaged me.
I'm a very experienced Apple native developer, and I'm good at writing stuff that talks to other stuff (like client/server systems, device control, realtime video, etc.). I'm good at writing APIs and SDKs. Making devices sit up and beg is something I've always enjoyed.
So places that did stuff like that, interested me.
In my experience, I was treated like absolute crap. After a few rounds of "interviews" (which seemed to be opportunities for relatively young engineers and managers to patronize and condescend me), I just said "bugger this for a lark," and decided that I was retired. I set up a small company, so I could buy toys, and started following my own muse. I found some folks doing non-profit stuff, that couldn't afford people of my caliber, and started working with them, for free.
It was the best decision I've ever made. In the last five years, I've probably done more work than I did in two decades previously, I've learned more, every day, than I have, since my twenties.
[UPDATED TO ADD] If you want "senior" people, they are likely to come with a rather fetching shade of grey to their well-coiffed pompadours, and I'd suggest that it would be rather self-destructive to treat them badly. There seems to be considerable resentment towards us older folks. I'm not one to judge whether or not it is merited (in my case, it is definitely not), but it may interfere with efforts to recruit more experienced folks.
It's not really device control, but it does involve a fairly robust iOS app, talking to multiple servers, and synthesizing relationships.
I won't go into a whole bunch of detail in public. Like I said, it serves a fairly narrow demographic, and won't really make a huge splash.
I've been writing software for this demographic for decades.
I can always chat about it offline.
Was wondering if you could elaborate on this a bit:
> I set up a small company, so I could buy toys, and started following my own muse.
[0] https://riftvalleysoftware.com
This is the first time I've heard of using a personal retirement account to pay business expenses without tax penalties, and I'm not finding any relevant hits on Google.
Kind of a pain in the butt, and not many accountants know of it. There's a lot of fairly strict rules. You can't paint outside the lines.
There's a company that specializes in this kind of thing. I don't really want to go into detail, here, but feel free to get in touch (my HN ID has contact info).
For those following along at home, the accounting term seems to be [[ Rollovers as Business Startups (ROBS) ]]. The IRS website has some unusually direct guidance[1][2] on tax compliance risks associated with ROBS.
[1] https://www.irs.gov/retirement-plans/rollovers-as-business-s...
[2] https://www.irs.gov/pub/irs-tege/robs_guidelines.pdf
More info: https://en.wikipedia.org/wiki/Real_estate_investment_trust#U...
I interviewed senior engineers (for a marquee corporation), for 25 years. I have some actual experience, here.
I never made any technical mistakes. Everyone I hired was technically, up to snuff.
The mistakes tended to be in how they worked in the team.
> it would be discrimination if someone else was subjected to a different interview process than yours.
And I really have to take exception to this. Every interview I ever did, was tailored to the applicant. There's absolutely no legal basis for this stance. There's a few "obvious" discriminatory things ("All our girls start in the typing pool," etc.), but people aren't cookies, and "cookie cutter" interview processes are for "cookie" positions. Our HR was very clear on what did, and did not, count as legally discriminatory behavior. HR was run by the Corporate General Counsel, and we managers were required to understand the legal ramifications of our duties.
The OP was talking about senior staff. These are folks that will have Responsibility for significant projects, will need to act as leaders and mentors, and will be the ones to take "point" on the corporate brand and public profile.
Treating them as "cookies" is, in my opinion, less than wise.
If you pit me against some kid, right out of college, that has been spending three hours (of their current employer's time), every day, for the last month, practicing leetcode, you'll get someone that is very good at doing quick, meaningless tests. It won't tell you much about how they'll perform in the breach, or when asked to architect a large-scale, heterogenous system (which is what I'm fairly good at). Not sure how un-discriminatory the process is, there...
In any case, it's all water under the bridge, now. A few companies didn't get me. I doubt that anyone is crying in their beer over it, and things turned out well, for me. All's well, that ends well, eh?
This itself would be a huge red flag in any interview process. If you think you never made any technical directions.
It's a false dichotomy to believe either tailor make the interview process or treat everyone like a college hire. Senior staff / staff positions also have a particular process, including writing exercises, explaining complex decisions, writing code, talking about system design and the various trade-offs.
> Every interview I ever did, was tailored to the applicant.
How do you make sure that your / someone else's biases don't creep into the interview if it's being tailor made.
What kind of diversity did you have at your previous job where the interviews were tailor made?
I did well enough, so some very tough people kept me in my position for a long time.
When they finally rolled up my department, the person with the least tenure had a decade.
These were all senior-level C++ algorithm engineers. We did image processing pipelines for one of the most famous imaging companies on earth.
But feel free to judge me. You won't be alone.
You seem to be accusing companies and younger people of ageism, but I'm yet to hear a concrete example. From reading what you wrote, I can say it seems you seem to be exhibiting an adverse reaction to young people doing well.
> If you pit me against some kid, right out of college, that has been spending three hours (of their current employer's time), every day, for the last month, practicing leetcode, you'll get someone that is very good at doing quick, meaningless tests.
Not sure how you got to the conclusion that younger engineers are stealing time from their employers to leetcode.
I wish you the best, and hope you get a chance to analyze your biases.
Has anyone done this? Has it worked?
PS - I also try to add on a 30m review of /their/ code, but so far it hasn't worked. I still ask!
Edit: By the way, one company has actually paid for my time to do a take-home at my consulting rate. Most of them balk.
However asking to see some examples of their real code/documentation is a legitimate request IMHO and something I did in my later interviews when I was working as an employee. I'd usually bring it up at a second interview when we knew both sides were serious and they asked if there was anything I'd like to know more about. Nowhere ever thought it was an unreasonable request in my experience and some took it as a good sign that I was sincerely interested. Probably the majority of places actually did find something I could look at, though some refused and usually cited something like confidentiality or trade secrets. Of course the ones who showed me good code were more likely to get me to work for them than the ones who refused or showed me bad code.
PS: my rate for 4 hours work is $2500. Companies HAVE taken me up on this rate. In fact I am currently declining work because I haven’t the time. Know your worth!
And I didn't say you should work for free. I said shooting back your hourly rate in response to a request for a tech test could easily be seen as unprofessional. If you don't want to do a tech test that's fine but you can just withdraw gracefully at the start of the process when you ask what their stages are and they tell you about the test.
I wasn't saying that I got paid consulting rates to do tech tests. I have never had to do a tech test, and never will. But I've been approached by recruiters, and I always respond with my current top-tier hourly consulting rate, with a minimum half-day charge. Usually that's the end of that conversation, but twice such an unsolicited inbound request has resulted in the recruiter saying "okay, when can you come out?" Once was a certain large asian phone manufacturer, who flew me out to their headquarters halfway around the world for a week of consulting, which also acted as a sort of interview. I decided not to pursue a longer-term job with them for $REASONS. The second instance was my current non-FAANG job. Told them my rate, they again flew me out for 3 days, and on the last day we negotiated salary.
To be clear, my negotiated salary from this job is much, much less than $5000/day I charged them for that interview. It's actually on the lower end for my industry, although I'm still one of the higher paid members on my team. I took it because I like the team, I like the work, and I'm given a fair amount of freedom. It was also 100% work-from-home, prior to COVID. The $15000 I invoiced for 3 days of consulting? They considered it a signing bonus.
But yeah, some companies are willing to pay to get the attention of senior talent, and since I'm charging hourly they respect my time. I have my pick of places to work, so why not filter based on that?
Wow. I have 10 years of work experience, the last few being "senior". I have a few friends and many recruiters I could reach out to, but absolutely expecting a full fledged 30-round interview like anyone else. I envy you!
Maybe it’s different types of work (consulting?) or companies (earlier stage startups?).
I don’t think I’m particularly good or bad at networking but fully expect to have to do coding interviews and/or take homes. Or maybe I really do need to get a stronger network!
Getting a recommendation may "put you to the front of the line", and may allow you to skip a basic screening call, but honestly I think most well run organizations won't skip the interview process even if it's a well-known "superstar" - they would instead just change some of the interviews to let that superstar demonstrate their in-depth expertise in their niche.
I resigned my previous role out of sheer boredom and a desire to work on something new and have been flooded with no/fit-only interview offers, not that i'm going to follow up on them.
I couldn't point to this more. The recruiting circus is so bad and has been for decades, I don't even bother talking to recruiters anymore. If by some chance I actually did, I'd pass on the 4h test unless I was absolutely desperate. I haven't been absolutely desperate since the dot bomb, and a recruiter hosed me over by inviting me for an interview for a job he didn't really have.
He might not be fucked, but he's probably fucked. It's not so much his doing (albeit the 4h test is a deal breaker for most seniors), it's just the landscape has been so bad for so long, and seniors already have a network, unless he knows somebody who knows somebody, he's probably SOL.
The only thing I can think of is offer and post a salary that is 20%-50% above market and hope for the best. You'll be attracting and filtering out a bunch of bad candidates though. An alternative to that is find the best junior/mid you got, make him team lead and give him some motivational speeches. If you're lucky, they'll rise up to the task.
For what it's worth, back in the day when I started, it was typically a 10m phone call, 1 hour in person interview, then yay or nay. If the candidate wasn't working out, they'd let him go.
Someone I spoke to recently had the audacity to ask for 20 hours of free work in the intro call, and I just shook my head and hung up.
I like how things are confusing enough to need this distinction, but also we still don't know if you're talking about actual seniors and not principal engineers
If a company doesn't bother to check how well I'm going to do the job, it makes me worried about what sort of smooth-talking incompetents I'm going to get stuck working with down the line.
Same when hiring: I'd much rather hire someone who I've seen work before than go through a whole interview process, and still feel like it's a crapshoot at the end when making an offer.
Of course, if it's STEP 1, and you're faced with many iterations of this, that's a different story. But if I'm somewhat certain that I'm looking at a great offer from a great company at some point, why not spend the 4 hours?
So it tends to narrow down the pool to those for which it is an interesting position, ie. 'Not yet established senior yet'. Which explicitly doesn't seem to be what they want.
Also, re:
> Benefits and salary are good (though salary isn't posted in the ad)
If the salary is legitimately strong, you should post it.
In summary, as advice to OP:
- Put the salary in the ad
- Scrap the take home assignment
It’s still hard to hire legit senior devs, but those 2 changes will make it significantly easier.
I've screened a number of very senior developers with impressive CV's applying for senior C++ positions. When I look at their code, usually it just sucks. More often than not it's just plain old C code with C++ dressing. For example, using pthreads in stead of C++11 std::thread, and mostly avoiding even the C++ standard library.
When I interview people, I usually ask them to write some code, for 4 to 6 hours, to solve whatever problem they find interesting, to show me; a) their level of understanding of the C++ language and libraries, b) how they solve problems (I prefer low complexity) and c) what they find interesting.
The interview + the code they show me, give me an idea about their qualifications in this specific area. It's still a lottery to hire someone, but the odds for a winning ticket is a little better ;)
So what do you think the rest of the world does? Mechanical, civil, electrical engineering, lawyers, doctors, HR, managers? What makes software so special?
For many jobs, the world outsources candidate quality assessment to trusted academic institutions and certification boards. But the software industry has decided — perhaps rightly — that software engineers do not have to go the traditional route of getting a tertiary education attested to by diplomas and certificates.
So rather than comparing with doctors and lawyers, you need to look at what the rest of the world is doing with professions that lack institutional gatekeeping. For example, it's pretty common for translators to do tests before they are offered a job. An agile consultancy described in a podcast how they are hiring scrum masters — and there is a combination of checking the certificates (PSM3's are fast-tracked to a final interview) and tests (seeing how a candidate scrum master can run a scrum event with a team). I am sure there will be lots of similar examples in other areas.
I think they end up hiring the wrong person most of the time.
> What makes software so special?
It's not. We also end up hiring the wrong person most of the time ;)
Finding the best possible person for any position is hard.
Sidenote: Senior people have been burned by the years where the STL was inconsistently implemented and horribly bloated and inefficient. That doesn't mean they won't quickly learn to love modern C++, especially if they're joining a codebase with good examples to follow.
If you can't tell whether someone is just talking the talk or actually has done something during a 30m+ interview process, then you're not asking the right questions.
I should note that this seemed to help offset the concerns of people with families. They definitely don’t see it as a waste of time. It also incentivizes us to be sure we’re serious about the candidate.
However, if I don't find the ballpark of the salary on Glassdoor, which is information you DON'T control (this is an hint at showing the salary), I won't even consider your company. What's worse than wasting 4 hours and then seeing an offer that's lower than your current pay?
When does the mental detachement happens where people reaponsible for hiring stop understanding this? Why the headscratching? It‘s dead simple. Just make offers people can‘t refuse.
You've also not said what your pipeline looks like - is there nobody coming in at the top? Or are the "great people" not as great as you think? Or the "really deep knowledge of the platform" is in fact less reasonable or badly paid than you think?
If you're stuck, find a good recruiter and pay them properly. They can end-run around whatever the problem is, at least temporarily and give you informed, discreet feedback on how to fix it.
Would posting a job ad on AskHN requesting feedback be acceptable? I ask because I'd have expected to see it a bunch if it were. @dang would be very appreciative of your word one way or another. Thanks mattbee.
I'd say don't post your actual ad because we will find you and give you more help than you wanted ;) Like maybe your team page is all white men, or your defence contracts are very prominent, or your CEO is a public dong.
It's a bit of a yellow flag that you don't feel you can go to your managers with this to help fix a team you're obviously invested in? But here's two tips that you might be able to implement or influence by yourself:
1) Treat incoming candidates like GOLD. Respond to them within hours, same day where at all possible. Make decisions really fast, schedule interviews within 1-2 days, drop other things to make that happen. Have future managers & engineers communicate directly, lightly backed up by HR if you have that function (and you trust them). Keep. It. Moving. Make it clear their time is more valuable than yours.
2) Document the whole interview process up-front, put it prominently on your ads, specify the damned salary, and stick to your word the whole way.
If you execute on both of these points, the FAANGs will not be able to come close in a really critical part of the process. They will be unclear about what happens next, who you're meeting, how important it is, maybe it will be a week, maybe it will be 12 weeks, who knows. But they got the prestige and the big bucks, and candidates will put up with a lot for that.
(fwiw, I co-designed careers.bytemark.co.uk/full-process for most of the above reasons, and my current role went from introductory chat->3 interviews->contract signed in about 10 days flat - I like fast recruitment!).
Yeah, this.
Not that I dislike recruiters or HR folks or don't appreciate the work they do, but with someone with engineering experience I can talk to them on an equal level and don't need to "dumb down" describing my skills or past experiences, and I can usually be a lot more straightforward and/or have an actual conversation instead of reading my CV out loud, which is what a lot of initial screenings are like (it's okay to use the CV as a starting point for the conversation). Talking to an engineer is also a signal I'm being taken serious as a candidate.
I get that people use recruiters for an initial screen, but if it's "recruiter → another recruiter → HR person → coding test → finally I talk to a damn engineer (or engineering lead)" then that's a bit of a turn-off. At this point you're expecting me to spend time to "prove" my technical skills and I don't even know if I want to work for you because I have no idea what your engineering is like beyond the buzzwords your HR people dropped (which is very little information).
If you've got more candidates than you know what to do with then that's fine, but if not... Using a recruiter for the initial (short) screening is fine to go through some basic preconditions from both sides, but the second person should really be an engineering lead if you're desperate for people IMHO.
If you do insist on a code test and you intent on hiring the person if nothing strange comes falling out then say so. A lot of times I have the impression these things are shotgunned to a bunch of candidates.
This is really cool!
This is a huge point and something to work on. Act quickly and work out as many things in advance as you can. Don't be like unnamed company X who kept changing interview times and stretching it out so the candidate just took the offer from unnamed large company Y instead.
If you get some nibbles on your pipeline treat them quite fast, and note where they drop off. Likely for the process you have the salary is too low, and people skip out to find the same money easier or more money at the same difficulty.
There are yellow flags in your post, but it's unclear whether they are problems without details. For example:
> the work requires a reasonably deep understanding of the underlying platforms which a lot of people seem to dislike.
Why?
> I'm wondering if the work being a higher percentage non-code is what's causing us trouble
Probably.
> Benefits and salary are good
Are you sure?
Plus, where are people dropping out of your pipeline? Is it early, suggesting that the job posting isn't great, or is it later, so part of the discussion process could be bad?
Why?
Willing to bet the 'dislike' is "we have lots of mismashed, disorganized stacks, and expect seniors to have 20 years experience with all of them." coupled with "Even though some tools/stacks/etc have only been around 3 years."
And... even though a senior can pick up a stack in a few days, the expectation is to find someone already skilled.
....
Here's the truth. When I walk onto a new jobsite, I typically don't even know the tech. I've worked for EDA companies, government departments, startups, geospatial corps, all sorts of new and antiquated stacks and tech.
I'm a senior, and I can walk in, and become the subject expert extremely fast. I do so all the time, it's why people hire me.
That's what being an actual senior means. Loads of market experience, which makes that learning curve flatten.
$5 says the 'dislike' is an expectation that stuff can't be learned fast. I'd scoff.
Do I remember all the details of every language and stack that I've touched? Hell no! But there are only so many ways to do a for loop or if-then set up. There are only a few flavors of regex out there. Anything more I just look it up. Part of being a senior is knowing what to look up.
What makes me a senior is my ability to learn on the fly, then become an SME, on whatever obscure stack you have. I will never know all of it coming in - there's just too much stuff out there. But there's very little that is so bad that I can't work with it in a few weeks.
But I've been rejected from jobs as "not technical enough" because I didn't have recent, full time, on the tip of my brain, coding to the algorithm and obscure function level in their preferred language "X". It just meant I hadn't coded in "X" in the last month. They though the fact that I didn't do obscure fanciness without looking things up meant I didn't know anything. I wanted to scream and say "No, damnit, I just haven't coded in that for two years, I don't have an eidetic memory."
This is part of why I hate whiteboards and take home crap. I do poorly at them, then get lowballed by smug jerks who think that defines what I know and have done.
In your opinion :)
Stopped reading right there
Has anybody else noticed the same? Or am I way off base?
AWS is a mess. You learn just enough to get by and long for the days of simplicity where you could manage a bunch of servers yourself.
Oh, sorry, we are using Azure or GPC or OpenStack, that's an entirely new set of names for you to even know what you are looking for.
K8S is just the same. Every company decides on an "easier to use tool" like k9s that you have to learn from scratch if you don't want to jump through hoops to just use kubectl directly.
If anything is a definition of boring work, it's this: work to assemble a bunch of existing pieces without creating anything really new. I like being tasked with creating things, not being an assembly line worker who's got to learn terminology de jour.
That's the reality of DevOps - it's not primarily development, it's applying frameworks to infrastructure and deployment tasks. Get a senior sysadmin in operations and pay for a few courses in what you need from them.
DevOps is slightly more sophisticated system administration--janitorial work. With a much higher occurrence of vomit.
- There are a ton of job openings right now in DevOps and similar roles. I spent about 2 days applying to as many as I could and that filled my entire next couple weeks with interviews/tasks. I went through interviews, received offers, and chose one all from those two days of applying, so unless a candidate sees your offer early in their search that could be a source of low application volume.
- Is the fact that it's a fully remote position prominent in your postings? I personally only applied for positions I could tell were fully remote at a glance.
- Put the salary range in the posting. I am way more likely to apply if I know ahead of time that it's going to be worth my time.
- Are you strict on coding languages? I am pretty flexible but still have my favorites. If you're C#, I'm out (no offense to those who like it, I started out my career in the .NET world and ended up feeling trapped there and I'm not going back).
- How quick are your turnarounds from application submission and interviews? Lots of companies are moving quickly to get people through the hiring process and if you're not then you'll be passed up for other companies.
I actually think C# is pretty decent for a big general purpose language, but I understand this sentiment. No one wants to talk to me about anything other than .NET positions. I can usually squeeze a decent raise out of it, but I'm approaching my ceiling.
Was talking to a recruiter who specializes in recruiting for tech and product companies. The C# positions he had topped out at what other languages started at for senior developers.
I like C# it’s just it feels like it’s all enterprise jobs with bad development practices.
I dare say we're not posting frequently enough, that's a good point.
It's against company policy to put the range in the ad. Very very stupid, but probably nothing I can do about that.
We have three languages mentioned in the ad. But any senior candidate can be introduced to new technologies so they're not in the "requirements" section.
We could probably improve turnaround time, but the lack of applicants alongside natural attrition is making that even harder to make happen.
Thank you jhot!
Copypasta: This is a throwaway because I'm just an engineer on the team wondering if there's something obvious we're doing wrong, and I don't imagine this would be considered desirable attention by management.
This is already against the rules in CO and soon WA and NYC. Your company may as well get use to posting ranges. Ranges are also thought of to lead to more equitable outcomes for those working at the company.
Can you expound on why you felt that way?
I've got 20 plus years of tech, I've been out of college since 1997 and you want to give a 4 hour homework assignment. If get you want to get a feel for someone's ability but this is more easily done by stating a problem during one of the interviews and asking the person "How would you approach this?" Listing for how they anticipate problems and tradeoffs.
My second thought was noticing that OP didn't actually ask for feedback from senior talent, the questions are addressed to other people hiring, so I figured I'd keep quiet.
But then I couldn't help myself. ;)
I need to have useful information that a candidate is more than a smooth talker.
There is nothing a work sample can provide what a conversation cannot show for a senior role.
...or maybe people in this thread just don't like having to prove they know things in an industry where a lot of people don't know things.
Further, there are probably lots of software engineers that have _never touched_ your framework of choice and will be able to learn and become proficient with it in a manner of weeks.
The number of people I have interviewed who have been unable to code fibonacci or fizzbuzz, even the number of people with "senior" in their resume, is genuinely remarkable. I can appreciate the tiresome nature of interviews, but someone having to demonstrate that are not simply fakers is, simply, critical to the hiring process.
For people who are "hired by network", that is a different story. But if someone is coming in through the front gate, I will insist on having some kind of technical scrutiny, in technical and documented form, rather than simple conversations.
Work sample tests, according to the literature HN member `tokenadult` has gathered, provide the best predictor of future work.
My druthers today is for senior engineers to provide two work samples: code and design. Neither _particularly_ long or _particularly_ challenging, in a time frame that is not onerous. If the engineer has a portfolio with recent work, that is, IMO, a suitable replacement for code. Again, the point is to elicit fakery and have a demonstration of being able to do good work.
I believe you; I have met some. Luckily, neither fibonacci nor fizzbuzz requires 4 hours to code.
"Not if you'd like me to work for you, no." -- An actually senior developer in this market
Having been on the hiring side of things, I get far more information out of a conversation where I can ask for details about someone's background and experience.
A 4hr assignment is generally a really good way to gather competency.
That said - it's just 'too much' of a hill for senior devs. to bother with and there are probably some ways to do 'regular interviewing' in order to figure that out.
I have hired a ton of Engineers and I've found a lot of senior engineers to be particular, crusty and a bit weird: excelling in some ares, but cantankerous in other ways.
But yes, 4hr hr take home is going to be a barrier.
The take-home technical assignment is to determine what, if anything, you actually learned in your 20+ years in tech.
A depressingly large number of people with that level of experience have not learned anything meaningful.
We want to see them solve a problem, sure, but what's even more valuable is seeing how they approach problems, can they explain what they're doing, do they ask good questions, etc. Much more predictive than just looking at the final output and seeing if it passes a few unit tests.
I would never hire an engineer without them writing actual code that gets compiled and run. It's the single most predictive thing we do in our hiring process. But, we also want to be respectful of people's time, hence limiting the coding session to an hour.
Tenure doesn't weed out mediocrity by any stretch. In fact, the more tenure someone has, often the more difficult it is to determine from their resume alone whether they know anything.
When you're hiring, you should know where you want to hire people from. Normally, you'll know someone there, or who used to be there, so you can do the unofficial check: "Hey, do you remember X who used to work in group Y at company Z? Should I hire them?" At worst, you can do a friend-of-a-friend check.
Of course, you should call their formal references as well, but their responses are normally going to range only from "yes" to "absolutely yes" (unless the candidate has messed up, and given a reference who will actually say "no").
Also useful: a short stint at a known-bad employer. This shows that the candidate recognized their mistake, and corrected it.
I'll normally only interview someone who I can't background if their resume looks super impressive and I've got no better options.
My last boss told me it was harder (and cost more) to hire DevOps folks than software engineers.
That could sound nice to an inexperienced junior?
Seems to me like a bad reaction to the relatively new thing, but actually the criticism applies just as well to the older thing.
(Maybe it should all be paid! Though having job search funded by prospective employers does seem a bit weird.. I think really I just think it's neither here nor there in terms of morality or whatever - but the 'take-home' isn't fundamentally different from the interview. If anything it might be better in this regard already, since I don't have to take time off for it (but also can, if I prefer that to spending my evening/weekend on it)?)
But, irrespective of how it's billed, it's always "code while I watch..."
Add that need to present the already boring result, and you need something really amazing to make it worth the time. I doubt it is.