Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Take-home technical assignment (~4h) or similar at candidate's choosing

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.



The thing with 4hr technical assignments is that you're saying no to anyone with kids, which I'm going to venture applies to more senior people than juniors.

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.


> The thing with 4hr technical assignments is that you're saying no to anyone with kids, which I'm going to venture applies to more senior people than juniors.

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".


As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews. If they give you the assignment and it's immediately obvious that it's actually a 20+ hour assignment, you can always just walk.

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.


No it's not. When i do interviews in-person (even if virtual) , I get the benefit of meeting my future colleagues and learning more about the company. It's much more a two-way benefit, versus an assignment where only one party (the company) gets any information from the other (me).

> 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 fully agree.

> 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.


> 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.

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.


So maybe allow flexibility in the assignment? let the candidate choose between previous work, home assignment or on site?


Your last point is the most salient for me- I might be willing to do a long coding assignment if I’m already confident that the company has invested time in evaluating me individually and that an offer is likely, but I’m disinterested if I don’t believe I’m at a 30% chance or greater of getting an offer.


I’ve seen a lot of full-day (realistically 4-5 hours) interviews end in a no-offer. This is obviously true for one-of-one positions (CISO and other singletons), but even for one-of-several, candidates sometime bomb.


> As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

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.


What sucks though is when companies say 4 hours but then give extra credit to projects that clearly took more than 4 hours.

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.


This is maybe overly cynical, but maybe they want people who say (to themselves, if nothing else) they did 10 hours of work in a few hours? Easy to keep people feeling inadequate and working overtime for free.


This kind of frustration is what got me into writing open source. I wanted an open body of work to point to that I could reuse from one employer to the next that proved I knew wtf I was doing.

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.


The last time I was actively looking for a job (instead of being recruited via my network), was in 2016. Looking at my spreadsheet, I was somewhere in the process of interviewing (phone screen -> in person -> waiting for an offer) for 15 different companies. Why would I ever have jumped through hoops if they were all paying about the same.

I took the first one that met my compensation/technology/commute requirements. Back then, one Enterprise CRUD job looked like any other.


> Back then, one Enterprise CRUD job looked like any other.

They still do.


Exactly this - it is incredibly disrespectful to peoples time, it's impossible to do a few interviews like this.

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.


To put it another way, it may be selecting for the candidate who wants exactly this job and none other.

Loyalty becomes the main criterion.

I have mixed feelings about this, but I can see why employers might want this.


I agree, but "loyalty" doesn't sound like the right word.

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.


Fair.

I was trying to be charitable. :)


As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

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.


To be honest, at some point if someone wants to work at Google and can get a job at Google--especially if the name and/or the salary is what they really care about--it's probably in the best interest of a lot of companies to just move on.


I'm sure that's true but another point I was trying to make there was that IME even top tier companies exclude a significant proportion of good developers by having excessive hiring processes. The kind of applicant who could get hired by those companies doesn't have to put up with those processes and at least here in the UK the pay at even top tier companies with annoying hiring processes isn't so much better than everyone else that it's worth the sacrifice.


In the US, there's probably a pretty significant delta between top SV big tech salaries and a lot of the rest. Of course, those companies probably exclude a lot of competent developers and other companies can offer other opportunities besides just salary that big tech can't (more interesting projects, less of a hiring gauntlet, smaller scale, etc.) But if someone is willing to and can get through the hiring gauntlet--and really cares about the comp--it's hard to compete.


> 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.

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.


I'm with you on this. If you don't have a repo you can share, then a take home exercise seems like a reasonable alternative. Its about being respectful on peoples time, while still recognising the need to 'validate' claims of experience.


I didn’t have any open source work from 1996-2020. What I did have was the an active network and the ability to dig deep when asked about my prior projects/accomplishments.

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 lot of people do not have a public portfolio however. Whether for writing or for code. (For perfectly valid reasons.)

Of course, portfolios are a perfectly reasonable expectation in a lot of professions including the trades.


Totally not equivalent in my view. In traditional interviews, I’m also interviewing the company to see if I want to work with these people.

A take home assignment only shows me that they like unpaid work.


> As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

_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.


> As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

Don't forget to multiply that by however many companies they're interviewing at.


IME, the 4 hour assignment comes at the 'coding interview' stage, and most companies have a full day of interviews right after. Compared to companies with a one hour coding screen... by the time I even would get to the 4 hour assignment I likely already have three or four ful day interviews lined up


> IME, the 4 hour assignment comes at the 'coding interview' stage, and most companies have a full day of interviews right after.

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 something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

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?


If I'm looking at one place, I'd agree with you. As a senior I get multiple companies interested in me. If I want to evaluate 8 different positions (not unreasonable with somebody of decades of experience), you're asking me to invest 32 hours in your simple 4 hour test.

Hard pass.


> As something of a counterpoint, a literal 4-hour assignment isn't that bad--especially as an alternative to a day of interviews.

An assignment is no replacement for a face to face interview.


> like a fool I recently went through an entire day's worth interviews for a role

whats the alternative though. why do you consider that foolish?


