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
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.
I have spoken to a few series-C and D companies that wanted to give me $X00,000 worth of stock at their series C valuation. I informed them that I needed $X,000,000 of common stock (at that valuation) to match the expected value of my gig at the time, or I would take $X00,000 of preferred stock (whatever they gave their series C investors). They thought that was crazy. If you pretend that the people you are trying to hire don't understand the economics of your stock price, you are only doing yourself a disservice.
Senior people are senior because of their work experience, which they gain from steady employment.
Almost by definition you are looking to entice busy, employed people away from their current jobs.
They don’t have the time or inclination to trawl through job ad after job ad. Where your competition will ask for 15 years of experience and then only after hours of calls and meetings reluctantly make an offer half of what the candidate is currently making.
You have to stand out from this, or you’re perceived as the same “waste of time” category.
You’re not hiring starving students. You’re hiring people with options and responsibilities.
Respect their time and value and they’ll consider your offer.
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.
I've had some bad experiences with recruiters, both in-house and otherwise, and I feel they usually get screenings wrong. But there's an even more important reason for you to take over this process now: you don't know where your dropoff is.
You need to get familiar with what's going on. Are you not getting any good resumes? If so, then the problem is your outreach. Are you getting lots of great resumes but they drop off after the first call? Then the problem is your sales pitch on the call.
If it's your responsibility to fill this position, then it's time to get your hands dirty in the data and figure out where the problem is.
Without more data on where you have dropoff, these are my takes on your process:
- The other commenters in this thread are right: the 4-hour assignment is likely a huge issue. I'd be shocked if you didn't have a huge dropoff there. There's no incentive for senior engineers to do this type of thing, because so many companies want to hire them. It's better to take your chances on someone who seems good, and be prepared to fire them if it turns out you're wrong.
- You should put a salary range in the job posting. You said "benefits and salary are good", but literally the only reason to not list these things in a posting is if they're not actually that good. You may need to pay more for someone very senior. They may be expecting more -- even substantially more -- than the person who just retired.
My thoughts on this as other Seniors have pointed out (and I am a Senior myself)
1- I have not looked for a job since 2014, every job since came through my network. Then the interviews were basically friendly meet&greets but super informal, not a single coding test or take home assignment - note than I always started as Tech lead/Architect. I put in the hours and took pride in my work, have never let anyone down.
2- Unless I am unemployed and desperate, why would I give you between 6 and 7 hours of “free” unpaid labor for an interview that might not go anywhere? A big part of the interview process is “luck”. I have many terrible interviewing stories; interviewing is hard and for the most part a numbers and luck game. I hate wasting time and for that reason I carefully calculate my odds before applying and put more emphasis on gigs when I have a sponsor on the inside or where the upside and risk make it worth the attempt. Which disqualifies most non tech non brand name companies.
My suggestions for you;
1- Include salary and TC on your job post (it will set you apart from others) and will attract more attention.
2- Shorten/Simplify your hiring process and consider paying folks for their time, at least $100hr.
I have interviewed at places where it costs $40 to park for the day, you are there for 3-5 hrs for a final in person round, but if you don’t get an offer they don’t validate your parking ticket so not only you wasted your time but also spent a bunch of money on top of taking a day off from your current job.
Last but not least, think about the state of the market, Seniors are likely older, with families and mortgages. in this market, stability is important, changing jobs can be a gamble, their offer could get rescinded, etc Why take the risk? This will be true in the next 12/24 months, what is the incentive - unless the candidate is already unemployed.
Thanks for your time.
From what I can tell DevOps is the hardest thing to hire for right now, and it commands the highest salaries. It's tough to find someone who can code and troubleshoot code problems, but also has all the skills of a sys/net/cloud/k8s admin, and is willing to put up with the higher stress of that role.
Most qualified people have already done their best to get a job they're happy with. Personally I'm not making FAANG money, but as a self-employed freelancer I still do pretty well. So it's hard to see hidden-salary listings as anything other than a waste of time. 90% of them will come in too low. Things like a four-hour coding assignment just prove to me that it's smarter not to bother. If you make it that pointless for qualified candidates you'll only hear from the unqualified ones.
When you're hiring an accountant, do you give them 4h take-home assignments? How about hours of interviews with your accounting team to suss out their accounting skills and critique their style? I mean, how DO you determine if they're real accountants or one of these fakers I've heard so much about that can't even do some simple books?
Or how about lawyers? Do you ask them to write up a fictional legal brief or some boilerplate that the rest of your legal team can scrutinize to see if they're an A player? How about a multi-day interview just to make sure you've asked all the tough legal questions? No? Then how can you know that they're not going to drag your fragile company down with their poor performance and gasp have to be fired! The horror!
How about civil engineers? Would you have them design a building foundation as a take-home? What about tricky interview questions weighing the pros and cons of various retaining wall designs in, say, Arizona vs Washington (even though they'd be working in New York)?
I don't know how this level of abuse became a thing in software engineering, but I simply won't put up with it anymore. Won't post compensation ranges? You're trying to cheat me. Take home assignment? I walk. Interview gauntlet? I walk. Things drag on too long? I walk. I'm a professional - I have an extensive portfolio of my work slowly built up over decades that you can ask me in-depth questions about (and other things) during our reasonably timed interviews. Does inverting a tree in any way demonstrate my ability to do the job? No, it does not. My time is precious and the compensation trends are clear. Disrespect that and I can only conclude that you are not professional, and not worth my time.
* Post the salary in the ad. At least a range.
* Pay folks for their take home assignment time. A few years ago, we paid senior folks $500. It is a token, not a contract, but it shows you care.
* If it is the people that make it great, profile them so that potential hires can see their awesomeness. Help them grow their profile (speaking, writing, OSS) if they want.
* Are you properly developing your junior folks so they can grow into seniors? Giving them autonomy, learning opportunities and salary bumps?
* Have a shorter hiring process. Maybe cut out the recruiter screen?
* As a hard bitten senior engineer, I can tell you that I value equity at zero. If I get an equity win, awesome! But I don't count on it. (You don't mention it, but thought I'd share that.)
* Sponsor a meetup (~$100/month). This is a long term play.
* Any other benefits/things that make you special? Why should anyone want to work there?
That said, I like a saying that I learned when I worked in the real estate industry during the great recession: "there's no problem that price can't fix".
There's no hiring problem that higher salaries can't fix. The higher salaries may cause other issues, but you'll get your hires.
I have done enough contracting that before you have finished the sentence, I have already worked out in my head the opportunity cost of 4 non-billable hours. And in return I get.... nothing. Now while it is true that 4 hours of on-site talking to people is still 4 hours out of my life, but at least then I get to meet the people I would be working with and have an opportunity to ask about the company. And you are showing respect for my time by spending your time getting to know me.
And what do you learn from a 4 hour homework assignment that any undergrad should be able to complete, when you can see from my resume multiple L5/L6 positions at different companies? Nothing at all about what you want a senior to actually do. The senior you need is the person who can mentor the juniors through a 4-month long (not 4 hour long) project. Review their architecture, guide it in wise directions. Review their code. Raise the bar on unit testing. Teach the entire organization about better validation methodologies. Create realistic schedules and rational work-streams. Evaluate new technologies.
As a candidate, my interpretation of your process is that I would be working for management that can't think about problems from first principals. You can't hire a senior because you aren't looking for a senior because, as evidenced by your process, you don't know what a senior does.
The first thing you need to do is articulate to yourself what you want a senior to bring to your organization. Structure your interview process to try to uncover those skills and behaviors in a candidate.
Four hours of focus time is A LOT for a candidate with family responsibilities and heavily restricts your recruitment pool.
No parent is going to give up a precious weekend afternoon for an unpaid assignment.
That plus the lack of salary range will put 95% of "good" candidates off.
Instead have a time-boxed "chat" where the candidate is invited to talk about a topic they feel strongest in - networking, architecture, security, whatever.
As a company you want to leverage these strengths.
- low salary. - not remote. - long/cumbersome interview process (for ex, 4hr take-home is too much and you are selecting for people who have the time to do them and not better offers). - other yellow/red flags (bullshit language in the ad, what company does etc).
I'm a devops guy with experience hiring and interviewing, feel free to email me for a quick comment on your posting.
Care to put a range on the value of "good"?
My experience when searching is that any company claiming "salaries are good" probably isn't even worth my time talking to. Occasionally I'll reply to recruiters if the role looks interesting but it's not uncommon that they can't even match my base, let alone my TC (and I don't even have that great of a TC).
Most truly senior devs that I know are working for a company that can offer considerable RSUs in addition to a solid base + bonus. When I see "salary is good" I'm assuming you're offering below 200k.
If you want senior devs to apply post that your total comp is somewhere in the 300k-400k range.
However I'm guessing that your comp is nowhere in that range, and I think it's fair to assume that most other senior devs also are making that guess.
- 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.
You're wanting ~6hrs investment (30 call, 1hr interview, and 4hr+ assignment) for an offer? NO thank you.
Why the scare quotes around "DevOps"? Is it DevOps or not? These words do mean things and matter.
Your objective is to get as much of "something" for the least amount of money.
The candidate's objective is to get as much money for the least amount of "something". Junior candidates are more flexible on this as they might do it for the passion of the tech or to make a name for themselves but seniors already have a "name" and no longer need to work for "exposure".
Your current situation seems to be that your competition offers a better deal than you do - employees manage to find other places where they can either get more money or get the same money you're offering for much less "something". That "something" includes the overhead of the interview process such as the tech test, etc.
In short, either offer more money or demand less "something" and make it known. 4-day work week, flexible working hours, no on-call, etc.
In addition, you're asking for specialized skills which means you need to consider markets beyond employment. If your prospective employee can make the yearly salary you're proposing in a 3-month consulting gig, there's no reason for him to even consider your offer. You mention that most applicants dislike the specialization you're asking for - maybe because those who like it don't even apply, potentially for the above reason.
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.
I'd also recommend radically more effort in producing artifacts which some would classify as "top of funnel" or "engineering brand" so that you have some hook to start conversations with and some differentiation with all the other prospective employers of senior engineers.
Why are you a good employer for the candidate? Also, post the salary. I'm not going to start a 10+ hour process unless I'm sure it is worth it
Your process gives me no reason to work for you because I get to know nothing about you.
A call with a recruiter? Gonna hear all the standard phrases and have to answer basic questions.
A call with hiring manager? I still don't know anything about my future coworkers / team.
A 4h technical assignment? Why would I want to do this (unless I really need a job) after getting to know nothing about you? Why would I want to even work for you?
Companies often operate from a point of view of the candidate being the one who has to show they are worth it. For many senior candidates that's not going to cut it.
You will then have the problem of retention of your less-junior staff.
One other anecdote, which is a pet peeve of mine - I used the words Senior/Junior because you referred to it, but I have a dislike to those tags as it's vague to what they means. Junior/Senior in years? in experience? in talent? Some of the best people I've worked with had zero commercial experience when I met them and they blew me out the water with raw talent.
P.S. If you do want to hire a top dev-ops consultant and don't mind him being remote, I know one who just became free and he won't be for long. My details are in my profile.
But there are a few things that I didn't put in that article:
In my case, with 20 years experience, it's critical that I am not hired as a possession, or a trophy member of a team. It always works out poorly when someone pulls me onto a team because of my pedigree but tries to manage me like a junior developer, or someone who needs a lot of hand holding.
What's critical is that I will have a high degree of control in my job. This ranges from control of my day-to-day workflow, control of my development environment, and control of the architecture of the thing I am working on. I also seek to have some amount of control over the work of more junior developers.
Without that kind of control coming in the door, I really won't bother applying, because every time I've started a new job with an existing team, I've always had to fight to clean up messes. These messes will usually make a project fail, yet for various reasons management needs a lot of convincing to fix the messes.
I know a lot of people that have been coding professionally for 10+ years, have popularish open source projects, been lead devs at startups etc; yet feel stuck in their current jobs or even struggle to get hired. They would instantly job jump to something better or would love to switch from contract work to something with good health insurance/benefits. You just have to be a company willing to accommodate them. And accommodating their needs requires far less investment than paying FAANG level salaries to attract the same Sr engineers everyone else is competing for.
You can find engineers.
I don't know how US job market looks like right now but if this was in EU I would simply keep scrolling if there wasn't a salary range unless your name was really recognizable. There's too many offers to waste time writing emails/messages that lead to bullshit pitch-calls that waste my time before some recruiter gracefully tells me what the potential salary is.
Do you lose candidates at the 4h assignment stage? If so, that is probably the issue. Otherwise, look elsewhere.
1. Title inflation. Many here are making glib comments about "not actually senior". Great! Call it a "Principal" role and see if that helps. You can always promote any existing Principals to Senior Principal or Staff or God or whatever the new better-than-old-senior title is ;-).
2. Actual inflation. What are you offering? Are you sharing that in a job posting? Hard truth: if you're not FAANG or a handful of other companies, everyone assumes you can't afford them. If you CAN afford them, share numbers in your job posts!
Senior at my FAANG is around $500K at the moment. If you can't beat FAANG, the best way to get people is to offer them more autonomy than they can get at FAANG. But at the Senior level that means making them part of leadership (assuming you're small); Senior at FAANG likely already has more technical autonomy than you can offer. So management and strategy autonomy is a great carrot.
Good luck!
I think you'd have to not have many other opportunities to be worth putting up with that much for the potential for a job. Imagine if they interviewed at even one other place that required this much from them, they wouldn't have the time.
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"
a) you are offering some absurd amount of stock options for something they really think will be valuable in the future
b) the net take-home compensation after federal/state income taxes will be absurdly high
You're a self-described "run of the mill" software vendor. That sounds like a workplace that is zero fun. Strike one. Good candidates who can help you are in it for the adventure. We're not in it for your average benefits and wet mop process. Strike two. You're pretentious declaring that your run-of-the-mill job "requires a reasonably deep understanding of the underlying platform" presuming that we software engineers with decades of problem-solving experience can't learn it in an afternoon. Strike three.
It seems to me as though you're going through the motions to check a box but don't really want to fill the position.
What 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.
"fairly typical run-of-the-mill mid-size enterprise software vendor" - read: boring, maintenance, legacy, but that is ok, I work on such stuff when it pays decent daily rate;
"fully-remote SWEs in the "DevOps" software space (Linux, containers, k8s, yadda yadda)", "higher percentage non-code" - sysadmin, jira queue, SEVs, on-call duty, yaml development, no essential prog lang skill, o'rly you need SWE?
"we're junior-heavy already" - babysitting, scrum;
"haven't even managed to backfill a retirement from six months ago", "the work requires a reasonably deep understanding of the underlying platforms" - seek Sol. Architect or on-board into small area first, legacy can wait;
"take-home technical assignment (~4h) or similar at candidate's choosing" - what? take-home k8s cluster? Maybe better try some gig/probation week, daily rate applies ofc.
I think I would fit, but why I should move my lazy ass off my golden handcuffs just before summer?
The take home assignment process seems to vary wildly between different companies. One place wanted me to complete a take home assignment that was estimated to take between 30 - 40 hours. Another startup had me come in for a 3 hour interview, and then asked me to take home assignment after the onsite interview. Hard pass.
I think I still prefer the take home assignments over the leetcode misery. But, candidates like myself will quickly find themselves having to pick and choose which ones they want to complete because some are just asking way too much.
There is nothing realistically preventing other applicants from spending 12+ hrs on it over the weekend or whatever, and so I feel pressure to also “cheat” on the time box. Not to mention this is competing for weekend or family time. Timed interviews, even if they take all day are a much easier pill for me to swallow, I just burn a vacation day.
I also get something out of the much-maligned leetcode+behavioral style of interview- usually 5-10 minutes depending on how long it took me to solve the question to ask them about their role, tenure and pulse on the company. These quick chats with the potential team members are incredibly valuable and missing out on them is an understated cost to take-home assignments.
I’ve only done take home assignments as a junior eng for startups that sounded really cool and wouldn’t do it any other way, (and I never actually ended up working for any of them afterwards making the roi kinda bad).
Are these two jokes? What makes you think you're worth somebody wasting their time with such stuff? How about you actually interview them properly 1:1 and stop wasting the candidates time?
Skip that assessment and presentation, and implement a 90 day probationary period like everyone else.
That's probably your problem. You've gotta respect people's time. It'd be ok if that were the final step in the process, but it looks like it's followed by Yet Another Interview Round (TM). Try to slim that down, or remove the "presentation" aspect, and have it be the team's burden to audit the assignment. Ask for a small writeup explaining their technical decisions from the candidate instead.
Also there's lots of incredible talent out there, who are horrible test takers or do poorly under the context of the stress of performing for an interview... these people actually tend to be more talented than the people that are good test takers and good under that kind of pressure. You're shooting yourself in the foot by not considering them.
Hiring "the best candidate for the job" is a nebulous term that HR has misinterpreted to mean "most technically skilled during an unrealistic interview test". The best candidate is really the person who interfaces with a team the best on an interpersonal level, and they will grow in to their position over time, and fill in any gaps in technical experience they don't have if they are truly passionate about their field. Either a lead person has leadership traits or they don't. Some technical homework assignment and presentation will prove nothing.
Moving fast and being responsive is really important, i.e. be lucky. I only just this week moved from part time consulting to a full time job. I think I was very lucky, but from the first moment of contacting recruiters/applying/reaching out it took only 1.5 weeks to get an offer that exceeded my expectations. It is hard to be lucky enough to capture the attention of the right application at the right time.
Include the salary in the job ad. I only applied for jobs with salary in the ad. It saves everyone so much time to know that everyone is in the same ballpark before starting any discussions.
Look beyond the resume. The trouble is over 20 years, I've done A LOT. So many different technologies, problems, industries, roles. It's too much to condense into a resume that perfectly fits your expectations. Come up with some probing questions that are relevant to what you need from a problem solving point of view, and ask those. I remember interviewing and it prompted a whole set of memories I had omitted from my resume and cover letters, all because I just plain forgot.
Be proactive. For example, I added a post to a monthly "whos looking for work" post on HN. I didn't hear from you and I would have loved to. Maybe I wasn't the perfect fit, but no way to know unless we talked. I wonder how many other potentials could have been missed?
I wouldn't worry about whether or not the take home technical assignment is causing issues or not. You will need some way of evaluation candidates in a practical way, and it might be video discussions, or it might be take home assessments, or something else. All a quite time consuming, and will exclude people who don't have that time. If people are genuinely looking and are interesting in your team, they will find a way to make the time. Perhaps be flexible in this point and work with the candidate to decide what method of evaluation works for both parties.
I don't pretend that the above will fix any hiring issues, but I think it's worth considering. In a job market where there is an overwhelming demand for senior people, ask yourself - why should they work for you?
I'll say I don't really mind the take-home assessment, contra most of what you're seeing here, but 4 hours is pushing it. 1 hour max is more in line with what I'm willing to do for a pre-interview screen.
The bigger obstacle for me is why would I be looking for jobs to apply to in the first place? I haven't applied for a job since getting out of the Army and moving into the software world at all. Not once. Every job I have taken in this industry has either been from a recruiter or professional network reaching out to me. I've never looked for a job and never plan to, so I'd never see your ad and I don't read the Hacker News who's hiring pages. Recruiters who don't give a salary range aren't going to hear back from me unless it's a FAANG-level company with a well-known salary range I already know, though. I'm often annoyed by the amount of "not writing code" I have to do, but I'm used to it at this point.
I'll just grant your claim as a person who works there that the job is sufficiently enjoyable and pays well that I'd consider it all things being equal, but the biggest obstacle is just that I don't look for jobs. People offering jobs look for me. How good your ad is means nothing if I never see it and don't want to see it.
I am a man (it works better from this point of view) on a dating app, with a few blurry pictures making up my profile. It kinda looks like I look ok, but who knows. I reach out to a good-looking and engaging woman (the "seniority") and I tell her that I am possibly interested in her being my partner, I can provide and care for her (that's what I say, she does not know whether in reality I can or cannot do it), but before I make my offer, she has to take professional photos, answer to a 4-hour survey, a couple of calls of 30 to 45 minutes each when she is asked about her previous experience with relationships, then introduce herself to my family and friends and see if they are ok with her.
Then, maybe I will make an offer. And, maybe, an offers she would like.
I don't know why I have troubles finding a partner.
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.
This. Get rid of this. Everybody that reads this, get rid of it if you have such a step in your interview process.
Do a 1 hour maximum live challenge instead, or skip it entirely if the candidate has any public code you review and good enough.
This is what I've done in the current company and we've managed to hire some extremely good senior candidates because of it.
A lot of other pertinent comments re: time commitment trade-offs for people with families or even having to decide between burning some PTO for this
Not sure if 1 hour 30 minutes before technical assignment makes sense - maybe 15 min with hr, then assignment - then more face time?
I agree with general sentiment that 4 hour assignment doesn't square well with "senior". Maybe take home assignment (look over for 1 hour give or take) then 1-2 hour technical/architectural discussion with technical team lead? Preferably with a real problem recently encountered and solved by the team?
TBH I think I perfectly fit your profile but I am not in the market. And the idea of a 4 hour take home assignment is not helping.
Best of luck OP!
Honestly, if you want to know why developers like me aren't applying, you you need to post your job description here. It's impossible to give good feedback on something that I can't see.
(And by the way, I very rarely do take-homes, unless I am between jobs and see personal value in doing it.)
Ok. OP, can you please define "senior" and "junior" for the assembled audience? There seems to be some ambiguity concerning those terms. On one hand they can refer to a level of experience in a specific field, specialty or toolset; or, they can refer to levels of experience in life (and "senior" in this context doesn't mean "senescence" although they are admittedly correlated).
Given the foregoing, how junior or senior is the recruiter? What does the funnel look like (somebody else mentioned this too)? Have you considered consulting your marketing people on your pitch?
Over 20 years ago I was "fix the ship" Director of Tech for a small software company. I managed dev and support personnel and recruitment; when I was ready to throw up my hands I recruited my own replacement (actually I recruited a lead engineer who got along with the president, and promoted the dev with a minor in accounting into my role).
The conversation which needs to occur is not appropriate for HN. You should be able to find me and reach out and we can have a telephone / zoom chat; professional courtesy, no obligations. You want 4 hour technical assessments, you should be able to stalk people at least a little bit. It's a zen thing.
But also: "Take-home technical assignment (~4h)"?
For what? Just give me a contract to work on one specific module or account or whatever. Real work, real pay. That ticket that's been itching you, but you've never assigned, or that customer request that just "can't be done". Give me that, pay me for it.
Now afterward, I've actually worked together with your team on something and we both know whether or not we want to keep doing that. And you've got rid of that nagging ticket, and hired someone who does the things that can't be done. Or worst case, you decide my work's crap and you're no worse off.
2/3rds of my career jobs have been contract-to-hire like that. And the other 1/3rd were cases where I'd already worked with these people before due to something like that.
A couple of calls and a contract job like that should be all it takes.
I guess the questions you have to ask are:
- Are you just not getting applicants at all? - Or are you getting altogether the wrong applicants? - Or are you getting ones that might possibly fit but they're just not making it through the process?
If it's either the first or the second, then your posts maybe aren't right in some way. If it's the third, then you need to look at where they're falling out. If it's the assignment, then that's your problem. And there's an easy solution.
#1 "Resume screened by in-house recruiter", my experience is that they are not very well versed at "screening", they leave out individuals who are 97% qualifies, at the same time they screen in technically unqualified individuals who know how to play the "screening game". Get someone technical to do the screening.
#2 "though salary isn't posted in the ad" if it's good, why not disclose it?
#3 (Maybe) who does the 30m call? see #1 above.
DevOps as a concept is only about 10 years old, and a lot fewer people were doing it towards the start. There just aren't that many really senior people out there.
My recommendation would be to think about specific skills you would like to add to the team, rather than a generic skill level, and see if you can get creative about filling those. If you need platform expertise, can you pull from defense contractors & teach them the social norms of your company on the fly? If you need someone who can lead culture building, does that have to be the same person who has the deep platform expertise?
If you really need all the things in one person, you need some reason why they'd want to work for you instead of Google. Which usually means either paying through the nose, or offering something about the culture that appeals to a niche audience. Having a particular point of view can be a winning strategy, rather than trying to appeal to everyone all at once.
Has anybody else noticed the same? Or am I way off base?
- As others said, you should post your salary. You'll likely need to be competitive in the markets you're hiring for. If you're open to folks within the US as fully remote, you'll likely want to be targeting the 50-75th percentile of salaries for the YoE you're looking for.
- The take home of 4 hours is quite a lot of time end-end. I'd consider slimming this down to 2 hours if you can OR allowing candidates to have several days where they can work on it at anytime vs being timed.
- It is extremely hard to stand out as an individual company nowadays. There are a truly amazing amount of startups, mid-size, enterprise, and beyond, companies hiring engineers of all levels. Without a way to tap into a market which you may serve organically and leverage those users into potential candidates, it's just going to be tough to stand out.
- You likely will need to spend time sourcing yourself and investigating a variety of avenues where you either a) spend your time sourcing / using a tool that helps (such as triplebyte / AngeList AList) or b) bring on an external recruiter. I would suggest bringing on someone that is actually technical and has a history in engineering, which is likely tough to find.
- Feel free to email me if you'd like to just chat more about this bit (external recruiting). We're happy to help, email in profile so-as not to simply self-promote within the comments. As a simple plug, we specialize in providing mid-funnel engineers for hard-to-hire roles and are happy to take over the first third of most engineering hiring processes.
Even before seeing your hiring process (and I agree with the other comments about that), not listing a salary means I've already scrolled past your ad.
We're in an employee's market right now, and there are plenty of opportunities out there that are transparent about the comp package (and have shorter hiring processes).
Do you simply try to rush through the code to make it work within the allotted time limit?
Do you put more effort into the design and structure of the code to make it production ready?
What do you do when making the code nice and the 4 hours are up? Do you stop and turn in an incomplete assignment or do you put in more hours of work?
Even if by chance, you killed it and built awesome code in the 4 hours, there's no guarantee that the hiring manager will like the patterns.
I'm all of my online interviews I have never once received specific feedback on what I "failed" to do "right".
So no, I will not waste my time on take home tests unless I get paid for it.
As much as I also dislike algorithms, I can at least research what I did wrong and patch up that weakness. Can't really do that with take home assignments because there are too many variables.
That’s the majority of the companies I’ve worked for that weren’t startups I started and none of them had a long or time consuming process.
I also interviewed with a company recently that required multiple rounds with multiple people and it was not worth the effort, so I will stick to the companies that can decide quickly whether I fit or not. I wouldn’t even bother if I had to do a take home assignment. I also want to know up front if it will be worth my time or not, so not disclosing salary range is also a red flag for me. I’m not there to play cat and mouse.
1st mistake
> - 30m call with them
2nd mistake
stopped reading after that. :-)
and I dont mean to sound harsh. but in a market where experienced talent is in high demand, we get TONS of inbound leads, in parallel, and thus look for ultra easy ways to filter them down. you immediately gave me a way to do it
> Take-home technical assignment (~4h) or similar at candidate's choosing
DOH. if I hadn't bailed by now, heres where I would pass on you fast. you're welcome to look at my resume/CV and respect my word, welcome to look at my GitHub, and welcome to offer me a paying project, but if you think I'll give you 4+ unpaid hours of my professional time, to every rando who pings me, just to prove, "Yes, I'm A Programmer Like I Already Told/Showed You" then be prepared to miss out on all the people with BATNA's and self-respect.
The attitude of entitlement by some companies in 2022 has gotten out of hand. Overdue for corrective turn.
Some considerations:
1. No salary = you don’t pay well.
If you paid well you’d be listing that first in the job posting.
2. Also the four hours assignment… when it comes to devops kind of stuff, chances are it’s impossible, or impossible to do in 4 hours.
If I have to spin up infrastructure to do your assignment, I have to pay out of pocket.
If there’s a service I haven’t used before then I must spend additional time to go though the documentation, do some trial and error (on my time, out of my pocket).
Chances are very high there could be a tool I haven’t used before, and that would mean I could just fail because I don’t know that tool (but I could learn it easily on the job, if I hadn’t a four hour limit).
So yeah the four hour assignment is completely moronic and unless the scope is cristal clear and laser focused (eg: only aws and only ec2+s3) i’d skip you too.
My current gig, my boss talked to me for 30 minutes and made me a job offer by the end of the day. This is at a firm with 200,000 employees. I've been there for 4 going on 5 years. I started as a contractor and have decided to make the hop to FTE.
I'd offer the candidate a 30-60 minute interview followed by offer with a mandatory 90 day termination / probation period or a 1099 contract. Ask the senior about the last project they led, talk through challenges and how you faced them, talk to them about politics and how they manage those, talk about a technical problem they faced etc.... Behavioral interview ish ... Engage, talk, gauge experience and if they don't jive, don't hire them.
When I was searching, if a company did not include a salary range, I automatically excluded it.
It seems like senior professionals reach a career crossroads where the opportunity cost becomes too high at any price. I've been thinking about getting out of software engineering for several years now for that reason. And because I'm tired of reinventing the wheel in proprietary ways, only to see the code get thrown away because most internet businesses fail early on.
In other words, this might be a problem with the industry, not your hiring process. Perhaps a #nocode or managed solution could be an alternative?
And yeah, I'd direct you to my GH instead of doing tests, but would obviously be ok to interview.
Like others have said, without knowing your salary I wouldn't even reply, and you'd need to contact me initially anyway.
In this market you may need to approach hiring not as fishing for bites, but more like headhunting for execs, since that's what your competitors are doing.
>Take-home technical assignment (~4h) or similar at candidate's choosing
Yeah, I'm not doing that. I don't feel like spending four hours doing unpaid work in my free time, nor do I really feel like setting up a dev environment on my personal computer in the first place. It's probably actually more than four hours too and my time is valuable.
I am extremely confident that I have no problem getting a job without doing "homework" and I get bombarded by recruiters as is. So I'll skip you. Plus this is before you even know what the offer even is!
You simply aren't going to get many actual, good senior engineers to jump through your hoops.
Stop the take homes. They suck.
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
You also might have to open up the doors to 1099/C2C consultants, as well. Or talk to a staffing company and borrow some resources to get stuff done in the meantime.
A good pipeline can hire a candidate in 3-4 hours. You have to run a technical interview, but I personally prefer verbal over paired-programming. I will refuse to do take-homes at this point and refer to my active github.
"It might be that many software business models don't work when engineers cost $400k/year."
You just cannot run a "normal" business model.
If you want cheap employees, hire Egyptians.
The US technical market is inflated because so many companies are earning $$$.
Even if you fix your "process" problems, things won't get better. You need to offer a better quid pro quo.
even if you didn't have 4h unpaid assignment, that one would still make me think a lot. Junior heavy possibly signals what the management doesn't treat/value people well (not surprisingly that 4h assignment really dove tails with that), that work is full of unnecessary self-inflicted death marches, that the management isn't capable to recognize/utilize/value the senior technical experience/skills, etc., so that only junior ones who need experience and don't yet know better stay there.
Are they fully up to speed with what you really need, as opposed to box-ticking? (eg seniors might not have the official certifications and degrees, but they will have the years of experience)
- 30m call with them
What can the in-house recruiter ask that the hiring manager can't? What's the point of this interview? - Resume passed up to engineering
- Hour-long call with hiring manager (typically the engineering manager of the team the candidate would join)
This is the most important part. If you can't decide after talking to someone for an hour, why not? What more information do you need that you're not getting? - Take-home technical assignment (~4h) or similar at candidate's choosing
Waste of time for both sides - Presentation of technical assignment to the team
Again, waste of time for both sides, including waste of time for the team. If you're hiring a senior, what is the purpose of presenting to the team?If you're hiring for an architect, where communications is more important than technical skill, have them present on something in their expertise (eg, for a security role, the structure of PKI CA/RA/VA and the relationship between chains of trust and root certs).
- Offer
CV screened.
30 minute call with engineering manager
Tech task < an hour for a senior level applicant. Nothing here that’s difficult at all
Technical interview where we ask questions based on the content of that exercise
Offer
Even with that we’re struggling, but we’re loathe to reduce it because the technical exercise has shown that a lot of people talk the talk but can’t walk the walk. We’re doing it in a way that’s “write an API end point for something real world-y” so no leetcode and it’s incredible how many people say they know Framework X but can’t even do this basic task.
The hiring process doesn't seem to, and of course this is totally an completely assumptive-- based only on the list of items in your post, reflect any reason why a senior engineer would want to apply there. Most people want one of two things: more money or more growth. Right now, I'd guess, that potential candidates aren't feeling either from the ad. Is the salary actually good? Reading the job details I can say I'd expect at least ~$200k/yr cash, some sort of yearly cash bonus, and equity in the company.
Additionally, there may be language in the job ad; which, turns off more experienced candidates, e.g. "ninja," "rockstar," "10x". Very subtle changes to the language you use can completely change your applicant pool for both good and bad, it's worth experimenting via services that help with this (by reviewing the job ad) or consultants (though I'd try a service first, gonna be a lot cheaper).
Finally, seeing your stack being ops related, I'd guess a lot of qualified people are assuming you don't pay enough or will have awful work life balance. Are folks on-call 24/7? Salary might be alright unless your on-call 20% of your life-- in which case maybe it ain't. Speaking to that in the ad might really help pique some folks interests (if the work-life balance is good).
Good luck!
My last boss told me it was harder (and cost more) to hire DevOps folks than software engineers.
I had one job opportuniy i liked, with a 4h assignment and i didn't get the job.
I fully accept doing and learning for Google or Microsoft or Apple etc. but they pay in germany like 30-50k a year more than the normal companies.
Normal company is 80k, the others are 120k up to 160k.
And others mentioned it but i want to repeat it: The offer i actually took (and it was the best choice as well) was actually because an ex collegue pointed me to it. There was already a foot in the door.
Most of the code I've previously written is considered proprietary and I'm restricted to not disclose. That leaves me with only being able to show-off screen shots of personal projects.
> Long interview process
> Standard benefits (I'm guessing this, but if you were offering a 4-day work week or something, you'd probably mention it)
The market is extremely busy right now, overwhelming actually. If a candidate wants to get through it with any time left, they'll need to apply filters, and the busier the market is, the harsher those filters need to be. A candidate who can only apply for 3 jobs at a time will do so whether the market is offering 3 jobs or 300.
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.
They gave me a codebase with a "REST" API for their mobile client that had some problems and wanted me to spend "4 hours" adding features to it and fixing any problems that I saw.
I made the changes, then told them that the biggest problem was that their REST API was just ad-hoc JSON over HTTP, with ill-defined data and poor error handling. I recommended using GraphQL, which defines the over-the-wire format and error handling, reduces network round-trips, and is "self-serve", avoiding many meetings between front-end and back-end people and increasing dev velocity.
This was too much for them, as they were expecting some changes to put lipstick on the pig. I said that there were other REST-based frameworks that would add standard structure (e.g. JSON API) and support introspection with e.g. OpenAPI.
I got rejected because I "didn't have enough experience with the framework", and "it didn't seem like a good fit". Their "seniors" doing the interviewing were not able to build a system that worked before they ran out of money, and they are now out of business.
Some questions,,,
What's the salary and why won't you post it?
What is the work about, and why not state it here?
Why do people say they dislike the underlying platform?
Why are you so specifically needing senior talent?
How many people applied? How many did you turn down, and why? How many dropped out before you could hire or reject them (and how long did you make them wait)?
Edit: can you give an example of the kind of technical assignment you ask for.
Telling us these may get you a long way to an answer.
Get rid of your recruiter because they obviously lack access to senior resumes, which is not surprising. I long stopped even replying to recruiters as have many others that I know that are properly senior. Most qualified people don't deal with recruiters at all if they can avoid it. And there is no shortage of very lucrative good jobs to be had. Alternatives: get your senior people attending conferences and local meetups. Make sure there's a referral program. Treat incoming referrals with urgency. Those are your best shot at hiring good people. Don't scare them away with your bureaucracy. If anyone good comes along, be ready to act fast.
And of course skip the take home exam; it's usually completely redundant, humiliating, and candidates hate them. The best ones doubly so and they'll probably tell you so. The ones least eager to take that test are exactly the people you should be making an offer. Probably your recruiter is losing those candidates long before you even get to talk to them.
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.
Let me briefly describe the setup. The job is with a well-known software outsourcer, the position is Middle Java Engineer. 1. Quick interview with the recruiter; 2. A hour long interview with senior engineer, where I told him about the projects I have completed, he asked some questions, at the end he gave me a relatively simple java task; 3. An interview with the engineering manager, who wanted to know how would I approach some problems, e.g. concurrency, security related.
The interview process did not require me to spend weeks to prepare, no 2-3-4 hours commitment and no questions outside of context. IMO, when you do hundreds of interviews you realize that passing tests successfully does not mean you will be successful at workplace.
* Pay _much_ more.
* Post the salary in the ad.
* Get rid of half of your hiring process.
- The recruiter call is likely worthless, engineering managers can tell in about 3 minutes if a CV/resume is worth an interview.
- Instead of 4h homework and a presentation, do an hour of pairing with a team member.
* Come up with some other benefits - 4 day week, full remote, options/sharesave etc.
* Reward your team for using their network to get candidates.
I can whiteboard, I can tell you about past projects, sure. The demand on my time is fixed. I can communicate and discuss it with you. We have a conversation.
Take-home is too opaque and too much of a potential time demand.
Are you paying candidates for the take-home?
EDIT: For a devops person, you could do one programming interview, one design interview, and another interview of various subject-specific technologies including networking, access control, alerting/monitoring and database management.
- We combine steps 4 and 6. Our assignment presentation is 90min (which sometimes goes onto 2 hours) and the hiring manager is present in that call.
- Our take home assignment usually takes 4-6 hours to complete for a competent dev, but we let them do it across a week or so. They have a work life, family etc, and we let them balance that against the interview process. It's worked really well for us.
Edit: To add, we feel that a quicker feedback loop and turnaround time helps the candidate and make them aware of that. And we don't wish to compromise on the assignment - we would like to see their output after giving them sufficient space and time to complete it.
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.
This is why I wouldn't continue interviewing with you, but perhaps not for the reasons you think.
Despite my 15 years of experience as a software developer, your test will likely have some edge-case question that I won't get right. I'm terrible at timed tests, but I'm not a terrible software developer. Why should I spend 4 hours of my weekend failing to prove myself to you? I'd so much rather spend an hour or two having a detailed, technical conversation with you—and I think you would too. You can glean a lot from a conversation (it's easy to copy/paste code from Stack Overflow, but it's not easy to fake it through a lengthy, technical discussion)!
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.
If it was, "we want to give you the job, but just need to check if you can actually do exactly what we need", well that's different.
Read https://www.honeycomb.io/blog/observations-on-the-enterprise...
Do any steps that have either a larger drop-off than the others or a larger drop-off than in your past experience? What is the reason for the drop-off, are applicants dropping out/ghosting you, or are you rejecting them?
Do you have any data or insight on firms competing for these applicants? For example, are you putting in place an obstacle such as the 4h take-home assignment that your competitors do not have? Are you not posting compensation when your competitors are? Might these be subtracting more value than they add to the process?
Many companies don’t do this but it could be something to set yourself apart.
We used to do takehomes but now we let the candidate choose if they want to do a take home or do a pair programming session in the interview.
If you are good at what you do then there are two reasons you will do it. 1. You are paid well 2. You are respected
Don't be annoying about doctors appointments or time off, if they do their job just let them do it. Don't make them come into an office they don't want to be in, don't make them be in meetings that have nothing to do with them and could have been an email. It's really crazy simple, just think what you would want and then treat people the same.
HBR article: https://hbr.org/2022/06/the-c-suite-skills-that-matter-most
In short: Most mid to upper level engineers don't have copious amounts of free time to spend on maybes. There are too many better options for them out there.
HRB article: https://hbr.org/2022/06/the-c-suite-skills-that-matter-most
if the salary is actually good, then you should be showing that off in your job listing in the same way you show off your other benefits.
Typical engineering interviews are 30 minute intro to the company, hour long technical, then full on site. I put in 1.5 hours total before I know if you’re serious. I’m not putting in 4.5 hours before an on site.
“I understand that most people are interested in working to exchange labor for money to support their addiction to food and shelter. But we don’t post how much money we are willing to exchange for said labor and I wonder why I can’t get qualified candidates who are interested”
Does that about sum it up?
And on top of that you expect me to do a take home assignment as a “senior” employee when even public companies that offer cash and RSUs (not lottery tickets - ie “equity”) only require a 5 hour interview loop?
In this market, you can't expect that talent will come to you.
Senior developers almost by definition have experience with their own market value and plenty of offers from their network. If you're going to offer less than what a friend's company offers, you'll need to have insanely amazing tech to compensate. And I'm always assuming that companies pay badly if they are cagey about naming the salary. I mean you also didn't say if you were offering $100k or $300k annually.
I refuse to do this since I don't do unpaid work.
And frankly, you want me to sink .5h+1h+4h = 5.5h unpaid on your demands? Nope. Not going to happen.
And I work as a senior AWS & Azure cloud/systems engineer. My resume speaks for itself. And if that's not good enough, I'd be glad to have a sit-down with a few of your own system engineers. If that's not adequate for you, then the problem is you.
Might be the problem ...
> the work being a higher percentage non-code is what's causing us trouble
Might be another problem... are you recruiting a PM or a Software Eng ?
> - Take-home technical assignment (~4h) or similar at candidate's choosing
I've personnaly stopped doing those. Either they are very far off the job either too revealing. And generally taking way too much time.
Maybe the answer is to pay me for my time at a consulting rate.
Also, the issue with most technical assignments I see is that they're judged much harshly than the actual work would be (including by the ones doing the assessment) and the fact that actual work is interactive and not a fire-and-forget (as the assignment is)
When you say "benefits and salary are good" I literally have no idea what that means or what the frame of reference there is...
Is the problem that you aren't getting enough applications? At what stages are you filtering what percentage of applicants? This can help you debug your process ;)
Sorry, since this may be beating a dead horse, but ... Are you sure your salary/TCO is actually competitive (and wins some of the competitions ;)?
What has always been the most important factors for all decent engineers I know:
1. What exactly do you do (what’s the mission, the goal, the challenge)
2. The compensation
If these 2 are good - we can bear any meaningful interview process, and many even prefer home assignments to nonrealistic pressure of on-site interviews.
If not - nobody actually cares if interview process is great.
The first step - usually recruiter filter about more then 50% of candidates who are more then enough for you.
//- Take-home technical assignment (~4h) or similar at candidate's choosing// wow, that's a lot. Change that to AMA session, and rate candidate based on the answers.
Hire faster, fire faster.
This is an instant no-go for me. As others have said as well, I usually find work from my network so I don't really have to look at ads.
The problem is also that a significant portion of seniors at some point will want to start their own business too, so they will leave the job market.
Lower the time commitment by 75%, and pay your candidates for their time on their ~1 hour take home assignment, or get rid of the take home entirely, and you won't have candidates drop out of your hiring process.
tldr: 1.5hr phone interview + a 4hr take home afterwards is ridiculous, especially if the compensation bands are a mystery. Stop expecting candidates to do ~4hr of free work and pay your candidates for their time.
My suggestions:
1) Post the job ad here ASAP
2) Ask feedback from your candidates to figure out what other mistakes you are making in recruitment
Hiring these days is incredibly difficult. People genuinely do not really want to work anymore. I don't mean this in a bad way, but people are just more interested in their personal life instead of working for someone else.
Especially senior people.
1. 30 min introductory call with their recruiter. 2. 1.5h interview with an engineer involving pair programming and some technical questions. 3. Offer
This was it, very efficient. I was impressed with their interview process and immediately accepted the offer.
Benefits and salary are "good"? Example from another situation: I own my house not because I made a "good" offer. Plenty of people made a "good" offer. I made the best offer.
- Take-home technical assignment (~4h) or similar at candidate's choosing
That is an instant nope.
Can you determine I know what I'm talking about and can do the work without doing a 4h unpaid hoop? You should be able to ask probing questions and pretty quickly have a rough idea of if I've worked with this stuff or not.
Who determined that the technical assignment takes ~4hr in the first place? If a company tells me it'll take 4 hours I take that with a grain of salt.
Lack of salary will put off a % of browsers who are unsure if they want a move… you need to either add package or try and make it clear in the text it’s good.
The interview schedule looks fine to me - but I don’t have super young children (maybe I’m more senior than I realise!)
A junior is an engineer that has less than 2-3 years experience professionally, and about the same time building and learning how to code by themself on their spare time. An Intermediate engineer is a Junior engineer with a good attitude - that says: I am still earning, and I am humble, and I listen more than I talk. A Senior Engineer Has 10+ years of experience coding, and developing solutions. He has navigated all the corporate BS, politics, and quit several teams of arrogant Junior con artists, or poor project managers - and is tired of all this BS. A real Senior engineer can code the entire solution by himself in 6 months , instead of a team of 5 juniors over 2 years. A real senior engineer - worth 10x the salary of a junior, and at least 5 time the one of his direct supervisor - for one reason:
You can remove everyone in the product team that doesn't have at least 5 years of experience developing code. And you will have better results at delivering your product.
In your case, you probably will end up with zero employee.
Now how much money are you offering this Senior engineer? Will you pay him/her the equivalent of the whole team you just fired? Or just advertise a "competitive (LMAO) " 170k$ package with amazing bonuses...
Which is like what.... only 40% more than the Junior that costs more time than it actually saves?
Maybe start respecting what it means to be a performant senior engineer - Most of them died of depression, burnout - or jumped in the management wagon - because they were too tired of corporate BS and saw no points in even remotely trying to deliver technical solution in an environment where they don't have decision power - while at the same time - nobody in the hierarchy above (and under them) slightly understand the blueprints.
When you realize the value of this rare person, you can think of multiplying the salary package by at least 3.
Then, you can do your interview rounds.
The heck! if I ever want to work in a tech team again - that either will be at a market salary (understand getting paid 5 times less than what I technically worth) for an ethical projects - which is rewarding for my soul and self respect - OR - I will get a 500k$/y for a basic coder job at Google/FB/etc.
Maybe you are not looking for a senior engineer, maybe you are looking for an intermediate one.
If you come to hire a senior engineer at that salary, be warned: he's not a senior.
I have issues with some of the steps listed but by far my biggest issue is that companies don't list their offer. Which for potential candidates makes them wonder if it's even worth attempting to apply.
Would it have taken 6 months to train someone instead of wait for someone to “hit the ground running”?
This is actually rhetorical for other hiring managers and recruiters
- 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
If you stick with it, be sure to give candidates a heads up that that's part of the process by the time they chat with the recruiter. Otherwise you're being really disrespectful of their time.
Furthermore, that assignment should ideally be something you can use internally.
This one should be paid, I would ignore this one if I am going thru other applications, if the salary is good I'd mention it before bringing up any 4-hours technical assignment.
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.
If I get a vibe that too many people are, for lack of a better word, dumb assholes, I just won't take the offer.
And if you really have to have it, is it specific and interesting? For example don’t ask to use a JavaScript library if the job post specifically asked for talent in rust.
I would nix the take-home assignment, or drastically minimize the size, and ensure salaries align with, or are above the current market rate.
here in the UK these types of positions are some of the hardest to fill within Engineering. Hiring software engineers is comparatively a walk in the park.
Last time I was interviewing, I had ~5 take-home assessments sent to me. I didn't finish any of them. Much easier to prioritize a live interview. Less risk of having my time wasted.
Most senior people have the experience to make good decisions and to guide the younger staff. What they may not have is experience in your tool set. But that can be picked up quickly, their seniority cannot.
And as a side note, is the 4h assignment and posterior presentation close to what day to day would be?
Eh. That is a pretty hard hire right now in GENERAL. That kind of hire is a months long process. BUT! Super worth it if they are good.
I generally don't bother with these
So that doesn't really sell it. What's interesting about "fairly typical run-of-the-mill mid-size" ?
Unless I really want a job, i usually avoid assignments.
The take home test for a high level individual sounds asinine, but it was not clear where the problem lay.
That's the first thing that gets me interested in the ad. I don't even start to read ads without salary.
Are you paying me my consulting rate of $2500 for this half day of work?
If not, skip
For some people, like me, at least in theory, I would love it, because it's much easier for me to shine than when put on the spot in an interview.
I like to talk in an interview, but I'm no good at retrieving technical knowledge in real time.
Unfortunately, in real life, the one hiring process I went through that required a take-home assignment, I realized at the end, I wasted my time doing it, because ultimately it was not deciding the outcome, but a regular in person coding session was. I assume this is because you never know how clever people can be in cheating remotely, so they can't really trust the applicant did the project.
Now, the way you list your steps in hiring suggests the take-home assignment (and presentation) is the final qualification, not the first screen. Which should be good, if it really is your intention...except...
I see a contradiction in your post. You want a "SWE", a "senior", and someone who already has a "deep understanding" of the underlying platform.
The whole point, for an applicant, of doing a take home assignment is that they can demonstrate their intelligence rather than knowledge or ability to think quickly on their feet. If you don't want that sort of person, and it seems you don't, then who do you expect to apply?
I'm approaching the same conclusion as other people, but I'm trying to avoid explaining it in terms of seniors being too good to do take-home assignments.
Plenty of people in tech hate interviewing, don't have good networks, and some of them have a lot of experience. Maybe not with your tech, and maybe not with a SWE title though. You'd call them juniors, maybe. Or, you'd treat someone who's never been a SWE per se like they didn't know what a computer was.
Something I have never understood was why hiring seems to almost always be following a paradigm of filtering the pool of candidates for a very specific imaginary perfect hire, rather than taking the best candidate available independent of the job and figuring out how to utilize them.
And an afterthought: your use of "rubbish" suggests you are in the UK, while "fully remote" suggests you are seeking global candidates, and maybe your idea of a reasonable salary in the UK for a "senior" nullifies your willingness to hire from anywhere. Obviously there are lower wage areas, but maybe the people you are looking for are mostly in higher wage areas.
Also, just wondering - suppose a candidate takes much longer than 4 hrs or whatever you consider normal. Is that a problem in your mind? Are you screening for that? Are you happy hiring them as long as they don't brag about how long it took, and do a good presentation?
You should be spending hours each day looking for, reaching out, and networking.
Whats the bonus / stock structure?
Whats the product?
Honestly, the process you list only works if you pay well and have great benefits.
Why hide the salary if you think it's good?
2. Train said person to do the job.
I am reminded of a thing I had an Accenture a couple years ago where they kept passing me along to people and the last one came with an offer and it was too late, I had just taken another offer.
I would try a 3 step process.
Stopped reading right there
2. Make it a paid technical assignment. I don't think your process is unreasonable except some may object to the assignment. If you make it paid it is much less objectionable.
awful idea...
I wouldn't even apply.
why not?
I don't consider a person senior until they hit 10 years and even then they are just starting their senior journey.
You don't get 15 years in if you can't code.
I've got 30 years in a career I love, writing code and architecting solutions.
I've been on a bunch of shitty interviews and have done countless interviews myself. It's difficult for everyone.
With senior people you are being interviewed as much as you are interviewing them.
Tests and take home coding projects work for guys under 15 years, but I hold them for a last resort if I'm on the fence with someone.
Senior guys have a lot of options, are looking for the right fit. A one size fits all interview process is the worst thing you can do to attract that level of talent.
Once you are past the "is this person a team player, easy to work with" part. Then look at their work experience. That should tell you a lot about their coding chops.
Really for senior people it's more about their level of expertise and problem solving abilities. For this I ask probing questions, based on their resume. Starting with easy, general questions. If they nail each question I get recusively, progressively more technical as I drill down into their last answer until they satisfied me or I've identified where their expertise ends. You very quickly see if the person just studied the topic or lived it.
There is alot to interviewing people and should only have your best people doing them and you should get them some training if possible.
Elon Musk says, he knows if he has a real candidate infront of him if they can talk about the details of their work. The deeper you go, the more detail they can give you because they actually did the work. People who speak ambiguously or can't explain the details didn't do the work.
The fact that you are asking the questions proves you know your process might not be working. That is a strong indicator that you are on the right path to fixing it.
Remember senior guys have options you have to win them not vet them.
In your opinion :)
I have only ever had one actual 4h assignment that took exactly 4 hours, I was amazed. They actually wanted me to spend more than 4 hours.
I also had one assignment that had a bug in a particular library that was supposed to be used, I spent 4 hours solving that bug, at the end of which I could then have spent 4+ hours to make the solution.
but most assignments are in the 6-8 hour range while advertising 4h.
Part of the reason for this is most assignments are supposedly wanting you to make quality solutions etc. which is at odds with the supposed reasons for you to take assignments which are, as I have heard it stated, that a large number of programmers don't know how to program or program so badly it isn't worth hiring them. But take home assignments are not just that you can program (so you don't make the mistake of hiring someone who then sits around for a few months not contributing before you fire them) but also that you can produce quality code, that is to say it is really worthwhile hiring this person.
think about it, you want to hire a senior, but you think a 4 hour assignment is going to really help you determine that they are a senior? I remember a fellow I worked with once had a ballpark rule that the smallest time a ticket could take would be half a day, so 4 hours. Why that? Well once you added in reading the ticket, asking about any not well specified parts, made your branch, did the code, tested, made pr, accepted code review, you were almost always at 4 hours. (it was only a ballpark rule, obviously there were some 1 lines, typos etc. that took less but most often 4 hours was a trivial ticket)
So you are able to test the quality of a potential hire by giving them a trivial ticket?
So this leads to people 'cheating' on the assignment, doing more than 4 hours. So maybe 4 hours of coding, but then cleanup, then maybe modularization, then documenting what you did sending back the message etc. This was basically what that 4h assignment that really was 4h I discussed earlier wanted, they wanted me to make everything pretty after I finished. They asked me if I had another hour what I would have done, I guess at that point if I still wanted the job I would have said I would have done these things but instead I said I would have taken a nap because I finished the job as described in 4. Because, he I am willing to take a little test or something to prove yes I can program but not waste 4 hours of my life.
I also have a family as has been pointed out is a real filter on people being willing to do this.
I'm pretty senior as an architect in my field and I ask things in interviews like when their last round was, staff size, runway, revenue - basically like I'm an investor, because at this stage of my career that's exactly what I am doing. If that sounds funny, consider that there are LPs participating in seed and A rounds for less than the value or revenue a key hire can deliver. Obviously, I'm not an investor, but consider treating senior talent like somone who is investing in your company and they may open up. You don't have to kiss anyone's ass, and arguably a lot of perks are kind of patronizing above a certain level, so just treat recruiting as a business deal and not a patronage application. A lot of recruiting processes optimize for finding people who don't know what they are worth, and often at the expense of finding the people who really are worth a lot.
Also, this is for finding exceptional talent for near term outcomes in the growth phase of a company. Once your major growth phase is behind you (e.g. an D-F round to get you over the line to an IPO or an acquisition, or you are an institution) I'd recommend moderate and steady hands who can manage and scale jr's, and not a fireteam of tactical operators. Consider whether you just need better mid level managers who can really leverage a team better instead of more experienced IC's. A good IC is gold, but a good manager is a refinery.
Someone who is still an IC after more than a decade in the field is going to be motivated by solving interesting problems that actualize them, so perhaps lead with your hard problems. Someone senior understands organizations and starts with second order thinking, so tip some of your strategy and business model to them to let them apply their experience.
Individuals who are really, really good at something are usually good at it because they were optimizing against a constraint. As in anything, technique is an artifact of constraints, so consider that the very best technical talent is likely going to have an albatross of some sort. Look for minor contradictions, inconsistencies, and rough edges that created a situation where they have to be at least 2x better than anyone else in a specialty just to sit at the table. Their value has to offset their roughness for them to survive, and whether its conscious or not, that's often how they signal it. Many of them are more outdoor cats than indoor cats, as all the strategic sr. indoor cats are already managing directors and SVPs somewhere running people and not machines, so maybe see if you can lure someone out of a successful consulting run with some recognition and respect, and let them meet your execs. Post exit or significant culture change they will attrit out, but it's to mutual benefit.
Just a few ideas, but being attractive isn't a transaction, it's demonstrating that you are growing and how someone can be a part of that trajectory, so really attracting talent is the effect of showing promise.
If anything they are much more time efficient than the alternative - grinding dozens of hours of leetcode in preparation of live coding challenges. In my experience that is pretty much the sole alternative.
There usually is a generous time frame for take homes of at least a couple of weeks. This is so much better and more flexible than coding challenges - not to mention coding rounds usually take several hours for the multiple rounds. Basically there's no time disadvantage at all for take homes.
Also speaking as a recent dad, so I get the time constraints.
1. I would not want stock or stock options, i don't care who you are, for compensation. 2. Taking care of the commute for me would be very very helpful. 3. You might offer to pay-off my outstanding student loan balance (it's 6 figures at this point) up front. 4. You must favor LGBTQ+ staff.
And yes, I'm sure I won't get hired with this list, so I'll just stay 'retired' as it's easier and cheaper.