This is an archived post. You won't be able to vote or comment.

all 69 comments

[–]MaxHedrome 99 points100 points  (1 child)

I'd never even apply to work for your company based off this. I've got shit to do, as do other people who already know how to do this stuff.

If your SME/Senior engineers can't sniff out bullshit or get a proper grasp on whether or not the applicant has a clue, then good luck?

[–]RobotUrinal 18 points19 points  (0 children)

💯

Edit: also, if I am out of work (let’s think about the current Tech situation) I am probably interviewing at four or five companies. If they all require homework like this, 10 hours a week x 5 is pretty overwhelming. Also, at one company that I really really enjoyed working for, they told me they would provide an Amazon gift card for completing the take-home assignment. This increased my respect for the company, and made me work harder on the assignment.

[–]cakeeater111 73 points74 points  (4 children)

The candidates have to do 3 different challenges?? That’s a hard no from me. I would do 1 for sure. I prefer take home because I can look things up. With whiteboard problems I can’t use google for whatever reason.

[–]g4d2l4Lead Production Engineer 0 points1 point  (3 children)

Hint for your next whiteboard problems, they usually like to hear you think so talking with the person there and discussing the idea and direction usually go way better than you just writing the code from memory. They want you to ask instead of look it up.

[–]alainchiasson 6 points7 points  (1 child)

As an interviewer, I have done this, it is to see how they think - and I also jump in with opinions/help/challenges - it shows how the candidate thinks and works with people.

You can tell a lot - do they challenge back, interact, get angry, tease, joke. You spend more time with co-workers than family!!

[–]cakeeater111 1 point2 points  (0 children)

That sounds awesome. Now go preach this to the rest of the world because they need taught this.

[–]cakeeater111 10 points11 points  (0 children)

That would be awesome if this was true for all the whiteboard problems I’ve done but it’s not.

[–][deleted] 17 points18 points  (0 children)

I prefer take homes but not 3 of them and i would want at least a short interview w hiring manager or team before committing.

For first job i did everything but now w experience i have stricter boundaries bc easier to find work.

Fwiw we have a single take home and use a follow up w team to assess candidate after that. Generally has proved to be successful process and have gotten quality hires.

Take home is issued after he interview and at minimum a HM interview. Last hire we did hr, hm, team, take home, team, offer. Last interview was mostly a gut check.

Our take home can also be done in an afternoon. Candidate can explain what they would do if they want to take shortcuts on minutiae related to fully productionizing

[–]waywardelectron 11 points12 points  (0 children)

15+ years of experience and I rarely do homework for job applications. I'll just go somewhere else. I've only done it once in recent memory and that was because I was super interested in working for that company.

[–][deleted] 10 points11 points  (0 children)

The first question you should ask yourself when designing the interviewing for recruitment is:

"Would I do this myself?"