I personally 'rank' my full day interviews. I put them off until I have a good sample of companies lined up. Then I line up my 'best' company first, and the 'worst' company last. Basically, the goal is that by the time I get to the company i'm not as interested in, I have an offer from another one. That way I can frankly tender my resignation in before I get to that interview. I may or may not complete the last interviews depending.


In my case I didn't do a satisfactory initial call with the recruiters to ask them what the interview was going to be about, the level of the folks asking the questions and the possibility of doing it over a few days. They pulled the "we're excited to move forward..." trick, without saying too much about having to talk for 6 hours to very junior devs.


> Alternatively, perhaps pay people to complete the assignments.

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)


But going onsite or remote interviewing for 4 hours is more reasonable?

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.


The advantage of interviews at least is that it's two-way. That's time out of their day as well as mine. When I'm interviewing at a company, I'm also interviewing them to see if I want to work for them. Doing a take-home assignment is completely one sided. It takes up my time but basically none of theirs and it gives them information about me, but not the other way around.


>But going onsite or remote interviewing for 4 hours is more reasonable?

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.


All of the above, also

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.


Anecdotally, as someone with three kids I'd much rather do a take-home 4 hour assignment than the usual round of interviews since I can work the former into my schedule however I like.


Agreed. Take-homes we’re greatly preferred by our candidates with families because they could be done on a weekend or in their spare time.

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.


Alright, and if you are actively interviewing and trying to get offers lined up at the same time? while also continuing to study some system design concepts and algorithm brainteasers?

Its not a one 4 hour take home project. Its the fifth one.


Also, is this a good week or a bad week for the kids. Cause if someone is sick or teething, well it’s not the same as any other week.


Same here, this is way easier to manage when I work on this vs on site or video tech interviews. Especially with companies who expect you to "prepare" for programming quizzes with long leetcode grinding ala FAANG companies..


I recently did a 6 hour take-home, but was given an expectation of around 2 weeks to accomplish it, with flexibility for more if I needed it. I thought it was pretty fair compared to a never-ending round of tech interviews.


My experience with that is:

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


Totally agree that this will be something lots of places might do/expect. I will definitely work against that and judge them by it.

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.


That's too bad, in this case I had a particularly good experience. I handed in a tarball, not a repo, so they didn't track time. No idea what other candidates did, but I got specific and positive feedback on the code submitted. The task was pretty carefully thought out and presented to not lean too heavily on specific patterns or techniques. All of your experiences do sound particularly frustrating, I wouldn't be too excited with them either!


> sometimes via the expectation that you commit to the git repository from start to finish

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.


> 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.

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.


It’s easy really. Walk. As a senior it’s insulting to expect to do a four hour take home test. When you hire a Michelin star chef do you make them make you a four course meal to prove they can cook?

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.


> When you hire a Michelin star chef do you make them make you a four course meal to prove they can cook?

> 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.


Shouldn't a CS degree from a reputable university then just replace all the screening that is made for people without relevant degrees?


As someone who teaches CS at a reputable university, I can state with certainty that we graduate a lot of students who have no clue how to code.

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.


>a lot of people who have degrees have no clue how to code

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?


It works like this:

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.


> They find ways to cover up the fact that nobody is learning to code properly

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.)


Yep, that's exactly it.

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.


In that case I think we really do need the software engineering equivalent of the bar exam, as another commenter suggested.


It'd probably just create new problems. After all, degrees are supposedly regulated by governments already, but they aren't doing it properly. Why would some state-issued license be any better?

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!


American degrees are decidedly not regulated by government. Professional groups and accreditation agencies perhaps, but not having a professional certification doesn't prevent a university from granting said degree. It's just one that some companies may not accept


CS != coding, but CS combined with coding practice is an excellent basis. Now, how many of those graduates that managed to work in a software development job afterwards can still not code a couple of years later?


I did quite a bit of recruiting for a software team in a large company. I can tell you that years of experience do not guarantee good quality code.


I never claimed that CS == coding, nor did I claim that CS graduates can't learn to code. All that I said is that a CS degree alone is not a sufficient substitute for screening, in counter to the grandparent comment.


only if you're hiring somebody to be a CS major.


Who would hire a chef without trying their food?

And a surgeon needs accreditation from the state.


I immediately decline if a company asks for unpaid work as part of the interview process. If it’s paid I don’t have an issue with it. I assume if a company starts the relationship with asking for unpaid work that expectation will continue throughout your employment.

There are simply too many companies hiring that don’t require this that it’s easy to just pass.


> I immediately decline if a company asks for unpaid work as part of the interview process.

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.


Actors must audition before they are chosen for a role. Sometimes several times..


Yeah, these are called technical interviews, and they usually take an entire day. I spend at least a two weeks studying for these before every job search.

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.


If no thanks then why complain about 4 hours each? You are going to pick and choose the interviews you are going to do so what exactly is the problem if you say no any or all of them?


> Ask HN: Having trouble getting senior applicants, wondering what to do about it


Yeah I don't do these. I only do on-sites if I have a clear desire to work for the company. At the place I'm working at now, I did not do an onsite. At the place I was at previously, it was clear they were giving me an offer before I did the onsite, since the onsite was basically a 'get-to-know-you' thing. That's fine. On-sites serve a purpose of making sure you're not making a terrible decision. I actually made the decision this time to do two on-sites which is rare. This was because I had colleagues from previous positions at both locations and I honestly wanted to get a good sense.

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.


