25 ms·
On asking job candidates to code
- CaRDiaK 11y agoNot writing code for a potential employer or being asked to in an interview is a warning flag to me personally. I feel better if they do, as they've seen the goods to influence their decision on the hire. It's more about "How does this person think, how do they approach the problem". How can you measure that unless you're there? I see a lot of "I shouldn't have to do that". Well yeah, ok. But if you're any good, you shouldn't have a problem with that either.
- forgetsusername 11y ago>as they've seen the goods to influence their decision on the hire Or, they haven't. Which is why articles debating interview coding policies show up on HN almost every day. There is no "one" way. >But if you're any good And yet it's also well known that companies just can't get the engineering talent they require. Where is the discrepancy occurring?
- lordCarbonFiber 11y agoAs an aside, I can't find any data to support your second point. There seems to be a great deal of talk how companies can't find the engineering talent for bargain bin prices, this is why the H1B visas are so popular. The biggest issue on this site, imo, is that we can't take our heads out of our asses and admit that the vast majority of programming positions are brain dead easy. You don't need a rigorous test to vet the developer you're hiring to make what is essentially a CRUD app (and your product probably fits that description). It's to the point where companies with deep pockets (think finance) don't even bother hiring solely CS students anymore. You can take any reasonable motivated graduate, put them in training for 2 months and pop out a budding developer for your tech pipeline. One two punch of competent tech worker, and company loyalty all in a super cheap package.
- alistairSH 11y agoWell yeah, ok. But if you're any good, you shouldn't have a problem with that either. Whiteboarding, sure. Homework assignment that takes 8 hours, as the author experienced? No way. I'm good, my hourly rate reflects that, and I don't work for free.
- stutsmansoft 11y agoSee I'm the inverse. I'd take the 8 hour project over the whiteboard. Thinking in a quiet, relaxed environment beats trying to reason through a problem while also thinking about how you are "performing."
- Hermel 11y agoIn my experienc
- Hermel 11y agoIn my experience, asking candidates to read and explain someone else's code is a much better indicator than letting them do some whiteboard programming.
- vinw 11y agoSimilarly I've found that talking through some deliberately broken code, and what improvements could be made to it, gives a good idea of what a candidate would be like to work with on real problems. It's more about the discussion than the code changes they come up with!
- cwilkes 11y agoAgree 100% especially since that's most of the daily job is fixing up old code that was written in a hurry or for a different circumstance. The ability to see what some code was trying to do and how to fix it and make it extendable and or understandable for future generations is invaluable.
- ryandrake 11y agoThis is a great point. Most programming jobs I've seen are about 10% writing new code and 90% maintaining / fixing / extending old code. I'd rather know that you can jump into a codebase you've never seen and get productive quickly than know that you can invert a binary tree on a whiteboard.
- whatthefox 11y agoAgreed!
- vblord 11y agoWhen we hire, after a few phone interviews we give the programmer an in person coding exercise that is very basic. Open a file and parse data, etc... They can use the internet. It's very basic. 80% of the candidates cannot do that. I'm not exaggerating. Maybe I'm missing something here, but it's pretty astonishing to me.
- autotune 11y agoDo you require them to do it in a specific language or let them choose which one they are most comfortable with? How do you decide which programmers to bring onsite? Have you considered giving them different options in the from of doing a take home test or coming in and coding inperson instead?
- vblord 11y agoWe require a specific language... the language we use for the job. The phone interview asks technical questions, a few design questions, and some personality geared questions. The technical questions are basic and cover some of the basic concepts of the language and basics of OO. We haven't considered doing a take home test for 2 reasons. 1) We want to see how well the person can get around windows/keyboard. I believe this is important. 2) What we are asking to code is very basic. If we sent something home it would have to be harder. Are you thinking that the in-person coding would make them nervous? I ask because we are clearly doing something wrong if it's hard to find candidates that can do basic programming. Even if the person is entry level, that would be fine as long as they are an A player at the entry level... if that makes any sense.
- autotune 11y agoValid points as far as the language goes, but I'm not sure I agree with your points about workflow... the primary goal should be to see if they can reach the solution using the tools required for the job over how the tools are used in my opinion, and how much guidance they require to do so. I am thinking that the in-person coding might make them nervous. As a personal example for my specific line of work coding is more of a secondary requirement over having knowledge of how systems work, and despite having contributed code to some widely used open source projects and having enough knowledge to get by given language given enough documentation, I would likely freeze up in an interview if asked to code. If I were you I would look for candidates that actually have some projects they can showcase that proves they know how to code, and offer them the chance to either do an easier in-person test or a take-home project. During the job search I personally jumped at the chance to do take-home projects since I view them as learning experiences, but for more experienced people I can see them being viewed as tedious. Most truly passionate entry level programmers looking for their first job and some direction I hope would jump at that chance to get some more directed experience as well.
- sauronlord 11y agoThe best candidates are too busy kicking ass and getting lured away with huge sums of money - and not waste time working for free.
- hnrodey 11y agoI'm going through the interview process this week at two different companies. One of the companies I found through an ad on Stack Overflow whereby they publish two programming "exercises/puzzles" with the opportunity to earn $100 for a correct answer to each puzzle ($200 total for two correct answers). While I spent more than eight hours on both puzzles, I found them to be thought provoking and I learned stuff in the process so I don't feel like I wasted any time and I got a check in the mail for $200. My code was reviewed by their dev staff so they had immediate feedback on my programming ability and high confidence to bring me in for an on-site interview. I like this process and consider it worthwhile.
- pc86 11y agoAfter you get the job you should share the name of the company!
- robodale 11y agoThis. I like this. Other companies wondering why they cannot find good devs need to do something like this.
- logfromblammo 11y agoAnd realize that spending only $200 per candidate is a lot better deal than they would ever get from spammy, scummy recruiters.
- seanp2k2 11y agoThe flip side of this is that not everyone has the luxury of that much free time to focus on puzzle-type exercises just to get a foot in the door. This process seems to select for single people with a good amount of free time, which, depending on who you ask, is possibly what they want (if e.g. frequently greater than 40hr work weeks are expected). Edit: thinking more about this, it's good to see that it's a paid puzzle, so even if you don't get an interview, you are still compensated for your time.
- wrong_variable 11y ago
- jessegreathouse 11y agoI think a coding test is the wrong approach. Typically a coding test is too simple to be meaningful, or too difficult to be practical. Instead I would have a Mock PR in a github style discussion forum. Have it be a contrived example of some things that could be improved or some things that could spark really good discussion. Give the mock PR link to the candidate and ask them to Peer review the code. Make the discussion and comments of the the candidate the basis for which you determine their aptitude. If they have a lot of depth in their critique then you can be relatively confident how they would interact with the team in a real work scenario.
- LankyDataGeek 11y agoThis is a great idea!
- afarrell 11y agoOne thing which I've wanted to see a company try is to give someone code to read and asking them to walk through how they would go about understanding it. I've done this once when I worked at MassChallenge and was trying to hire a more senior engineer to work above me and I felt like it gave me a good idea of his ability to talk through problems and work with others, but that was only one interview and I'd like to see a larger sample size.
- ebbv 11y agoI understand the appeal of having candidates write code as part of the application process, but in my view it's useless and worse, it will drive off some of the best potential candidates you could get. First, why is it useless? Because it is an artificial and contrived exercise and not real work. Even if you design your requirements to mimic your real work environment, there's something key missing; the candidate has no knowledge of your team and your environment. How I would write code for my current team vs. how I would write code at any other job I've been at is different. You're basically asking the candidate to take a guess at what kind of paradigms your code reviewers like and what they don't like and hope it works out. One team might find use of closures smart and great, and another might find it unintuitive and adding unnecessary complexity. Your applicants have no way of knowing and just have to hope they write code your team likes. On top of that, one contrived exercise is not a good way to get an idea of a persons' actual skill and knowledge. I'd much rather have a 30-90 minute conversation with someone where nobody writes any code than to review a contrived example. I get the appeal of the programming task, it can be done asynchronously and thus doesn't require any developer time until you go to do the review. But is it really saving you much time? Anyone who's code doesn't pass unit tests or any other automated level of screening wouldn't probably make it very far into a conversation either. If I have an applicant spend 1-4 hours writing a code example I've had them use at least as much and probably more of their time for far less benefit than if I had simply called them up on Skype and talked to them about programming. The conversation will reveal not only a lot more to me about their actual skill set, but also their personality and how they might fit into my team. Now I realize teams doing exercises aren't skipping the conversation step, but I'm advocating for skipping the programming task step and going right to the conversation if someone's resume is solid and they can intelligently answer some basic questions (a handful of questions that should take no more than a couple minutes to answer, not an essay.) Second, why would I say it drives off good candidates? Because I know a lot of really good developers (including myself) who skip any job posting that requires writing code as part of the application process. Why do I do that? Because it tells me the team behind this application is immature. They haven't yet gotten to the point in their careers where they realize these exercises are a waste of everyone's time. That means there's probably going to be a lot of other young dude bullshit in the team that I'm not interested in dealing with.
- bewe42 11y agoIf a company asks me to do 8 or more hours of artificial coding test I usually refuse, unless I really want to work for this company (because it is well known in the community, which are few). However, I'm happy to work on any real task for a reduced or limited fee. It's a win-win: the company gets to know the candidate under real conditions, has an actual task solved at a reduced price, and the developer does not give away his/her time for free. Plus, if it works out, the candidate has learned already the first steps about the company's system and process and can directly build on it. I'm always wondering why not more companies do this.
- thedz 11y agoI don't mind a 2 hour or even maybe a 4 hour assignment, but a project estimated at 8 hours? Yeah, either you pay me for that time, or I'll just look elsewhere. (And granted, that might exactly be what the company is looking for: a way to reduce the amount of applicants they have to sift through)
- p4wnc6 11y agoThe problem is, there are no realistic 2-hour, or really even 4-hour, coding projects that faithfully map to on-the-job skill. 2 hours is too long for a data structures riddle, but way, way too short for anything of even a tiny degree of complexity. Let alone writing some unit tests, mocking up a design and then scrapping it for something that makes more sense. Timed coding tests are just a waste of everyone's time, whether it's a weekend take-home thing, or a 30 minute whiteboard thing, or anything in between. They do not account for individual developers' needs, like privacy, their own editor or IDE, and they exist in this ether between bullshit trivia and an outright working internship that ought to be paid. The other huge thing is that in a lot of firms (I doubt Digital Ocean is like this, but many firms are) "programming" is a low-status, junior activity. In these companies, if someone asks you to write code in an interview, especially if you are an experienced candidate with a GitHub profile, references, and project experience, then even merely asking you to code is more like saying "dance, monkey, dance" and setting the whole atmosphere of your negotiations and interviews in such a way where you are the lucky low-status person who should be so grateful as to receive a job. Unless you get a really great cultural feeling from speaking with technical team members first, the best general advice is to simply reject employers who ask you to write code. If they ask you to write code before even speaking with you, absolutely reject. Full stop. I also think all candidates should fully reject internet-based timed "exams" as well. Things like HackerRank are designed to commoditize software labor, which is a creative design activity and if it even can be commoditized at all, it surely can't be boiled down to data structure trivia that you have to code around in a browser-based IDE with a literal clock ticking down. Anything like HackerRank immediately screams "quantity not quality" and is straight rejection-worthy, no questions asked.
- randcraw 11y agoCalcado describes his wish that the candidates be "more T-shaped", and not just worker bees with narrow skills. But I see no mention of ways his more successful hires "branched out" and expressed wider interests or capabilities, presumably in in domains outside computing. Here, do the T branches apply only within computing, like knowing more than one software tool? If so, I think that's not what Tim Brown meant. Presumably an interview seeking signs of "T-branching" would propose higher level questions, like business acumen or domain curiosity or spontaneous Q&A to better understand or elaborate the requirements needed to solve a representative problem. Otherwise the "T" just equates to broad software skills.
- sixtypoundhound 11y agoThe real problem here isn't coding interviews; its how we (hiring managers) approach the entire question. The goals of a technical interview should be: - Confirm the credentials presented aren't complete BS - Validate they know enough to be immediately helpful - Assess their long term potential (brains, social skills) Coding challenges tend to be good at the first two points but very questionable for the third. Incidentally, given that I'm seeing a 50% washout rate from a basic SQL code question (supported by confessions from candidates that they fabricated credentials/experience), you would be silly not to include some form of practical test. The third point (potential) is best measured by talking with them about a project they really cared about. For those who cannot share work examples, pick a good side project. Don't get hung up on the content - focus on their passion. You'll get a better view of my capabilities if you chat with me about building an ad server, mobile optimization, or SEO analytics (real world projects I care about) than with a contrived example. As for the github profile of code shrugs why? Seems like a bit of a cult to me. I'm happy to sharing anything that's useful (and do so on my blog) but don't have the free time to spend developing code for the sake of "work samples". My work samples run on production servers as commercial projects, thank you very much..... Suspect many other good candidates are the same.
- dasboth 11y ago"you would be silly not to include some form of practical test" Yes, I'm coming to the realisation that it's idealistic to assume that anyone with N years experience will be at a certain level of ability. "(potential) is best measured by talking with them about a project they really cared about" I agree. I've always thought that once you've made sure that a candidate's programming knowledge isn't fabricated, the best way to evaluate them is to get talking about code. Whether that's proprietary code they've written but can't share, or it's on a GitHub profile for all to see shouldn't make a huge difference.
- cdibona 11y agoOne of the best interviews I 'gave' was when the interview was for a position programming on a topic I knew almost nothing about. I had the person bring their laptop and walk me through their implementation of the topic at hand, then asked how they'd scale/improve it given more cpu/memory/etc and what kind of constraints the larger environment would impose upon the work. It was super neat. Totally hired that person.
- aprdm 11y agoA startup in Berlin gave me a code challenge that would take at least 20 hours, I had even to deploy in specific version of the libraries, they give the datasets and etc. I was very suspicious of being an actual feature development. I've said I would only do that if they would pay me to. They answered that they feel very sorry for me because a lot of the candidates feel the coding challenge very challenging because they can learn new stuff and they love it go figure
- antoniuschan99 11y agoI've heard places that actually do that and I believe it's the smaller company (startups) that would actually go about doing such a thing than a large company
- colmvp 11y agoI had a pretty famous startup in Toronto decline a second interview because I flat out refused to do a take home test that probably would've been at least worth a day's exploration. In comparison, a YC company (who eventually got acquired) actually responded very positively to my suggestion that I get paid to do the test they required, not dissimilar to bringing in a freelance contractor for a day.
- SilasX 11y agoConsidering German labor laws, that sounds like it should be extremely illegal.
- lmm 11y ago"Language standard library" seems like a very arbitrary standard to impose. Some languages have a very large one, others a small one. Wouldn't it be better to specify what "primitives" you wanted the code to use? (e.g. must use raw sockets vs. may use a http library vs. may use a basic json-parsing library vs. may use a full json object mapper)
- tetraodonpuffer 11y agonot sure why there is so much resistance here about doing an 8 hour test, I might be in the minority but for a traditional whiteboard interview I would spend a lot more than 8 hours revising algorithms and so on, and have a lot of stress due to whiteboard coding not being anything like real coding. Being able to take a Sunday to work on a challenging problem in my own editor / computer / dev environment sounds great! I wish that all companies added in their job ads something like 'if you want to skip the whiteboard send us your solution to this problem together with your resume' where the problem is a representative problem of the type of work they do, then you spend the interview discussing your solution as opposed to playing algorithm-roulette. It would also cut down the uncertainty when you see a job ad where they ask for all sorts of different languages / skills, if you have fun doing the coding test, it's likely you'll enjoy working there, and vice-versa (in which case you might decide not to even apply)
- ryandrake 11y ago> not sure why there is so much resistance here about doing an 8 hour test If you're applying to just 5 companies, that's a full (well 40-hour) work week of effort for a small chance of going forward with the next stage of the interview/hazing ritual. Might be good if you are already unemployed, but incompatible with candidates who already work.
- AnimalMuppet 11y agoWhich means that, if you're hiring, and you want only candidates who are currently unemployed, it's a reasonable practice. But the best candidates probably already have jobs, and you're not going to get them. So maybe that's not really the way you want to do things...
- tetraodonpuffer 11y agonot necessarily, if I am not unemployed I am not likely to apply to tons of jobs, but be a bit more selective, and I don't see finding more than 1 job a week that I would be interested in... of course I am not a typical developer (C, python, back-end, security, networking, ...) so there are a lot less jobs in my niche than say if I was a front-end person This means that taking every sunday to work on cool / interesting self-contained problems would be great, and much better than spending time revising red-black trees and avl tree rotations and sorts and so on for the n-th time to prepare for the whiteboarding
- jcadam 11y agoA couple of months ago I did a 'homework' assignment for an interview (it involved writing a simple REST service in go, even though I have at least one personal project demonstrating exactly this skill -- to an even greater degree -- in my github profile). During the phone-discussion after turning in the project, the mid 20-something lead developer couldn't find anything to nitpick (I could have) and even told me he thought I was a better programmer than him. The conversation went very well and I felt confident I would receive an offer. Now, what do you suppose happened next? I never heard from them again and all of my attempts at communication were ignored. I'm starting to think my age is becoming a factor (mid 30s) -- and also these kids have no sense of respect and professional courtesy. I'd like to say this was an isolated incident, but that would be a lie. Stupid me just spent his Saturday doing another such project, though at least this one presented a more interesting problem. I swear, if I find out I had my time wasted again I'm going into consulting. Or maybe I'll go to truck driving school. Or open a cafe. Screw this "employee" stuff. The fact that so many employers treat candidates like this tells me that the whole "it's hard to find good developers" line is a lie.
- stuaxo 11y agoI'm curious where you are based, been worried about a similar thing happening, but doesn't seem to yet - (am based in UK).
- jcadam 11y agoOh, I'm in Florida. The local market isn't that great (though I am presently employed) so I've been interviewing for remote jobs.
- drubio 11y agoRemote is insanity now a days, it was a reasonable market a few years ago but not anymore. There's a glut on both the supply and demand sides. Many years ago there was a limited demand for remote work, which probably tapered the supply, but in my experience from every 3 leads you followed (granted you had the experience), 2 were promising and 1 was almost always an offer. Now a days it's more like you need to follow 30 leads to get one 'meh' answer. I don't feel it's an age issue, it's just a general market condition. With more companies acceptance of remote work, mixed in with the "we can't find local talent" mantra, the hiring process has turned more hands-off which in turn is producing these insane hiring procedures and cycles. To make matters worse, everything from the smallest start-up to the largest tech company is adopting the same 'exclusive hiring practices' while they sit back wait for the resumes to roll in and/or send in work samples. All of this is hands-off trying to get candidates to 'fill slots' costs them next to nothing until the final phases. But for candidates it's just a time consuming PITA. My only advice is to treat the process as any business transaction. Try to gauge how much they are invested in the hiring process, if they are asking you for hours or days on end while they appear to invest a couple of minutes of 'human time' RUN! These are lottery-like odds of landing an offer and unfortunatly this is endemic in large companies as well as unknown startups.
- dpeck 11y agoI just instituted a coding assignment with our hiring (exceptions made for those with extensive github/similar open source contributions), and so far only have had three candidates do it, but I'm a fan. Mine is crafted so a really competent developer could get it done in 30 minutes, and intermediate 2 hours and a junior probably not finish. I tell them to send what they have in after two hours that I'm as interested in seeing the structure and thought process than the final result. It seems much better than having someone do it at the office or one a whiteboard for accessing basic competence. Yes it sucks, but after you get bit once or twice by hiring people who knew all the right words but can't actually produce something useful you get a lot more open to it. I'll gladly take the time to take you out to lunch to discuss the job and code assignment and give feedback afterwards, investing a couple of hours into finding your next job shouldn't be this huge ordeal and gives off a diva vibe I don't want in my organization anyway.
- tomjen3 11y agoAre your company especially desirable? Because if not, why should I invest 10-20 hours across ten companies to get one job? Sure I may get lucky and get hired the first place, but thats not very likely, no matter how good I am. To me requiring me to waste that much time indicate the company being a diva, something I wouldn't want in my employer.
- dpeck 11y agoI'd like to think the company is pretty desirable and building something legitimately special :) 10-20 hours invested to find and and sell yourself to the job you'll be spending the next year at (optimistically 1% of the working hours during the next year and realistically a lot less) seems like a good use of time to me, but to each his own.
- jmiserez 11y ago>I tell them to send what they have in after two hours that I'm as interested in seeing the structure and thought process than the final result. While this seems like a good idea on paper, you know that people are not going to stop after 2 hours unless you force them to (i.e. by doing the assignment on-site). >get it done in 30 minutes, and intermediate 2 hours and a junior probably not finish. What kind of exercise could a junior programmer not finish? Give up or produce miserable code sure, but not being able to finish? Do you require some really strange domain-specific knowledge? PS: The website in your profile doesn't seem to be working.
- LoSboccacc 11y agowe use this http://play.elevatorsaga.com/ http://play.elevatorsaga.com/ because it's extremely easy to understand, is open to multiple solution and immediately sort out both who doesn't understand queues, priorities, closures but most importantly who has completely no empathy and win level pushing numbers instead of satisfying clients. it also takes very little time to introduce and solve which is a plus since we prefer to give it out in-office. but we do tell the candidate beforehand that there will be a 15 coding challenge so they don't panic.
- innertracks 11y agoLast week, I finished 2-3 hours of on-site interviews which required a flight and an overnight stay after an initial phone screen, a phone technical interview, and a short technical challenge online. I was surprised how a couple really basic concepts evaporated from my head during the in-person white boarding. The questions though were reasonable and the interviewers were friendly. All in all a positive experience just an incredible investment of time it seems for all concerned. The take away is I need to practice solving problems on a white board with just 3 hours of sleep. The sleep deprivation part might be the most important factor to simulate. Hm. Maybe bourbon? Or a good cider?
- grp 11y agoLinden tea, orange blossom tea or mix of both. Have a nice deep sleep.
- innertracks 11y agoNoted. That sounds good. Thanks!
- cdibona 11y agoSo I know you're kidding about the last, but a good nights sleep can make a huge difference to recall and memory and performance during an interview. I have interviewed tons of people and can always tell who had to fly internationally to get there..
- innertracks 11y agoJust found out I didn't get the job. Gave me solid feedback on strengths and weaknesses. I very much appreciate a transparent interview process.
- BBlarat 11y agoI like Jeff Atwoods approach[0], hire the candidate for a short project (2-3 weeks) let the candidate a feel for the product and team while getting paid. And at the same time let the team get to know the candidate. I would love to go through a hiring process like that :) [0]http://blog.codinghorror.com/we-hire-the-best-just-like-everyone-else/ http://blog.codinghorror.com/we-hire-the-best-just-like-ever...
- dpeck 11y agoThis doesn't work for people already in stable jobs.
- deleted 11y ago[deleted]
- ryandrake 11y agoUnfortunately, that approach filters out already-employed people whose employers do not permit them to work simultaneously for someone else and/or impose IP ownership rules (We own everything you write inside and outside of work).
- yandrypozo 11y agoThis article sounds pretty good, we need more people like you, but I think the next step for DigitalOcean is not hire for resume, or at least giving a chance to make one of those coding tasks
- tptacek 11y agoLike the author, having run a hiring program for several years based on coding challenges designed to mimic the work the team does (ie, work sample tests), I do not understand why any tech company does developer hiring in any other way. I particularly like how this team iterated on their uploader problem, abstracting it out to a socket server and providing a test suite for it. Reacting to ambiguity by abstracting the problem was clever. And, of course, a great illustration of how a standardized hiring tool can, like any software project, be iterated on and improved --- unlike a free-form whiteboard interview.
- jasode 11y ago> (ie, work sample tests), I do not understand why any tech company does developer hiring in any other way. Because every method of hiring has its own biases and tradeoffs. Requiring work samples biases against programmers who aren't interested in doing a "homework assignment". For example, I don't enjoy whiteboard interviews but I'd rather write some fragments in front of the interviewer and "think out loud" instead of working on a multi-hour (or multi-day) coding project. Writing on a whiteboard is just not that big of a pressure cooker to me. One could argue that the majority would prefer self-paced work samples instead of whiteboard interviews and you're optimizing for a wider candidate pool. That's fine but it's still a tradeoff. I think you're running a smaller scale boutique firm so work samples makes sense for you. For a company like Google Inc who is more selective[1] than Harvard University, I don't see a compelling need for them to rely on work samples. That company is so desirable for programmers that any "work samples" Google tries to standardize on would get leaked and endlessly discussed on stackoverflow (see FizzBuzz for precedence.) If Google has to keep changing out the work samples to stay ahead of the street knowledge, you've lost the ability to compare work samples over the years which was one of the motivations to use that method in the first place. At their scale and selectivity, the "study your algorithms book and prepare to be grilled on the whiteboard" seems to work best for them. Yes, they reject a lot of false-negatives but it's offset by ... their scale and selectivity. They can afford to reject false-negatives. If their screening methods were truly terrible, I don't see how the label "ex-Googler" would have the currency it does in the marketplace. [1]http://thenextweb.com/google/2010/09/14/one-half-of-one-percent-of-google-applicants-get-hired-heres-how-it-works/#gref http://thenextweb.com/google/2010/09/14/one-half-of-one-perc...
- orng 11y agoI really hate having to solve these kind of programming challenges. I've already sent you my CV, with references from former/current employers and co-workers. Call them up if you are worried that I'm lying on my résumé, don't waste my time by making me work for the chance of maybe getting a job as only payment. Doing multiple interviews already takes up enough of my time, seeing as I'm the one who has to commute to your location.
- robodale 11y agoRight with you buddy. I no longer accept coding challenges or even interviews that go over 30 min. I tell them my services are $150/hour. If you want me to do a 4-8 hour exercise for the privilege of interviewing further then make it worth my time...just like any other consulting gig I do.
- robodale 11y agoI should add that no company has taken me up on my offer. I'm too busy with work to care anyway.
- NotSammyHagar 11y agoWow, that's self confidence. Paying someone for the homework problem feels semi-okay. But what if you have a no-moonlighting clause at your current job? But asking to be paid during the interview seems too much, even though you could have spent 3 days of your life, traveling each way plus the interview day.
- avalaunch 11y agoAsking to be paid during an interview seems too much but a 4-8 hour interview doesn't seem too much? The average interview length across all industries is 40 minutes. Asking interviewers to spend 4+ hours on the hope of a job offer seems a tall demand. I think asking to be paid seems a fair counter to what is otherwise a very unfair ask.
- 11y ago
- Toenex 11y agoI like the 'simplified job description'. All too often a job description is simply a list of technologies the last guy claimed to be using/have used/knew something about.
- dhd415 11y agoI can see the value from a hiring perspective in asking candidates to code, but it's no panacea. The bias in the interviewing process that so many acknowledge still bleeds through into many of the coding projects in the form of prescribed languages or frameworks. I suppose there's some merit to that if the intention is to screen for experience in a particular language or framework, but it does run counter to the commonly-expressed sentiment that companies are looking for smart developers who are able to learn new technologies rather than developers who have happened to use particular technologies. As a candidate going through the job search process now, though, I have to say that it gets tiring to do a project or programming test for every different company. I can juggle more traditional applications (phone screens, on-site interviews) at a time than applications that require coding projects as I'm limited by the number of 4-hour (or 8-hour or whatever) blocks of time I can devote to completing a project for each one.
- Tunabrain 11y ago> As brain-dead as I was after eight hours at my project, [..] Is giving out an 8+ hour programming project as part of the application process really considered good hiring practice? If you apply to five jobs, you're expected to spend an entire unpaid work week writing code that doesn't benefit anyone? If a company receives 20 applicants, their ideal candidate selection wastes a collective work month? I don't really understand this ideal. What's the point of maintaining an online portfolio and a github profile full of code if companies prefer to waste your time writing a pointless uploader?
- kasey_junk 11y ago> Is giving out an 8+ hour programming project as part of the application process really considered good hiring practice? I'd say 8 hours is too long. I always strive for a 4 hours, but I've seen that 4 hours chop 16 hours off of the candidates time and more than 32 off of the companies. > What's the point of maintaining an online portfolio and a github profile full of code The vast, vast, vast majority of candidates do not have an online profile full of code. Either because their code is IP restricted or they do not have time outside of work to maintain that. I view using online profiles as a decided anti-pattern in hiring on the company side as it restricts your candidate pool to a tiny subset of the community that I've seen no evidence provides any more value in outcome and its much more prejudicial to the candidate population than any coding assignment can ever be.
- jghn 11y agoWe ask candidates to pick a work sample of something they already have, if they have one they can provide. If they don't we give them a relatively painless coding test instead. It's not perfect, it'd be great if everyone could have a work sample but as you say that's just not the world we live in.
- pdxandi 11y agoI appreciate this approach. I'd love to be more active with outside-of-work projects, but my days are usually already full. And I can't provide a lot of code samples because the majority of my work is IP.
- merb 11y agoFlavio is a nice Guy! He wrote a great scala Database library, lately. (quill)
- bryanrasmussen 11y agoI've only had to do 4 of these, as they aren't that popular in my corner of the earth yet, but I didn't like them, I have a kid and stuff to do and I can't spend my time doing 4 hours extra on the weekend unless it is a job I really, really want. First out of the 4 I did what was asked but got refused because I didn't clean up the code afterwards ( I thought I'd been cool for demonstrating some lesser known functionalities of the language and API I was dealing with). If I've spent 4 hours doing it, I don't want to spend 2 hours making it really pretty. Second out of the 4 I misunderstood the instructions so I went in and 'fixed' their code to make it work they way I thought they wanted it ( was maybe too tired since it was late at night after a day of working on a personal project) This was actually a job that was close to one I really, really want. Third out of the 4 I can't remember anything about it now. Fourth out of the 4 they really liked what I did and we had a great interview, and then I got turned down because they thought I wasn't really that interested in their company (which was true, I was just fulfilling a job search requirement while getting my startup going) Aside from that I interviewed at a social analytics startup one time and we ended up talking data mining and they asked me to do a 2 weeks project with them to do a POC of sentiment mining Twitter/Facebook. I gave them what my consulting fees would be, but they seemed really interested in me doing it for free as conditional for pursuing employment there. So I never got to try that coding exercise.
- mjt0229 11y agoI wonder if maybe instead of asking people to code on the fly, it would make more sense to ask people to review, analyze, and explain some existing code.
- overgard 11y agoI definitely wouldn't call myself an expert, but in my career I've probably interviewed a few hundred people. I think people way over-complicate this stuff by trying to be too clever. To me, the most useful question is this: "here is an example project that we'd be likely to do, how would you build it?" Then you just let them walk through the steps they'd take. From there you can launch into why they made the choices they made, trade-offs, philosophy, etc. When you hear people explain how they would make something real, you start to learn a lot of things about them without even needing to ask, and so you're less likely to get scripted answers. They're also probably in their comfort zone at this point, so you get to see them in a more real way. I don't necessarily mind "homework" style projects, but I tend to shy away from that sort of thing as it's not always respectful of the candidates time. Two questions I usually avoid (but see getting asked all the time): puzzle questions, and language trivia. I don't ask puzzle questions because I've never seen it correlate to something useful. Most puzzles require an "aha" moment where your subconscious bubbles up some kind of answer, but the easiest way to short circuit that part of a persons brain is to put them in front of strangers with a time constraint. Puzzles might give you a clue as to a persons overall IQ and confidence, but it won't tell you a lot about how they can do the job. Puzzle questions are also "expensive", in that they usually put a candidate on edge, and they set off the candidates bullshit detector. Let's keep in mind that we're going to reject the majority of candidates, statistically speaking, but you still want them to think highly of your company. If they feel like they're being rejected for a BS reason, you've just created animosity towards your company. It's important that the people you reject still feel respected. I don't ask language or framework trivia, as I don't think it's useful. I might lob a softball about a framework just to make sure they've actually used it, but I'm not going to ask something hard.
- whatthefox 11y ago+1000 This is how a proper professional does it. I always have turned down homework assignments. It just feels insulting and disrespectful. Even whiteboard crap is useless but I'm OK with it considering they've paid for my travel expenses etc. If you think about it ... homework assignments are a classic case of B's looking for C's. A's wouldn't need to resort to such silliness. They can identify (as an interviewer) and exhibit (as an A interviewee) with just an intelligent conversation.
- zby 11y ago"we sent to candidates a functional test suíte, a binary that when started would try to connect to the candidate’s server implementation, open lots of sockets, sends lots of messages, and verify the results against what the problem description stated" Codility.com is a software as service company that automates this.
- herval 11y agoThe process I've seen working best to this day was at Pivotal Labs: pair for a half hour to one hour with 3 different people in the team you're being hired for. You get to measure everything, from communication skills to cultural fit. Perhaps pair on an internal tool, or even better, an open source project (in which case the candidate gets an extra incentive for not wasting their time). If you're dealing with too many candidates, issuing a simple 1-hour coding challenge will weed out the uninterested (and won't favor people that have 4-8 hours to devote to a huge coding challenge).
- aprdm 11y agoI've interviewed there. Only two people I've paired with, one in the morning and other on after lunch. I had two problems: * The 2nd guy I've interviewed with was completely non interested on doing it. He was checking the phone all the time and getting off and on. I felt so awkward because of his lack of interest. * I didn't get _ANY_ feedback at all, just got refused. After 6hours in their office...
- herval 11y agoThat's an orthogonal issue, though. I had the same experience during a whiteboarding somewhere else...
- jetcata 11y agoI am in the midst of my job search, fortunately I'm not currently working (due to an international move) so I have more time. So far, I have completed around 12 1 hour phone coding tests, the same amount of 30 min chats with recruiters, I have 8x 5 hour on-sites scheduled, have spent about 4 long days on one take-home assignment, 6-8 hours on another, and have two more assignments to complete, both of which I estimate will take over 8 hours each. I haven't had a weekend for the past 2 weeks because I've been working on assignments and I'm pretty stressed and exhausted. This process has made me consider changing careers because it's so exhausting. When companies give you take-home assignments I don't think they realise how many things you have going on at the same time. Additionally, I've found that a one hour coding test has allowed companies to move faster in the process with me than those who have given assignments. When I receive an offer from a company I am happy with then I will tell those companies with assignments I haven't finished that I won't be moving forward with them and they will miss out on a great candidate!
- aprdm 11y agoyep, I am there with you. Completely exhausting. Have missed a few weekends + reading some stupid how to do interview books and stuff like that... a real shame.
- ElysianEagle 11y ago> This process has made me consider changing careers because it's so exhausting. Me too. I'm so put off by the entire process but it seems that to stay relevant, you have to get lucky and end up at a place that keeps your skills up-to-date with opportunities to learn and use the latest tech, or you jump ship every 2-3 years meaning you're once again dealing with this insane pressure of interviewing. Throw in ageism once you get past your mid-30s or so and the mere thought of staying in the industry starts to look quite depressing :-/
- deleted 11y ago[deleted]
- bcg1 11y ago> we would ask you to use just your language’s standard library, no third-party libs or frameworks... With the problem description, we sent to candidates a functional test suite, a binary that when started would try to connect to the candidate’s server implementation, open lots of sockets, sends lots of messages, and verify the results against what the problem description stated. The candidate was instructed only to send their submission once it passed the functional test on their local box. Incidentally, this is exactly how the "Sun Certified Java Developer" certification was structured. You were only allowed to use java.* and javax.* packages provided as part of the JRE, and even among those things like the SQL packages were off limits. Instead of sending a test suite, they provided an interface you needed to implement and then when you submitted it, they had some sort of test suite that tested your code for conformance to the spec (and if it failed, you failed). If it passed, someone would manually review your program to make sure it made sense with respect to the requirements (which were intentionally somewhat vague, like real requirements) and if you passed that step, you had to write an essay about WHY you made certain design decisions (like sockets+serialization vs. RMI, etc). This was by far the most challenging and fun task of its type that I've done, and to this day if I see that someone has that certification I know that they have what it takes to get things done. This methodology should really be utilized more, although for many companies the overhead of designing such a challenge would be way over the top. Makes me think that things like https://www.stockfighter.io/ https://www.stockfighter.io/ have a future in our industry.
- im_down_w_otp 11y agoWeird. I've created from scratch: new CRDT data-types for geospatial problems, new highly-available transaction patterns that provide useful causal history and atomic visibility, large-scale messaging platforms (400k ops/sec), high-throughput machine learning pipelines, lock-free lightweight-process mailbox implementations, and an end-to-end build pipeline for generating bare-metal rumpkernels to be parallel deployed to N-number of Minnowboard Max devices. Among other things. If you asked me to do homework to prove to you that I can "program", I'd have a brief discussion with you about how misguided that seems, thank you for your time, and walk away. I mean fully "hundreds of connections" to a socket pool? Are you serious? If I submit a solution that can do "hundreds of thousands of connections" that includes QuickCheck tests for your protocol and my implementation, Ansible scripts for deployment and orchestration, and a Makefile that builds it, tests it, bakes it into a unikernel, and drives the Ansible scripts to push it out and start the end-to-end load test, do I get to be CEO or something? Why is tech hiring so full of strange, meaningless obstacle courses? Do we just collectively not have better ideas?
- estefan 11y agoBecause there are a lot of shit candidates. You might know you're worth talking to, but try hiring and you'll see why people want to separate the wheat from the chaff.
- im_down_w_otp 11y agoI have tried hiring. Many times. As recently as yesterday. Using a combination of (semi-)rigorous personality profiling (time constrained), and mapping the abstract problem domain of their prior work to the problems I actually have for them to work on, it's been possible to align new people with the work such that they're intrinsically motivated, and make sure all the bases are covered for the necessary roles (hacker, inventor, finisher, watchdog, etc.) to carry a very large greenfield project from start to finish. I've never once given a cute riddle, puzzle, or coding challenge as a part of the interview process, and actively dissuade others from doing it as well.
- 11y ago
- gorpomon 11y agoOn paper (or blog), having a candidate write code for an interview is better than a BS whiteboard session. In practice, it means I spent 20 hours on my last piece of sample code I submitted to a job I was excited about. Only to be told no thanks, with the feedback of: "Your app meets what we spec'd out, but it differs from our style." And to be clear, after I repeatedly asked for what they were looking for in this code, they replied "we are purposely providing nothing except functional requirements to see what you produce". I could have given them exactly what they want, but I guess they'd rather just wait and hope that someone magically codes the same way they do? Honestly I should have billed them after that.
- joantune 11y ago"It turns out that most people would put together a Rails app with more lines on their Gemfile than lines of actual code they wrote. Worse" - how is this worse then rewriting the wheel? write code only when you must
- Detry322 11y agoI would argue it contributes to huge bloat. People pull in huge powerful libraries to format a single date. In addition, a vulnerability in a library you pull in could compromise your application. Even deeper, a sub-sub-library (i.e. one you didn't even add yourself) could have a vuln that affects you.
- mixmastamyk 11y agoWatch the recent coreos post/video, the CTO is probably a smart and nice guy but he looks about 16.
- 8_hours_ago 11y agoThat is not a very nice thing to say. Some people look much younger than they are (as Brandon does). I guess I should be grateful that I look older than I am because of my rapidly receding hairline.
- kozukumi 11y agoI would have said he looks more like a young-looking mid-20s, no idea how old he actually is, couldn't find anything in my 5 seconds Google search. Out of interest how old is he then?
- dublinben 11y agoAccording to this article[0] Robert Cornish is 45. [0]http://www.institutionalinvestor.com/article/3532520/banking-and-capital-markets-trading-and-technology/the-2016-trading-technology-40-robert-cornish.html http://www.institutionalinvestor.com/article/3532520/banking...
- dandersh 11y agoSorry but I will not write any code for you. Furthermore, after providing ZERO feedback in the past when I have provided github links, offline code samples, personalized cover sheets, etc. to prospective employers this also will not be done. I'm not going to worry and beat myself up because you can't be bothered to provide feedback even when requested to do so. Homework for programming jobs is just like homework for school: it is not used to judge competency but to demonstrate that your time is not your own as it belongs to someone else. In the case of programming jobs the homework assignment also acts as a filter to weed out employees who will not be properly subservient to the employer.
- pnathan 11y agoMy main hope when talking with a recruiter person is that we avoid the kabuki theater. at this point: I'm good at some stuff, poor at others. My resume is an adequate description of things I am good at. I'd like to talk personality fit now, thanks.
- encoderer 11y agoI don't usually ask candidates to write code for free. They're professionals and I expect them to _review_ code with me -- some of theirs and some of ours -- but not write it. I find that asking a candidate to write code for no true economic purpose that I will lightly read and then throw away does not inspire somebodies best work and I can gain more insight by an exercise where i have them read an explain code to me.
- verelo 11y agoA lot of people here seem to suggest it is unreasonable to ask someone to do some coding in an interview given that you've shown a series of projects and provided references. Unfortunately I've been through a variety of interviews where I feel the conditions which I was asked to code were unreasonable (whiteboard, overly complex problems while under pressure, using a language I was not comfortable with or just academic problems that are rare in the real world), but I really think confirming their ability to write code, beyond things like github repos etc, is an important step of hiring a developer (because i've seen great github repos and references, but ended up with developers that are very, very average) I've only hired tens of people, and while that is not a massive sample size, I'm still astonished by the simple questions we ask that people get stuck on. The one that continues to shock me: "In any language of your choice, write a function that takes an array of ints and returns the sum of those ints (If you use a language such as php do not use array_sum)" I'm just looking for something like: function sum($ints) { $sum = 0; foreach($ints as $i) { $sum += $i; } return $sum; } Then we follow up with something like: "lets say your input array contains [4,-7,0], walk me through the code" And we finally ask "talk to me about some things that could go wrong at runtime that might cause issues with this function". Expecting people to talk about overflows (maxint?) or if its a dynamic language like php, checking for non-integer values. I estimate that around 50% of people get ruled out during the "coding" exercise mentioned above. It is astonishing that these people even apply for developer jobs.
- tomjen3 11y agoImagine there are twenty candidates who can't code at all, so they apply everywhere. There are also twenty candidates who can code, but are presently unemployed because they all worked for SpoonRacket. Now the entire lot apply for jobs at your company, and you hire two of those who can code. Within 3 months the rest of the good ones have found jobs, but 30 others have temporarily been unemployed and none of the bad ones have been unemployed. So you interview again and roughly 40% of the programmers you interview can't code. But that doesn't mean that even 5% of the programmers out there can't code, it just means it is the same bad programmers that interview in lots of places. It is the same when employers say they are getting ten or twenty job applications for every open position - that doesn't mean anything because everybody who is unemployed applies to more than one place, but from only one side of the fence it sure looks like that.
- p4wnc6 11y agoAs I mentioned in another comment on this thread, one of the biggest issues is framing programming as a low-status, commodity activity. I doubt Digital Ocean does this since they want good people, but a lot of firms absolutely design their hiring process to create an upper hand and lower your status before you even walk in the door -- especially if you're an experienced engineer. Short timed tests or whiteboard hazing are the worst version of this. These are the most blatant attempts to commoditize software labor down into a fixed set of "primitives" like data structure trivia or riddles. This is what organizations like HackerRank exist to do: allow big companies to suppress wages by creating these sorts of commodization filters. They don't attempt to capture the value of creative problem solving at all -- because the company is not pricing the value of creative problem solving into the budget for the position, since it's a rank-and-file commodity job. For this reason alone, you are better off flat out rejecting anything like a HackerRank test or similar online, interactive, short timed test. I would absolutely go so far as to even refuse to write code on a whiteboard if asked to do so in an in-person interview. It's fine to talk about how to solve a problem and spec things out. But the minute it becomes focused on actual fucking syntax, it's game over. You are now a cog. Longer-form tests are a lot harder to evaluate from the candidate's point of view. Now you are asking for a significant chunk of my time, without paying me. And I am still at the mercy of whatever you happen to think constitutes a valid test. I might look at your take home test and thing, "wtf? this has nothing to do with real world work." Where does that leave me? Of course I want to impress the hiring staff, but I also don't want to get roped into a bad job, and a team that hires me to do real world work by using contrived coding examples is probably not a good place to be. Personally, I think it's a lot more useful to talk about code that already exists. Either example code form the candidate, or example code that you give to them along with some time to study it. Engineers read code more than they write code anyway, and right when you hire someone, even if you're a bleeding edge start-up, their short-term impact is a lot more predicated on their ability to read code and quickly learn a new system, not so much writing a bunch of stuff from scratch. It's also pretty hard to fake competency when reading and discussing actual code. If you don't know how something works, you just don't know. You probably can't just google how the internals of some highly-specific ad hoc code works, unlike data structure trivia (which is yet another reason why it just doesn't matter how much data structure trivia you have memorized). Basically, my overall conclusion is that when someone asks you to code in a short, timed setting, they are basically lighting a cigar, fingering their handlebar moustache, kicking their feet up on the table, and saying "dance monkey dance." Unless you are literally desperate for the job, you should reject it right away. You are being positioned so that no matter how well you do on the test, you are but a lowly code typist and they will not take your attempts at negotiation seriously.
- logfromblammo 11y agoYou don't have to determine whether I am good at writing software. I put that right on my resume. You just have to determine whether I am a liar--or, more generously, simply unable to assess my own abilities accurately.
- dmitrifedorov 11y agoThat article is the best advertising for not working for DigitalOcean. The management doesn't understand what makes a good programmer.
- justinhj 11y agoA few years ago I was given a programming test after an initial phone screen with a HR person. They said do it in any language, and it had a fancy framework that let you edit and test the solution before you sent it. I chose Clojure since I was learning it at the time. The problems were easy and I made working solutions, but the framework wasn't working. I gathered some call stack data and sent it to the people that make the tool. They thanked me for the feedback and later fixed the bug. I sent the completed code by email to the company with a note about what had happened. Showing clearly that my code works in the form of some tests. Then, on the basis of this they didn't proceed.
- neoCrimeLabs 11y agoI just want to create a well documented simple resful API for applicants to use. If an applicant wants to apply for a job they have to write code in the language of their choice to apply using the API. Upon successful application, request their SSH public key and supply a git repository they can check their code into. A hook script will email me upon successful commit. A moderately experienced dev will not spend much time to apply, and frankly would probably enjoy the interface better than most job application websites. :-) A lesser experienced dev will end up spending more time, but really if they are successful we would still want to look at them.
- disbelief 11y agoThis sounds like a great idea! One caveat being that the it probably caters more to web/mobile devs. Eg. you probably wouldn't use this challenge for a database engineer, or machine learning role. You could, but it wouldn't tell you much about their skills in the domains you're interested in. Still definitely worth trying for roles where it makes sense. I might try this.
- neoCrimeLabs 11y agoGreat point on the rolls. It does make me wonder how hard it would be to come up with basic challenges for different roles to simply apply to the job using their skills. I guess for some rolls harder than others. :-) The goal wouldn't be a hard challenge, just one that shows basic competency and problem solving ability within their field. Still this would take time and effort to create. That said, the last time I hired someone I probably spent 100 hours reading resumes, filtering candidates, and interviewing people.
- lukasm 11y agoCheck this out https://github.com/lukasz-madon/hackers-job-apply https://github.com/lukasz-madon/hackers-job-apply
- neoCrimeLabs 11y agoNow that's simple and effective. Thank you!
- TheOneTrueKyle 11y agoI recently spent 4 weeks of my life interviewing for one of the bigger video games companies for their web dev team. After those 4 weeks, I didn't get the job. Around the 3rd week I felt like my time was wasted. I want to work for this place, but if I want try again later in life, I probably won't because it took up way too much of my time with little to no value. It sucks that I'm required to sacrifice my personal and vacation days to find potential new employment.
- makecheck 11y agoWell, you can’t give people stuff to do offline because they cheat (you’ll see the whole thing show up in no time as a Stack Overflow question). And you can’t avoid coding questions during interviews because it is astounding how much people lie on résumés; seriously, even people who describe their background as “Advanced Knowledge of $LANGUAGE”, can choke when asked to do the most trivial things in $LANGUAGE. I try to ask questions that aren’t completely ridiculous, but definite tests of knowledge. And in my mind I judge correctness not so much on remembering obscure syntax but on how they approached the problem, and how much time it seemed to take them to start doing something. I always ask about things like how they approach debugging, testing, etc. because these are important too and they tell you a lot about how likely the person is to be able to handle any problem you come up with.
- ClayFerguson 11y agoI think the reason so many companies resort to asking candidates to do a programming project for the interview is because they are lazy and don't want to take time to interview someone, or they suck at interviewing, or both. Bottom line, if you can't judge someone's ability by talking to them it's YOUR fault. You suck at interviewing. Last time I was looking for a job a company I was interested in gave me this massive assignment and I just told them to take a hike. I'm not spending all day writing some code for you for free sorry. Sure there are lots of horrible programmers out there, and you'll end up hiring them if you suck at determining what their skill level is via a conversation. But I hope other GREAT developers follow suit with me. Refuse these stupid programming challenges.
- msy 11y agoHave you considered that part of the purpose of the challenge might be to filter out particularly arrogant applicants who might be problematic in a team setting?
- qzxvwt 11y agoCould be, but that'd be an assumption at best, and "negging" at worst. Also, one could just as easily see a "massive" assignment as arrogance from the employer.
- dannyr 11y agoI'd take take-home over whiteboard interviews. Even with whiteboard interviews, you still need to prepare for them. I would say I probably spend at least 8 hours preparing for them mainly because of its arbitrary nature. I have no idea what they will be asking. With a take-home programming challenge, there is less uncertainty. By looking at the exercise, you can make a good estimate on how many hours it would take and see if it's worth doing.
- whatthefox 11y agoI would prefer it that way too but whiteboards aren't getting replaced with take-home assignments. Instead they're a step towards the whiteboard stage. The whole process is just getting sillier compared to other professions.
- lfmunoz4 11y agoGood for initial screening, but should not take more than 30 minutes. Else IMHO laziness or incompetence asking a programmer to do an assignment. Any good manager/developer/interviewer can sit with a candidate for 1-4 hours and determine if his skill level and personality match the job requirements.
- MangezBien 11y agoInteresting. I applied to DO about ten weeks ago. I had an initial phone screen, and they sent me a code challenge. I completed and turned in the challenge. Then I heard nothing for two weeks. I reached out to my contact there, and she got back to me a week later saying, "I've been waiting on feedback - sorry it's taking so long! I just pinged the manager again this morning." That was the last I heard from DO. I feel like I wasted the half-day I spent on their code challenge. I don't expect a job, but a simple "Thanks but no thanks," would be nice.
- brobinson 11y agoAfter having this happen a few times during my job hunt a few months ago, I decided I won't do any take-home coding tests if they take more than 2-3 hours. Even if you get great feedback on your work, there's still a very high chance that the company will just go radio silence on you. This seems to happen especially frequently with smaller startups.
- catfest 11y agoUgh, I have a take home assignment from them to do, worried the same thing will happen to me :/ I don't want to waste the time if they don't get back to me..
- cheez 11y agoYep, companies are really abusing the take home. A long time ago, when I was actually bothering with interviewing, I would ask for $1-2K depending on the size of the problem. If it was about 10 hours, $1K was usually OK. I never had a problem asking for this, but the problem is that so many companies are doing it now that they cannot afford to pay everyone.
- mamoswined 11y agoYeah I ignore jobs that ask for these screens. I've spent a lot of time on them and then not heard anything. When I'm adding to my own team I would rather talk to them about code than have them do these screens. It's more holistic and I get more of a sense of how they think. If I'm going to give them a code challenge like this I wait until after the phone screen so I don't waste people's time.