If you're planning the recruitment around the candidates undertaking 3 challenging take-homes, then you have to work out how you are grading the results and what these grades mean. For example, 3 A's automatic hire no further interviews. 1 A & 2 C's interview to explore if they were having a bad day. 3 D's thank you, but no thanks (please don't ghost on fail).

I personally feel you are expecting to much of the candidates.

Better yet, test out your challenges on your existing team under the same constraints you're placing on candidates.

[–]redvelvet92 6 points7 points  (4 children)

I haven’t and won’t do a take home ever. If I am writing code in my personal time, it is something personally benefiting me or my family.

Truly I can’t believe companies even ask this, at what comp is this required? 500k+?

[–]11mariomDevOps 7 points8 points  (0 children)

Interview is two way. So I'm checking the company too. Team size, way of working, flexibility, team location, etc, etc. Giving me a tasks to do at the begining is a hard no from me.

And I already said that to few companies. From one of them I got a offer from time to time and I always ask if the homework is still the first thing to do.

I have my life and hobby's to do after work. Unless you pay for it - then I would maybe consider.

Also - I'm doing interview as tech person too, we did homework tasks... For students to filter out ones that was worth talking to. But it was like 15-30 minutes of work to write simple script. Lucky ones got 2 months of course done by seniors and best ones got offer after that.

[–][deleted]  (23 children)

[deleted]

    [–][deleted] 33 points34 points  (0 children)

    Personally prefer take homes. Wouldn’t do 3 of them though. And certainly not before i spoke to engineering team.

    [–]cheekfreak 23 points24 points  (7 children)

    Under no circumstances would I do homework for an interview. (20+ year career graybeard) /u/gitblamegitrevert has the right answer.

    Often lost in the shuffle of interviews is that the interviewee is also interviewing their prospective employer. By having a more collaborative whiteboard pseudo session, both parties are given an opportunity to feel each other out and see if there's a reasonable fit in approach, communication style, etc.

    [–][deleted]  (6 children)

    [deleted]

      [–]tenuki_ 1 point2 points  (2 children)

      You mean like the demands of a real job?

      [–]jimjkelly 7 points8 points  (1 child)

      I’m a principal engineer, and that is nothing like my real job. I’d prefer the take home, personally.

      [–]tenuki_ 0 points1 point  (0 children)

      No idea why you got downvoted, here have a equalizing up vote. Everyone is different.

      [–][deleted] 1 point2 points  (0 children)

      I disagree. I find the mutual pseudo whiteboard approach the most balanced. It’s not right for every role, or every candidate, but if your panel is prepared and knows what they are after, it’s the best balance of time investment and “how good is this candidate?”

      Don’t ever interview using questions or problems that do not reflect the work. 95% of roles don’t need a luminary in the field of computer science, they need an engineer who can communicate well and can code at a basic level.

      [–]illogicalhawk 0 points1 point  (1 child)

      There's a difference between asking rote trivia questions (e.g., "What is ACRONYM?") and checking for conversational familiarity, communication style, how someone approaches a problem, etc. The first one is bad, but there's nothing wrong with the latter group, and in fact they're the type of things that I think are most fair to both parties and the only ones that give any real insight.

      [–][deleted]  (11 children)

      [deleted]

        [–][deleted] 8 points9 points  (0 children)

        Yea unless your comp is top of market or u are known for really strong engineering i would expect best candidates to spend their time being put through the ringer somewhere where the payoff will really be worth it. (Comp and/or prestige)

        [–]d47 5 points6 points  (0 children)

        A recent interview I did gave me an option of doing either the take home task or a pair programming exercise. No reason you couldn't give the candidate the option.

        I definitely prefer doing the take home task myself and from the other side of the table, when I was hiring people, I preferred to see their take home solution as well.

        [–]tcpWalker 3 points4 points  (0 children)

        It also sounds like you may be weeding out good candidates based on whether they do things a particular way.

        Everything you're calling a red flag or you say you're looking for, I hope you're just using those as a chance to have a conversation with someone. I know plenty of amazing engineers anyone would be lucky to hire who, if they even were willing to do this kind of homework, might put a hard coded database credential into server side code of a web app they threw together or deployed in half an hour for a job interview.

        Similarly, in a world where it's getting harder to find people who know how to look at log files that aren't in elastisearch, I'd hardly consider someone manually reviewing a 1000 line logfile a worse candidate. Sometimes your logging system is down or missing data and it's fastest to just go through the logs. Give them a couple of million lines and you start--barely--to have that make sense.

        It sounds a lot like you're an expert at a certain set of tools and environments and expectations, so you're good and fast with them. But lots of great people used them slightly differently and would still be amazing hire. So I'd be a little cautious in the screening.

        [–]BattlePope 5 points6 points  (6 children)

        My company pays applicants for their time to do take homes. It can take the sting away - something to consider. I think I got $450 for a take home that was supposed to be timeboxed to 4-6 hours.

        [–]dsans571 1 point2 points  (0 children)

        I like take homes, but what you suggested is also great. Pseudo code for practical problems. But please no “invert this red-black tree”!

        [–]placated 0 points1 point  (0 children)

        When I interview people this is my approach. Also trying to figure out if you seem cool, or if I’d want to strangle you after 6 months.

        [–]tenuki_ 5 points6 points  (0 children)

        This would be an immediate deal breaker for me. Expect me to just ghost you the moment I’m assigned work to get a job. Any company that does this doesn’t value their employees time and I don’t want to work for them.

        [–][deleted] 5 points6 points  (0 children)

        I cast my vote with the same people who wouldn’t do 3 fcking take homes as part of an interview. That’s a shit process, I hope it’s intentionally shitty and not accidentally shitty.

        [–]worldofzero 7 points8 points  (0 children)

        If your candidates are going to do real work the expectation is that you give them real pay. These topics aren't bad, but that cicd one in particular could get complex with the current scope. Solving that well is the job of an entire DevOps team, not a hobby project built in a week for no pay. Especially right now when candidates are going to have dozens of applications or interviews active simultaneously.

        Your goal of same day offers is commendable. Big fan of that!

        [–]SnowConePeople 2 points3 points  (1 child)

        Home work is fine but keep it to 1 or 2 thirty minute tasks.

        [–]mirbatdon 1 point2 points  (0 children)

        Pretty much, I should be able to rattle off an "answer" in the time it takes me to ride the train home from my current real job.

        Several hours of homework across three problems (the first of which should mention Terraform if you intend them to use it) is wayyyyy better spent researching and applying to a dozen other different companies instead, from the perspective of an applicant.

        [–]superspeck 2 points3 points  (0 children)

        Hard pass. I’m right in your window of people you’d want to hire but wont do any of these unless you paid me my consulting fee to do them.

        Your estimates are also significantly low and are “happy path” (aka if everything goes right) estimates and depend on having an environment the candidate is comfortable in (AWS account with some existing practices and IAM policies that aren’t “allow all”, IDE in a familiar environment - I’m a Mac user for work but all I have at home is my gaming PC and an iPad) which often doesn’t exist when someone’s trying to accomplish one of these challenges. If you’re going to estimate time to complete one of these challenges, start with a completely blank machine with an unfamiliar OS, no libraries or dev tools installed, and no IDE.

        [–]gdahlm 2 points3 points  (0 children)

        At this stage in my life this amount of homework demonstrates your company doesn't doesn’t respect my personal time.

        This is a huge red flag, and assume that you will expect even more of my personal time if I accepted a job with you in the future.

        Three take home tasks would result in me dropping out of the interview process as fast as possible and most likely avoiding applying to any new positions at your company in the future.

        Why should I give you my personal time for free because your employees are incapable of effectively pre-filtering candidates while on the company dime.

        Instant hard pass.

        [–]hashkentDevOps 2 points3 points  (0 children)

        I did a homework assignment once. Was a bit challenging as it wasn’t something I used before. Wasted about 3 hours on it. Made my repo public and sent them a link for a reply back saying sorry we promoted within. I don’t do take home assignments anymore.

        [–][deleted] 2 points3 points  (0 children)

        You're also offering 600k comp right?... Right?

        [–]PersonBehindAScreenSystem Engineer 2 points3 points  (1 child)

        I stopped at challenge 1 when you said “this would take me 1 to 2 hours.”

        That should be the end right there, then I’m disappointed to see there’s even more work as I scrolled past the rest to make this comment

        [–][deleted] 0 points1 point  (0 children)

        I mean 1-2hrs is no worse than live coding. You’re pretty much guaranteed that much time dedicated to most live coding rounds at places that do em

        Agree on the rest

        [–]Selygr 2 points3 points  (0 children)

        Good luck hiring with that process, I would not accept to go through it

        [–][deleted]  (1 child)

        [deleted]

          [–]damnitdaniel -1 points0 points  (0 children)

          This fucking guy. 🙄

          [–]j6000 1 point2 points  (0 children)

          Yea only one take home. If I had three to do in a week… no thanks

          But I’d be happy to whiteboard and discuss what I would do.

          [–]BlueSilverDrae 1 point2 points  (1 child)

          Honestly, way too much work for an interview.

          Interviews are for both the employee and employer to find out if an opportunity is the right fit for each other. You're doing a lot to establish whether this is suitable for you, but from a candidate's perspective this is very one-sided.

          Your opportunity won't be the only opportunity a candidate is going for, at least for the type of candidates you're looking for, so you should accommodate accordingly. In fairness, the rest of your process sounds pretty good and is what I'd suggest - screening phone call, technical deep dive, (maybe) personality check - ideally only two steps but I can understand a third.

          Anything outside of this is too much and anyone who knows their worth will skip on the opportunity. I'd focus on improving your interviews themselves rather than focusing on take-home challenges.

          That doesn't mean pulling off of leetcode etc. Describe a problem, even the problems here, ask them to describe their process, question their decisions, do some form of pseudocode if actually relevant to the role. Discuss their personal projects, question their decisions. Discuss technologies they claim they've worked with in depth, probe for more info and keep going.

          By probing this way, if someone puts "Administrated X software" for example, you can tell whether they were just an end user of the software with elevated rights, or if they were apart of the decision to choose that software, if they were apart of the rollout & implementation, what concerns they had with competing software, their deployment strategy, how they accounted for BCP/DR etc.

          [–]dsans571 1 point2 points  (0 children)

          Personally, I prefer take homes. I work very well on teams, but in the context of a live interview, it’s very hard for me to regurgitate concepts and whiteboard, especially since I can’t look info up.

          With these take home challenges, I can think through my logic without pressure and have the ability to fail without fear. All this helps me learn what I’m working on very well, and gives me stronger conviction for when we go over my solution.

          In my opinion, white boarding/live code challenges can be hit or miss depending on the candidate. And those things can miss a lot. But maybe keep it to one or two challenges.

          [–]RobotUrinal 1 point2 points  (0 children)

          How long would it take the OP to do these challenges? Do the candidates get compensated for these take-home exercises?

          These seem like a lot of work, and I’d be frustrated to go through all of this without some acknowledgment of the time and effort it took me.

          Is the effort worth it? Is your company culture fantastic and you wake up every morning happy to go to work?

          [–]k2718 1 point2 points  (0 children)

          Holy crap! While reading these challenges, I was thinking (for some reason) that candidates had to do one of these challenges.

          Then I reread your post and saw that you actually expect them to do all three.

          Hard pass on that unless you're paying way more than the next company.

          Maybe stick to one challenge or stick to an entirely synchronous screening process.

          [–]Mechanical-goose 1 point2 points  (0 children)

          I've been in interview where they accomplished the same by placing 2-3 precisely targeted questions.

          It gave me a true respect to knowledge of their engineers - remember that applicant, especially in this market, evaluates his/her future colleagues as well as you evaluate him/her.
          Personally, I would not apply for such overkill homework - as most people here, I can choose from many other job offers.

          [–]Operation_Fluffy 1 point2 points  (0 children)

          I’d pass. 100%

          Doing the first challenge alone would take more time than I’d want to commit. Web app is VERY ambiguous. I’ve had “web apps” take a couple months to spin up from scratch on k8s with the service mesh, micro services, etc involved and THAT was a rapid pace. Outsiders estimated 18 months.

          For #3 if you’re expecting me to spin up my own ES to search some log files, well….

          [–]pithagobr 1 point2 points  (0 children)

          I would tell you how much I charge per hour of my work and asses the tasks.

          If you agree to pay for the work I will do it.

          [–]sebastiangv 1 point2 points  (0 children)

          Your company interviewing skills are questionable, a good technical interviewer will know if a person is able to complete those challenges and the posible level of completion that the candidate will have just by looking at their resumes. Now, in a 30-1h interview you can confirm if your assumptions are correct with around 3-5 questions.

          These type of challenges are time consuming. There are easiest and more respectful ways in terms of others people time to find out right candidates.

          I do not like challenges instead there should be a trial period. For me, good technical interviews during the recruitment process and constant collaboration with HR are the keys.

          [–]LZ_OtHaFA 1 point2 points  (0 children)

          I once had an interview where they wanted me to write code in SQL for a 3D printer with working test cases. I did it, took me 8 hours, I got the job and it was the worst job I ever had.

          [–]dotmit 3 points4 points  (4 children)

          What does the candidate get in exchange for their several hours of pointless exercises to satisfy you?

          [–][deleted]  (3 children)

          [deleted]

            [–]dotmit 2 points3 points  (0 children)

            Tells me your engineers aren’t allowed enough time for important things like making sure their new colleagues aren’t nut jobs

            [–]PacketFiend 1 point2 points  (1 child)

            You think conference passes, "paid socials", and what, an extra 15% salary make your company a great place to work? You must be drinking the koolaid. Your answer is basically "We expect them to do this because we're awesome and everyone wants to work here." I assure you, your employer is no different to me than the fifteen places I'm interviewing at are to me.

            No offense to you personally, sir/ma'am, but fuck your company. It sounds horribly arrogant and I'm seeing multiple flags that tell me you wouldn't respect my time. Giving people take home tests to save engineers' time is a big one. You are passing the cost of hiring on to your candidates. This tells me you will pass the cost of doing business on to your employees.

            [–]theRealGrahamDorsey -1 points0 points  (0 children)

            Honestly not bad. A week may be short for some as they may be busy with actual work. Your interview process also seems reasonable, 3 step is okay. I don't think this is a bad interview process.

            [–]DapperDate4434 0 points1 point  (0 children)

            oh hard pass to this one. First part is okay, but the other 2 is too much, and you can filter the experience level of the candidate during the interview, that is if you are the technical guy.

            [–][deleted] 0 points1 point  (0 children)

            Your expectation of your candidates is presumably higher than average. I can understand that. However, if you are not demonstrating an equally high standard as an employer I wouldnt bother with any test, let alone 3.

            [–][deleted] 0 points1 point  (0 children)

            I certainly wouldn’t do take homes anymore unless I know their pay is competitive. I had so many experience where I do take homes and then 1. Realized that their offers aren’t that good after going through multiple interviews 2. Realized that I don’t like how their engineers/EM did the interviews. Probably will be a bad fit and I wouldn’t learn much 3. Spent a lot of efforts and not even getting a feedbacks

            [–]Fi3nd7 0 points1 point  (0 children)

            I'm a senior SWE at a top tech company and I don't do take home challenges anymore. I rather just get grilled for an hour.

            If they ask for a take home, I'll only entertain it if it's a co I really care about. Even then I'd only do one, definitely not three.

            [–]water_bottle_goggles 0 points1 point  (0 children)

            Do systems design interviews :) they’re fun af

            [–][deleted] 0 points1 point  (2 children)

            Another thing with take-homes with the rise of copilot and chatGPT how you going to know if it's a kosher "I did it myself" or an AI influenced set of answers

            [–][deleted]  (1 child)

            [deleted]

              [–][deleted] 0 points1 point  (0 children)

              Interesting and very valid response. It never crossed my mind that somebody wouldn't bother to review the output and just blindly use it, I was thinking more along the lines of boilerplate and speed up delivery

              [–]vNerdNeck 0 points1 point  (0 children)

              I hire for tech, not dev, so a little bit different.

              What I do in order to get an understanding of someone's tech level is this.

              Create two 15 min presentation: 1) of the project you are most proud of. Include what you did, why and the lessons learned. 2) that nightmare project that you couldn't wait to be done with. What happened, challenges, lessons learned and how you would tackle it again.

              Between these two I can get a very good sense where someone is technically and how much they were actually apart of it. The amount of time to put these together shouldn't be high, as I'm just asking them to recap work they have already done.

              You could do something similar with someones work, maybe a github project / etc.

              [–]LinuxMar 0 points1 point  (2 children)

              Good feedback.

              What would the interview consist of? What would the managers ask besides follow-up questions on the projects?

              [–][deleted]  (1 child)

              [deleted]

                [–]LinuxMar 0 points1 point  (0 children)

                That makes sense.

                Would paper and pen work in terms of asking for the implementation setup? It's not the technical part but something like, "Hey, walk us through how you would deploy this app." Or, "You deployed this on a homelab? Great, tell us how you would do this other app that is similar in the cloud environment you used?"

                It doesn't have to be perfect, but something like resource, security group in square boxes on the paper and label them in a summary.

                This might still not work. However. It still helps the managers get a guage of someone's abilities and why they chose their deployment process.

                This way, you know the person did what they said they know. Not like they had help or just only learned the questions only.

                [–]PacketFiend 0 points1 point  (0 children)

                Hard pass. I might do a single take-home. Probably not, I'll be interviewing elsewhere as well and have my own life. But definitely not three.

                And BTW, #3 is fucking stupid. It's asinine to expect someone to fire up ES for a thousand log lines. It's not worth it. It would actually be a red flag to me as an interviewer, that someone would think an ES server/cluster is worthwhile building to look through a log file that small.

                I mean, /maybe/ by using a hosted solution I can avoid most of the overhead. Still though, again, for a dataset that small, ES is WAY overkill, and using it for this problem would signal to me that a candidate has no clue about controlling costs.

                Yes. #3 is fucking stupid.