I don't know what exactly OP is assigning to applicants, but in my experience a "four hour" coding assignment can be completed in an hour or two - and they don't have to be consecutive hours, it just means four hours is your limit and you have a few days or a week to complete it in.


I had a 4-hour assignment requiring a full weekend (10 medium to difficult queries on an unknown 20 table database and document with business analysis for the query results + additional code to extract from api and save to db with your own schema + additional queries on top of this).

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.


Yeah it doesn't matter. The truth is that when you give an assignment like this, you want me to invest up to four hours in it, while you don't want to invest a single minute of company engineer time watching me solve it. Basically, you're expecting more of me than you are willing to give yourself. That's a huge red flag.

That being said, even if it takes an hour, I still have to allocate 4 hours for it.


I had one take-home "4 hour" assignment that required me to install two different, poorly documented, third party packages on my computer before I could even begin to write the code. The Java-loaded piece of junk that I needed didn't work with my existing setup, and I wasn't going to rebuild my entire system just for some arbitrary assignment. It might have been "4 hours" if I already had an environment with all the extra cruft that they used, but if I had to fart with VMs or rebuild my machine? No, just no.

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.


I actually asked a company that had already offered me a position recently if they had a technical test. The one they sent me was clearly stated and it was easy to configure everything needed. If it had been otherwise I very likely wouldn't have accepted the offer.


In my experience a (not timeboxed) 4 hours coding assignment will actually take at least a day.

Is not necessary malicious from those companies, they just underestimate the time their test take.


IMO, most engineers massively under-estimate the time it takes to do "simple" tasks if you don't already have the infrastructure/environment set up for it.


And some times they assume specific or latest versions of some platform because they are currently working on it. I remember some flink take home required some latest api, while i have worked with flink in earlier versions. It took me 4h just to go through the updated documentation, while it was supposed to be an 1h one.


This is why I prefer in person coding exercises. You can do 1-1.5 hours of a "4 hour timeboxed coding assignment" and the interviewer will usually be happy that theyve seen enough and that you're not too slow coz they watched you do it.

Thats 3-8 hours of your life back.


This must depend a lot on the place.

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.


One more data point here. As a father of three it took me a month to get around to doing a 2-3 hr take home coding exercise. I clocked in at about 2h15m, but yes, really, it took me a month to find 2.25 free hours with the energy required to even begin something like a take home coding thing.


> perhaps pay people to complete the assignments.

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.


Two companies have offered me Amazon gift cards, one of them told me that it’s far easier for tax purposes (my understanding is that this is why user research often offers them, rather than cash). I assume they could give prepaid debit cards too, for people who prefer not to shop at Amazon.


I don't know what the law is. Years ago, but I've been paid for doing a focus group in cash. So there's presumably some threshold where you can just have essentially a petty cash business expense.

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.


> So there's presumably some threshold where you can just have essentially a petty cash business expense.

$600


How surprisingly sensible. :-)


Except now the IRS will be watching bank accounts for any transaction totaling over $600 to combat this loophole. Good luck!


They don't need to watch bank accounts. Companies are supposed to issue 1099s for payments over $600.



Documented anywhere?



>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)


In the US, you probably need to issue a tax form; this can be handled through a third party but then is a bit of a pain for the candidate. (I've had it work this way as a consultant on the side.)

Depending on the potential employee's contracts and business rules, doing a side project for someone may or may not be 100% kosher.


Disclaimer: I'm not a tax consultant, check with your accountant

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...


In the US, you might end up having to send a whole bunch of 1099s, which I am sure would be a pain.


under $600 you don't need a 1099


I once applied somewhere that had a 20 minute pre interview test thing. They rejected me after the test but gave me $50 free credit for their service (sticker printing). I was reasonably pleased with the stack of stickers I received.


> it's a huge pain for the new employer's payroll

They're the ones giving take-home assignments.


I've had companies get around this with gift cards. I did a application-project and got a $300 amazon card (I think). This can come out of someone's general budget and doesn't need accounting to be involved, and can also (plausibly) treated as a "thank you" by the applicant, not income.


I've interviewed twice at a place that pays for time spent in the technical assessment, since it involves writing actual production code for them, and never had any issues on my end. I'd rather do this than grind leet code for 2 months.


Why is it a pain? Not a payroll consideration, as they are not an employee (yet). Isn't it just a simple $600 max Form 1099 independent contractor situation? Small administrative burden to find the right senior.


"The thing with 4hr technical assignments is that you're saying no to anyone with kids"

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).


> "The thing with 4hr technical assignments is that you're saying no to anyone with kids"

> 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.


Take home test as the first step in an interview process is the ultimate evil in this. I've spent hours then got ghosted. I will never do it again. This is a "run like hell" signal imo.


I've heard that before, and if we felt there was a significant risk we were putting off good devs from applying, I'd reverse that decision. But I like to think we made our tests a fun & interesting enough challenge that applicants were happy to spend the time doing them.


