7 ms·
Hiring manager here-- we send out a coding assignment to do a small UI component. It has its hits and misses. Hits: 1. We suss out a lot of people who've bee
by gorpomon 5y ago
Hiring manager here-- we send out a coding assignment to do a small UI component.
It has its hits and misses.
Hits:
1. We suss out a lot of people who've been a senior engineer on their resume for years but aren't up to date on practices we care about, like accessibility, semantic HTML, app architecture etc. That stuff is important, I don't want to hire folks who ship apps, but the apps aren't WCAG 2.0 compliant or poorly tested.
2. It can definitely help rescue a candidate that we're on the fence about.
Misses:
1. Some candidates blow it off or phone it in, and out of fairness to those that did well, we can't advance them. It's a shame too, because often the reason they do that is because they have other offers on the table, or other companies they're further along on, not because they have an attitude.
2. We say it's a four hour assignment, but in truth people who do well take around 6-8. It's not because the work takes 6-8 hours, but people go above and beyond, you can tell from the git commits.
Overall, I like it our coding challenge and won't hire without it, but I'm not saying it's perfect.
- travisgriggs 5y agoDo you pay them for the 6-8 hours they put into it? I know back in the day when I travelled to interview somewhere, I got paid the mileage I drove and sometimes the time I spent there. Just curious if that kind of thing still applies.
- gorpomon 5y agoCompany doesn't, but I absolutely would be open to that, I had that in some other industries I was in and it was appreciated. FWIW, I advocate for strong comp for whomever I hire.
- Dork1234 5y agoHow can you tell from GIT commits, sometimes people with busy life's only get short periods of time every night and might have weird commit times.
- gorpomon 5y agoThat's an interesting one, I can't tell fully as the commit doesn't state when the coding started, but you can just take a look at the history and see short bursts of work. Generally it seems like people do the assignment in 2 bursts of work.
- exdsq 5y ago6-8 hours? That’s a whole working day. I’d have to seriously weigh that up against an extra £500 in my bank account or whatever… I’ll happily do an hour or two, something I can fit into a lunch break or evening. But, for me, that’s way too long.
- colechristensen 5y agoI'm unwilling to give a prospective employer 4-8 hours of my life. Asking people to do it is discriminatory, because there are definitely people who are in life situations who can not afford the time to work their full time job and fulfill their other life obligations and do your quite extensive test. If you're not spending equal employee time to my time in the hiring process, it's a no from the start.
- gorpomon 5y agoThat's a-ok, I often tell candidates that if they can't, no worries and they're welcome to apply again later on down the line or if they no longer want to apply that it's absolutely fine as well. It's never really had as negative reaction , most people understand that you have to be assessed in some way. Also, I make sure to tell people that if you need more time it in no way negatively affects how we assess the assignment.
- colechristensen 5y agoAnd if you were, say, interviewing a single mother who absolutely did not have the time or resources to take your test, you would effectively be removing her and all people like her from your candidate pool which is a nice way to discriminate against a class of people without leaving much evidence of doing so explicitly.
- gorpomon 5y agoNot at all-- I'd absolutely change and flex my process to accommodate someone in that situation. I never said I wouldn't from my original comment, that was something you inferred. If you know a single mother who needs a great coding gig, feel free to paste a LinkedIn and I'll reach out.
- me_me_mu_mu 5y agoI’d rather smash out a four hour coding assignment than do a brain teaser at 8am, followed by another one.
- gorpomon 5y agono brain teasers, riddles, gotchas or whiteboarding in our process. And I make sure candidates know it so they aren't stressed about it.
- isbvhodnvemrwvn 5y agoAnd if you read the other comments, if you put in full 4 hours you'll be rejected because there are people who will put in 8. And the hiring manager won't spend more than 20 minutes on your submission.
- me_me_mu_mu 5y agoWell, you can also get rejected doing a few brain teasers in a row. Sometimes I even feel dumber at the end because I didn't "see the twist" or whatever. I've done a few of those take homes, and none of them ever really took me more than an hour (and were accepted). I have 50+ side projects using a few standard templates I've made for myself, so I can knock these out really fast and just show what I can build
- Tronno 5y ago> We say it's a four hour assignment, but in truth people who do well take around 6-8. Speaking of insults. You are wasting people's time and treating them without respect. I say this as an applicant who has also wasted an entire day on an outrageously complex take-home assignment "estimated" to only take a couple of hours. It left a bitter taste. In my view, anybody who phones in one of your assignments, or walks away altogether, is dodging a bullet.
- gorpomon 5y agoI've been there too, I've definitely had bad experiences with coding assignments. I try hard to not treat others as I have been in the past. I run a respectful process. I offer people ample time. I tell them that asking for more time is a-ok. I answer questions. But at the end of the day, some people just really knock it out of the park (maybe around 30%?), and I don't think it's unfair to reward that.
- Tronno 5y agoYou consciously misrepresent how much time is required to do well. You could run a fair competition by stating clear requirements. Instead, you reward those who are most willing to burn through extra personal time. That is not respect.
- gorpomon 5y agoI think I've nailed the source of this disconnect. I don't say it's a 4 hour assignment and then get mad when people don't spend longer, or filter our anyone who does well in the four hours. I go solely by the code I'm given. It's just that around 30% or applicants or so clearly spend longer because the assignment is so well done. That is all. I'm guessing this end result would happen with any amount of time I specify, be it 6, 9 or 20 hours. Some people just really put effort in, and as I said in my top comment others don't. Often those others don't for valid reasons-- they have an offer on the table, they want another job more, etc. As I've said in other comments, I have no way of knowing who has put in more time (aside from Git history which isn't a clear picture, but indicative), nor would I create a malicious metric. Also, I clearly stated that I viewed this as a con of our hiring process. I'd love a clearer way to even out the time, but barring bringing in some more stressful process like some timed app or timed challenge, I don't think I can. Say what you want, but rewarding folks who spent more time isn't disrespectful to other people who didn't. No job is a first come first serve scenario, you're both assessing each other on a variety of things, and it would be unfair of me to disregard people who excel out of fairness to those who don't.
- hajile 5y agoIf you do this with just 200 applicants for various positions, you've wasted an entire man-year of time that would be better spent on other things. Why would I put in over a thousand dollars worth of time into a "maybe"? Is your company going to pay me what I'm worth for that time? Is it worth my time to implement some useless widget? Loads of other companies are great to work for and don't require this kind of worthless time investment.
- gorpomon 5y agoThis man hours comment is fair, and it merits consideration. Any assessment that doesn't result in a hire is wasted man hours. I'm not exactly in this profession to talk to other people. Also, if you're making $1k for 4 hours, you definitely should not work for me, you have a good consulting gig going and I wouldn't be able to be competitive.
- nrmitchi 5y agoIf you sent me a "four hour assignment" in order to determine if I'm "up to date" on practices you care about, that is a *strong* signal that you think your time is more valuable than mine. You can be damn sure I would "phone it in" at best, and most likely you'd never hear from me again. You wanting to focus on specific skills/knowledge is a fine goal, however if you really care about these things at the senior end, you should make the investment yourself as well and take the time to actually speak to a candidate. Who knows, you might just learn something new.
- LanceH 5y agoAlternately, you crush the exam and negotiate hard because you know you've beaten everyone else. It would depend on what I want.
- exdsq 5y agoTo be honest I've turned down roles paying an extra $20k because the interview process is so drawn out. I'd have to be reaaaaally enticed to spend potentially days interviewing.
- gorpomon 5y agoProbably "up to date" was the wrong phrase-- it's more "are the fundamentals there". I've had lots devs send me assignments that miss the table stakes of front-end dev work: is it keyboard navigable, are proper elements used, is the CSS something we can actually work with. I'm not sure what you're suggesting? Just a chat where we go over all that stuff? I'm happy to take into consideration other ways of assessing.
- teh_klev 5y ago> but aren't up to date on practices we care about, like accessibility, semantic HTML, app architecture etc. That stuff is important, I don't want to hire folks who ship apps, but the apps aren't WCAG 2.0 compliant or poorly tested. If a seasoned dev hasn't been asked to do this in the past, i.e. it's not a requirement for delivery (it's the client or product manager that decides whether they want these features, not the senior engineer), then I'm fairly sure they'll get up to speed with these practices when they're asked to. I kinda feel you're probably binning some decent potential hires.
- gorpomon 5y agoI think this comment might get more acrimony than my top-level one, but at the end of the day I'm not that interested in hiring someone who only learned good fundamentals because it was asked of them or they were paid for it. I made a decision in my career to consciously level up my skills-- testing, accessibility, documentation, etc-- all without being asked. Having good fundamentals just demonstrates interest at the end of the day. I don't want a master craftsman here. I just want someone who cares and tries to write good code. That's not an unfair ask. I have to hire someone I want to work with and collaborate with, and truth be told if someone won't learn a best practice in our field with being paid or it being requested, despite how nice they are, I'm not excited to work with them.
- wwweston 5y ago> I made a decision in my career to consciously level up my skills-- testing, accessibility, documentation, etc-- all without being asked. Speaking of which... I'm intrigued by your test, in no small part because I'm not sure I'm up on accessibility (or much that's happened in the front-end world since 2015). Would you be willing to send it to me, along with any evaluation rubric you might have? Email's in my profile.
- teh_klev 5y ago> I'm not that interested in hiring someone who only learned good fundamentals because it was asked of them or they were paid for it. I'm not talking about someone with "good fundamentals", I talking about experienced devs who can tackle any task asked of them. The sort of developer who can walk up to the docs and start working productively with new (to them) technology within a few days and produce high quality code. The sort of developer who's probably keeping one eye on developments or features (say in Azure or AWS) that might be useful even if there's no remit for them to exploit those technologies right now. That stuff is always knocking about the back of their heads. You cannot possibly expect every developer, even very experienced ones, to know every nook and cranny of every technology you specifically work with, but they are experienced enough to know how learn new skills quickly to complete a project. > I made a decision in my career to consciously level up my skills-- testing, accessibility, documentation, etc-- all without being asked I do the same, probably a couple of hours most evenings, but with the best will in the world there isn't enough time to learn and level up on everything. And that's even after nearly 40 years in this game.
- vikingerik 5y agoI'm surprised at the downvotes and disagreement for this. I'd be fine with a four-hour take-home. I got one of my jobs by doing that. One four hour offline/asych event, in practical coding rather than a whiteboard brain-teaser, to gauge the fit of a multi-year job relationship, is perfectly reasonable. I think the sense of entitlement might be getting a bit too high if people here say they would blow that off.
- mymllnthaccount 5y agoI think the sense of entitlement is on the hiring manager's side if they want multiple applicants to burn through 6-8 hours of free time to take an assessment of their skills. Then those same hiring managers are the ones complaining about how they can't find employees.
- gorpomon 5y agoNo entitlement here. I copiously thank the candidate for doing it and make sure to offer feedback if it results in a decline. I would offer reimbursement if our company offered that (and I'll definitely bring that up). But, I have to assess candidates somehow-- I don't do whiteboarding, riddles, brain teasers, etc. I wish a discussion would just yield the results I need, but as many other top level comments here state, that's just not the case.
- confidantlake 5y agoIt is an unequal time investment. I have had multiple take homes where I got ghosted afterwords. Maybe 100 people did it, candidate number 3 did a good enough job and they never even took a look at mine. At least with a phone call or an in person interview I am assured they have some skin in the game.
- gorpomon 5y agoI don't ghost-- no matter when I decline, no matter the stage I write and send the candidate feedback. I've been ghosted, it sucks.
- 5y ago
- bryanrasmussen 5y agoIf I manage to get something done as described in 4 hours I will not work a minute more, I will not polish to code, I will not go above and beyond I showed I can do what is required and that should be all these tests do. I demonstrate that I can program and that I am evidently not lying on my resume regarding basic requirements. I do not spend more than whatever it takes me to finish the task or whatever amount of time I have slotted for the task, if you say your task takes 4 hours and I find it is poorly specced and there is dependency issues that have to be fixed meaning that nothing will build and it takes 4 hours to debug it all then you get not code at the end just a description of how the requirements you have written out have problems with it (happened one time), if I somehow miraculously manage to do what is required in 2 hours that's what I do. I have kids and other things to do. If you are privileging people who spend 6-8 hours because their stuff is better than the people who spent the agreed upon 4 hours not only are you getting people to spend 6-8 hours of their time without compensating them, but also the people who spend 4 hours are probably completely wasting that time. I hope someone posts your company's details somewhere so I can avoid them if necessary. I'm much too busy to waste 4 hours like that. Either that or just say so up front so that people can say yeah, I'm currently not desperate enough to spend 6-8 hours working for free. But I guess you don't want to do that, do you?
- gorpomon 5y agoI would encourage you to read my other responses, I think together they offer more perspective on how I run my process. I'm not privileging anyone, lots of people submit great work and I really have no way of determining who went above the time allotted. I don't track time or cut anyone off (how would I? It'd be some logistical nightmare or I'd have to use some weird app to track how long they code?). I gave an honest assessment of what I feel are the pros and cons of a hiring process. You seem to have inferred a lot based on that comment. Finally, I do occasionally get assignments that don't work. Why even bother doing it then? Those tend to confused me the most. Would you hire someone who sent you any work that didn't compile?
- tomhallett 5y agoIt's not that I'm against a "4 hour test" per-se, but it's highly dependent on the context. 1) If that type of test is used early in the flow, then that is highly disrespectful. That type of time commitment should only be used at the end of the hiring funnel when everyone else has already signed off on me, and I have signed off on the company. 2) I need to know that the time commitment is symmetrical. While coding over zoom isn't perfect, at least I know the company has done the analysis to say "this candidate is worth 4 hours of our company's time". Once a hiring manager sets up a 4 hour calendar block on a senior engineer's calendar, you will immediately get pushback of "Is there anyway we can shorten this exercise to 1 hour? 45 minutes?"
- gorpomon 5y ago1) The assignment is mid-flow after we're reasonably sure we'd want to work with said person, and if the assignment results in decline, I give actionable feedback why. 2) The time commitment can often be more on our end, several engineers review it, it's probably equal or more man hours. I think doing a block of fixed time would be more stressful, I've had to do that and it wasn't fun.
- commandlinefan 5y ago> people who do well take around 6-8 Sounds to me like you've found a good way to filter out all but the most desperate candidates. Which, given your overall demeanor that suggests you're also a mandatory nights-and-weekends-with-no-extra-pay type of employer, is probably what you're looking for.
- gorpomon 5y agonot all-- I'm proud to say I've never once had a team member pull any all-nighters. I think you're just reading too hard into my comment. I tried to give a thoughtful assessment of a stage of my hiring process, not cheat or lie.