This might be fine for hiring juniors but I can't imagine many experienced applicants would be interested in gambling their time away on your test before any interview.


Actually I've never been heavily involved in hiring a junior. Even at my own level (>26 years prof. experience) I'd happily do a test before a formal interview (though I'd likely want a brief chat with someone from the company to get a feel for what sort of shop they run first). And I would be judging the employer on the quality of their test.


Lol read the responses here, you're kidding yourself.


I've read some. Doesn't align with my personal experience is all I can say. I can't remember a case where a candidate refused to do such a test, or that we never heard back from after letting them know that was our policy.


That's because those qualified candidates already saw enough proxy signals from you that they knew it wasn't worth the time to apply. Selection bias.


Possibly, but we introduced the policy simply because too many candidates were using up our time with interviews where they appeared to be knowledgeable etc. but then quickly demonstrated with the take-home test that weren't going to be a good fit for us. I'll be honest, there weren't really enough data points to take any grand conclusions from the experience, and this was all pre-covid etc. I'm moving to a new role soon and I'm expecting to get back into being more actively engaged in screening new hire candidates etc., so I'm sure I'll learn more as I go - some of the points raised in this forum have definitely given me pause for thought.


Instead of allowing 24 hours, I prefer to agree on a start time with the candidate, schedule the email to go out at that time and expect to receive the reply two hours later. That way everyone has the same amount of time.


Yes, I'd used that method too, but I'm not sure how many developers do their best work when told they have 2 hours max to complete any task. In fact we never put any recommendations on how long the task should take, just that they had a 24-hour window in which to come up with the best submission they could. In some (rare) cases submissions that didn't technically complete all the requirements exactly were considered more favorably than ones that did.


> 11:00 PM sleep until 6:30 the next day

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.


My wife doesn't work. I sleep with our older daughter. My wife and baby co-sleep. Babies sleep much better when they're nursing, but it does mean my wife gets more interrupted sleep, which is made up for by the amount of sleep she gets each night, which is much more than me.

This arrangement works for our marriage. We made a conscious decision early on to not both work.


We did the same. I had to sleep otherwise my job would have been unmanageable. It's one thing to move furniture, or be a manager, and it's completely different to have to actually write complex code and deal with hard engineering problems while sleep deprived.

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 don’t know, I’m single, in my 30s and there is just no way in hell I’m taking a 4 hour take home assessment. I guess my only exception to this would be if was a job & company I had always dreamed of working at ever since I was a child (extremely unlikely). If I did take a 4 hour assessment and got the job, I would require an additional sum to my signing bonus for the time taken on the initial assessment (something like 1-5k depending on the role/industry/negotiating power I have).

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 smiled reading your comment. You seem like a good partner and father. Keep up the good work.


"The thing with 4hr technical assignments is that you're saying no to anyone with kids". - or maybe they're saying "Yes" to someone who works from home and will do it while being paid by their current employer? ;). Which could mean (a) their current employer has mistreated them and "deserves" this to a certain extent, or (b) they'll do the same kind of thing and other naughty things on work time, if they get the job?


Funny how similar our days are! There is however the weekend for stuff like this. I assume an interested employer would be willing to allow that.


Sure, I could potentially do this on the weekend, but would still require work. For religious reasons, I do not work on Sunday and I make no exceptions. Sunday is for socializing with family and friends and doing nothing.


I was feeling like s..t for not returning to assignment to one of these companies. I had a week and still didn't find time. I'm just not going to accept them in the future, it makes me look bad for no good reason.


Why is it people with kids can handle a 2-3 hours long interview on-site + travel that probably required taking time off work but can't handle a 4 hours assignment that they can do whenever?


I don't have kids, but I feel like solo coding comes out of a different pool of mental energy (more introverted, flow state) that I only have so much of. If I do a take-home for a potential employer, it's likely taking it out of the energy I have for my current one

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.


FAANG type interviews are all day affairs with 5+hr of interview and breaks in between. Senior or not. I don't see anyone getting hired in 1 hr.


I had a 1hr chat with the hiring manager (and two others on the call) representing my current client for a 12 month contract.

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.


In person interviews typically also involve being given lunch.


Can't you just quit and enjoy some time not working? Then suddenly have 8 hours a day which fits the 4 hours of coding assignment.


Quitting a job before you have another one is stupid.

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.


So why have huge salaries and savings if you don't get to enjoy it? That's stupid as well.

Being unemployed as a SWE is not an issue at all.


I have a similar schedule with 2 kids so I totally agree with this.


I couldn't agree with you more. This is my life.


Seems like a good way to weed out people that are constantly taking time off to deal with kid issues.


> Seems like a good way to weed out people that are constantly taking time off to deal with kid issues.

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.


Yes, then they can focus on hiring those who*:

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.


If an employee wanted to work from home or take a half day off to take their pet to the vet, that’s cool. I’m glad they take care of their pet and I’ll see them the next workday.


I’ve had moms show up and want their kid to give them a tour of the office, but inquiring about their child’s workload is next level helicopter parenting.


Wait, Is this bad? I usually take my parents on one weekend to show where I work if the office is nice.


Meh, I'll walk happily to the bank with my $400k compensation, while some company pats itself on the back over avoiding someone who spends time with their children LOL.


Oh man, I hope you say things like this out loud so your coworkers and employer can hear you.


This is just the wrong way to think about things if you actually want to hire senior devs. But it's not surprising, most companies are only used to dealing with being in a position of power.


Please tell me where you work so I can tell everyone I know who has or wants to have kids to avoid it


In which part of the world do you work? Where I work, family is a lot more important than work. We help each other and taking time off for our family is normal and expected.


hopefully you forgot the /s at the end of your comment?

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.


I am guessing a lot of folks did not see the sarcasm in this. Either that or I am wrong.


> 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.

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...


This is me exactly. My prior three jobs were based on my network referring me to a hiring manager (Directors and CTOs), us meeting for lunch and talking about their issues and how I would help them solve them. Then me meeting the rest of the team and them giving me an offer.

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.


+1. I literally have not had to interview for a job, not for real anyway, since college. I got hired in 1996 right out of college helping a friend move wherein the hiring manager let me know there was another job there. We'd all come out of the same computer science department. By 1999 I was managing the system administration team (dev ops wasn't a thing then) at company 1.

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.


The further along in your career, the more network matters. My wife and I both find that to be true.


This will not work at FAANG or similar top tier companies. Hiring like this introduces biases. I'd not like to work at a place like this.


really hope they cut out this referral stuff. These guys have turned all of silicon valley into incestuous bro-land. This needs to be made illegal.


It should not IMO (and almost certainly will not) be made illegal. I’ve worked with or near maybe 1000 people in my almost 30 year career. Many of them I’d love to work with again or to refer to friends’ companies. Others, I have the opposite opinion.

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.


Referrals aren't a silicon valley thing or even a tech thing. The first bit of advice you get from anyone when it comes to a job search in any field is to leverage your network.

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!


Referrals mean very little at large tech companies. They basically just guarantee you an initial screen. I’m bombarded with enough recruiter BigTech spam for jobs, I’m sure getting an interview at another one wouldn’t be a problem.

I’m also much older and darker than your stereotypical “tech bro” and they actually put me in front of customers. Imagine that!


Not sure why you are being downvoted. I share your concern. I'm a minority and moved to the US some years ago. I don't think I share the same college connect or social connect that people have. This puts me at a disadvantage for these referral only hires.

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.


Absolutely agree. People with 10+ years, a good network and decent resume pop their head up above the parapet and get instantly mobbed with offers. They're on the market 2 weeks, tops.

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.


I agree 100% and imo is the proper approach in such a market. I was trying to explain this to people that the market has changed and the hiring pipelines must be simplified and significantly shortened and i kept getting the opposite outcome, more rounds and more time to make an offer to good candidates and eventually "we cannot find anyone, keep looking".

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.


> We're moving to 1-stage interviews, offer on the same day. Higher risk but we have no choice

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"


The counter to this is not extra interviews but increasing the importance of the people in the interview. A one pass, 60 minute interview with the CEO and/or CTO on the call tells me a lot more about the kind of company.

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.


I never understood why people are so dogged on hiring - just get a senior consultant - pay 2-3x and save the equity. it's faster and in the end the expenses level out (cost of hiring, 401, insurance etc.)

Make the contract with 1 months notice both ways and it's pretty much for all intent and purpose a hiree


For startups, equity is cheaper than cash. Cash has to actually exist in a bank account and be transferred out, equity is essentially imaginary.


based on term and employment conditions (ex: onsight for years) they run the real risk of retroactively being classified as an employee. The only way to avoid this is to hire a consultant who comes from another company... where they're typically an employee, so someone else solves the problem.


> A one pass, 60 minute interview with the CEO and/or CTO on the call tells me a lot more about the kind of company.

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.


Communication here is key. If the process is described well and reasons explained, I believe it could work just fine.


It may seem odd, but I experienced this. I'm starting a new job in a few weeks and, while my path was definitely eased due to an internal referral, I got the job really easily, which makes me a little nervous, due to either the hiring situation or expectations.


> They're on the market 2 weeks, tops.

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.


Three days. Three interviews. Three offers. Three short, brief chats about the problem. Done.


> My last search lasted 9 days

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.


That is condescending: you are jumping to a conclusion and implying that the person you are answering makes stupid rash decisions. Without a lot more context you can’t know how sensible their decision is. Even with that context, why should your opinion be listened to, and who are you anyway to tell someone else how to run their life?


I am 100% sure there is no way you can actually be 100% sure about that.


Some off ids don’t want to work for FAANG.


> One chap joined (for a few days) and left because he had started somewhere else at the same time - they won out.

Wait what???


I think this will get more common with remote working. Start a new role, then dump it if one of the other searches turns up a better one.

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.


Yeah reputation is still a thing...


You should be happy for them.


Let's see if you say the same thing when you interview 10+ candidates and you accept one like this, rejecting all the others since you filled the position.


No different from the firm rescinding the offer once the candidate has turned down all his others. Plus it's asymmetric, the firm has other staff that can somewhat do the work, the employee has no income if the job is rescinded.


I agree that that is a reputation-burning choice as well for the firm.


I'm a "senior" (I was 55 when I started looking), and I didn't have a "network," because I was a manager, and wanted to get back into technical stuff (I'm very good at technical stuff, but I was paid to manage). I had a network of pretty heavy-duty people, but they all knew me as a manager, and I didn't want to put them on the spot for technical stuff, since that wasn't how they knew me.

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.


I'm super happy that you found such a fulfilling role!

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.


The Great Rift Valley Software Company[0] is a small corporation that allowed me to use a bit of my retirement money without tax penalties.

[0] https://riftvalleysoftware.com


Could you expand on the tax side of that a bit?

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.


It's a way of setting up a 401(K), that funds a corporation.

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).


Ah, thanks, that helped locate some relevant search results!

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


First I've heard of ROBS, thanks for posting. I would have assumed OP was talking about a Self Directed IRA, which is an interesting account that can do a lot more than hold securities. From my understanding your IRA can at that point own an LLC which then might hold other assets like actual real-estate.


Yes, that’s it. It’s a really good idea to use a company that specializes in this stuff. They take care of all the accounting and legal stuff. My own accountant won’t touch that stuff.


I think you can do something similar with Real Estate Investment trusts (REITs) depending on your country of citizenship.

More info: https://en.wikipedia.org/wiki/Real_estate_investment_trust#U...


Happy for you, but this is an oddly cynical take. Just because you are 55, you don't get special treatment. If you're interviewing for Staff or Senior Staff positions (assuming that's the role, with your years of experience), it would be discrimination if someone else was subjected to a different interview process than yours.


Well, if you interview senior staff, with the same techniques you use to interview junior staff, don’t be surprised, at the results.

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?


> I never made any technical mistakes. Everyone I hired was technically, up to snuff.

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?


Hey, I won't engage.

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 have victim mentality. Odds aren't stacked against you, most people in this industry don't care how old you are. Though statements like this show that you would be a hard person to work with: 1. There seems to be considerable resentment towards us older folks. 2. 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.


awesome story, what kind of non profit do you work with exactly?


We are a small 501(c)(3), creating an app that is aimed at a particular demographic. It is an amalgam of a simple social media graph, and a location-based event database.

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.


Lol, take home technical assignment. Why would I ever? I'd much rather have a comfortable conversation with someone who has worked with me in the past. I'm never, ever doing a 4 hour assignment for you.


I think "senior" has at least two types. There's the FAANG-alum seniors who are used to and will put up with full-day or even multi-day interviews full of leetcode shit or "gotcha" edge-case quizzes about language features you trained yourself to avoid a decade ago or take-home assignments ("4 hours" sure except the other candidate put in 12 hours and lied about it, so...) for that sweet, sweet crazy-high comp. Unless you're offering these sorts a CTO position, they're not applying to your non-FAANG-tier-comp-and-security-and-presige company. Period.

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.


> ("4 hours" sure except the other candidate put in 12 hours and lied about it, so...)

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.


> FAANG-alum seniors who are used to and will put up with full-day or even multi-day interviews full of leetcode shit or "gotcha" edge-case quizzes

As a current FAANG employee, I didn’t put up with that bullshit from anyone including FAANG companies.


People say this and I have yet to find a company that doesn't do some kind of technical assessment. 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. So I'm a little happier to have some bar for myself and coworkers to clear.

> 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.


If I'm interviewing at multiple companies and they all do that, that's 4 hours per company I want to check out. And let's be honest, most of these I've been asked to do weren't reasonable to do, and do well, and double check, in four hours, despite the claim. Eight hours is more reasonable to do them properly, usually.

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).


> Like I just can't find the energy to put up with Amazon's 2.5 hour span of unbroken time take-home test

By the sounds of it, that test would be the best bit of your time at Amazon.


I assure you that the sort of person who is qualified for the original submitters job is not doing a “take home” test to get into Amazon. (raises hand).


Haha, yeah that certainly hasn't helped motivate me to go through their process.


You're not responding in good faith with your "boo hoo" comment. No one is crying here. The point here is there are many, many companies that don't require a 4 hour take home technical assessment, and thus people can decide to do them or not.

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.


Exactly the point they're missing - if everyone does it, it's part of the shit sandwich you have to eat. But if you're the only one doing it, there are entire classes of applicants that will pass you by.

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.


> 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.

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


The problem isn’t the four hour take home. It’s the multiple interviews then surprise we need you to interview for two days with our junior engineers all from MIT and Stanford and go over how you think you would improve our systems. Thanks but no thanks.


Agree, I will laugh at you asking me to do anything at home before we have a contract


Like... interview?


But isn't the alternative to take home assignment leetcoding on whiteboards? Last time I was interviewing in the US market was in 2017 and it was literally just these two options. And the assignments tended to be long - like a week long. (tbh there were a few companies that pre-offered and just wanted one general discussion round with the team but they felt shady and desperate, and one was a literal consultancy)

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 think where the disconnect is occurring is that leetcoding on whiteboards, and home assignments are not the norm for many of us who are Senior.

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.


I’m not exactly a “dev ops” person like the original person is looking for. I am the classical definition of dev ops. A software developer who knows cloud and consults with companies on how to develop “cloud natively”.

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.


I have four projects on GitHub with over 50 stars between them. I've submitted PRs for scapy and dnspython. Where's yours, recruiter? Need to pass me to someone? Ok. Good, now we have something to talk about / through. That's the technical part.

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.


I'm "senior" at least in the sense of having been around long enough to be called an old fart. My last two iterations involved:

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.


I've been duped into take-homes a few times. The one time I wasn't ghosted after submitting, they asked me to come in for an on-site... to do leetcode.


If you are paying FAANG salary and giving real stock in a public company, you can insist on jumping through more hoops.

But if you are a medium size enterprise company that isn’t paying that type of compensation, you can’t.


I just wrapped up a take home project. When I was told about it, I told the HM that I withdraw from processes that include a take home. They told me that they understood, but that this one really did only take an hour or two, and that they’d send it over to me anyway. All they asked was that I take a look, and if I completed it, they’d send me a $150 Amazon gift card. I took a look, and it really did seem straightforward (basically testing what I’d expect a live, 30-45 minute DS interview to cover), so I went ahead and did it. I ended up spending 2.5 hours on it, but only because I got sucked into making very pretty charts.

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.


I think I share your interpretation, plus it is possible to scope something small that's (gasp!) interesting. The last one I did was use the company's product to create something and then demo it to the team. In addition to a gift card is was (almost) fun.

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.


I'm happy with the idea of a pairing exercise. I've felt regretful about every time I've gotten involved with a take-home even when my submission was successful, so maybe that's why I'm reacting badly to it here. You mention scoping, but there really has to be a way to enforce that other candidates don't spend more time on it than you do. Otherwise it is a resource consumption contest.


I agree - I have regretted every time that I agreed to a take home assignment, including when it’s been successful. The reason this worked was the HM simply sent me the assignment and asked me to take a look (and clarified that there’d be no hard feelings if I decided not to move forward). I took a look, and it turned out they weren’t lying about it being well scoped!


I always appreciate when they resemble the work the company expects I'll end up doing, because I do actually enjoy the work I do.

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.


>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 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.


Yep, the only way I'll send a blind resume and think about jumping through hoops is if it's a super interesting company I want to work for. Otherwise, I just asked my friends and network and skip all the hiring BS.


I've found some companies are so process bound that they'll go the full set of interview, test, coding rounds even for a personal referral.

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.


>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.

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!


Don't feel too bad. One counterpoint to this is that most companies I've worked at will require even highly recommended employees to go through the same interview process as everyone else, primarily for fairness and diversity reasons.

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.


It goes away at year 15 or so if you have a good reputation.

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.


Same! In case others feel bad reading this, I’m in the same boat. Every place I’ve worked has a multi step interview process and as far as I know referrals don’t get to skip it.

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!


Likewise. I do envy the GP. Currently looking for work, and this has not been my experience.


Same boat but a bit worse: 15 years and a "network" that consists of two people from my very first job as a developer. It is a bit rough knowing that I am so intrinsically bad at networking.


Same here at 20 years. It definitely seems to be one of those things that's not universal to all Senior devs.


> If I can get a similarly-paying job at a place that doesn't do this, I'll skip you.

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.


Not to mention that usually the required time for take-home assignment is 2-3x the advertised one.


I think this is part of the process to ridicule candidates.

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 have not found this to be the case, but I think the usual idea is that if it takes longer than advertised, you should probably stay away from the job.


Offering someone you don't know a senior position without some kind of insight into their level of competence is just a lottery.

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 ;)


Or you could just ask them "What's your library of choice for threading?"

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.


> Offering someone you don't know a senior position without some kind of insight into their level of competence is just a lottery.

So what do you think the rest of the world does? Mechanical, civil, electrical engineering, lawyers, doctors, HR, managers? What makes software so special?


The rest of the world does different things, and software isn't that 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.


> So what do you think the rest of the world does? Mechanical, civil, electrical engineering, lawyers, doctors, HR, managers?

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.


Yeah. They're looking for seniors, but they're treating them like juniors. Then they're surprised that they can't find any seniors.

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.


Agreed. If you give out take-home tests, they shouldn't take longer than an hour.

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.


Not to mention the amount of time it takes to make a good presentation. For a 1 hour presentation that’s easily 8+ hours of work right there.


This seems weird to me. I hear it all the time, but I don't understand. It's a few hours, even as much as a day of effort - to make a huge jump that might be worth hundreds of thousands of Dollars, or perhaps have other major lifestyle improvements. And "if I can get a similarly..." - sure, but is it not worth a few hours up front to find the best job for you? I would happily to 4 hours of work to get a 1% better job.

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?


Because a) it's not 'to make' but 'to possibly make' times APPLICATIONS_RUNNING b) most people on that level will already earn that compensation package.

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.


Most senior (in the traditional sense, not the "7 years experience = senior" sense) people are mostly in jobs where the problem is they are bored, not the compensation.


Agreed. As a datapoint, I’m fairly senior (staff SWE at 2 companies), and there’s absolutely no way I’d do a 4 hour take home assignment. I work long enough hours already, and when I’m considering a job move, I interview at multiple places. No way am I investing that much in a single “maybe” role, especially not when the job market is so excellent for experienced devs.

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.


>actual seniors, not 3-years-of-experience seniors

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


It's a pitiful state of affairs isn't it?


Second the network thing. I've done two interviews in the last 25 years. Mostly it's a 30 minute call or coffee with the group leader just to make them feel ok about the decision they've already made to hire you.

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.


My personal policy on these assignments used to be that you get 4 hours free, and you agree to be billed for the rest at my consulting rate. Now I am down to 2 hours. Most of my network has a 1.5 hour test as a formality, and it's not that much longer than a phone interview.

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've found that for the biggest numbers people expect me to memorize a bunch of bullshit from year three of MIT's CS program, so if anything I think this is better than most.

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.


I'd rather do four hours of a take home exercise on my own time, than block out an entire day to interview with 5-6 people in a row.


Even when I'm not looking I'm always willing to followup on the latter sort of interview opportunities. You never know and they're pain free for everyone involved. The value to both parties having each other vetted by a trusted third party is huge.

I'd only do the standard style interview if I was desperate for a job.


This. Four hour assignment? That's a hard No. Unless you're very clearly offering something far above the norm (in either total comp or autonomy or working conditions or a combination thereof), I'm certainly not going to bother with your interview process.


Seriously. Pretty insulting to assign a senior a 4 hr take home assignment when the hiring manager can just pick up the phone and talk to references, look up authored papers, etc. Ridiculous. Glad the tide is turning in favor of workers.


I think I might (for non-network referrals) respond with "my hourly rate is $XX".

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!


Replace that with "my hourly rate is $XXX" and you will be good. Developers tend to under-charge for consulting, and this interview is likely to be a very short-term gig so you should charge more than you are worth on a long-term gig.

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.


Snarky responses in interview processes like quoting an hourly rate might seem attractive but I urge you to avoid them. The best case is probably that it immediately ends the process but you get a moment's satisfaction. However you could easily be seen as unprofessional and that damage to your reputation could come back to bite you later when you're applying for something you really do want. If someone is asking too much just turn them down politely and move on. No need to burn bridges.

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.


Unprofessional? You are offering very bad advice. If your work is worth that much, don’t give it out for free to people who don’t recognize it.

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!


If you have been paid $2500 for a 4-hour tech test then I'm sure a lot of people reading this would like to know who paid it. Most employers certainly won't.

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.


It's not unprofessional, it's setting expectations.

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?


It looks like the take-home replaces a full day of 1-1 interviews. That does seem reasonable (though I personally think it's the wrong trade, and the 1-1 interviews are more informative).


One - is this made clear to the candidate, two - "presentation to the team" - if the team is four people, that's four chances to be rejected from the position, which is the same as the "multiple 1-1 interviews back to back" gauntlet. Does this presentation also require preparation work?


OP mentioned its a run-of-the-mill mid-size enterprise software company, which should rule out any necessity on their part to run full day interviews a-la FAANG. A 4h project would then be very overkill unless they're extremely confident about their technical ability


It's asymmetric warfare, as the interviewer gets to clone it... like software... and then demands proof of work from the applicant.


A place I interviewed at wanted me to code a functional date picker using React - without any design frameworks and with a very specific CSS. I still think they just needed a date picker.


I have kids and I can find 4 hours for an assignment. It's painful but for the right company, I'd do it (I did and I'm glad).

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?


Agreed. They're nonsense. They either test irrelevant capabilities that anyone with Google and Stack Overflow can solve, or they are hoop-jumping for the sake of it.

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.


We solved this problem by paying a healthy hourly rate so that candidates don’t feel taken advantage of if we don’t move forward with them.

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.


I just skipped a 30 minute take home multiple choice test. After the second question I could tell this wasn't really testing my skills and was just a hoop to jump through. Could've googled the answers but decided if this is their strategy I didn't want to work there. I emailed the recruiter and declined.


I agree, but if the assignment genuinely replaces an on-site and the recruiter and hiring manager make that clear, I'd consider it. If they don't, consider there doesn't seem to have been a technical phone screen, I'd assume it's just a first step, and I'd pass.


I often have to ask people that have no code I can look at to do a take-home. I do not have a choice. What I do have a choice in is paying for their time at an above average rate I would pay a contractor, so they know I value their time.


Hardware companies manage to hire people without giving them assignments all the time (lets not even talk about management, HR, counsel ...), what makes software companies so special that they have to do it, except maybe that they can?


There was a time window where they could get away with it. This time window seems to come to an end now.


I might be okay with a supplementary assignment (depending) but I definitely need an interview. With an assignment I don't learn much about the team and thus whether I really want to work there.


Conversely, to some extent I can't specify, if someone senior does applies to a "regular" job, it might mean their former coworkers don't want to work with them...


The upside is, this is literally the answer! Just remove this step and the rest of the hiring process is more or less fine.


I would not do homework on principle. Life is too short and the company doesn't know how to hire senior people.


Hard pass for me too (and I'm not senior). How about they spend 4 hours looking through your Github instead?


Nice! More gatekeeping in the tech world. "actual seniors" vs "seniors"


How do you structure the interview to make sure they are any good, though?


Exactly. Senior devs have choices already. Another nope on the assignment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: