Ask HN: How long do people spend on coding assignments?
I have a pretty hard and fast 4 hour rule. If the assignment works at 4 hours that's it for me. If it doesn't work but I can make it work in a short bit of time I continue, if it doesn't work but I don't know how long it will take to make it work or it will take a significant amount of time I stop (this happened one time, there were environment problems and bugs with the libraries I was supposed to use on my system, I swear it took exactly 4 hours to fix these)
I'm asking because I just got turned down because me task was not good enough, which OK, some of the feedback is also correct because I did 4 hours and could have improved things (some of the feedback was crazy enough that I thought maybe they didn't look at my project)
I could definitely have improved it significantly with 6 hours. But I don't believe anyone, applying for an e-commerce programming job at a major online retailer, would have done significantly better with 4 hours, this leads me to conclude that people are maybe doing 6 hours or more.
So how much time do you spend on a programming assignment?
Has this amount of time gone up in recent years? Or in the last few months due to the economy.
Do you spend more time when unemployed or employed.
Do you vary it significantly between types of jobs you are applying for?
What is the field you generally apply in? (just want to see if people spend more backend then frontend or other areas)
I'm also wondering, and here it may you want to just send me messages privately on this, but are you married and has marriage/kids affected your time on programming assignments (as I am thinking about particular legal challenges, in an EU context, to the legality of programming assignments - if it turns out I have to spend 8 hours per assignment nowadays I'd rather mount a legal challenge)
- I always learn new things
- learn and experiment new ways of doing a task
- get to see how a different team thinks about projects
During the walk through, I can demonstrate my organization and documentation skills, in addition to having an interesting back-and-forth about different tradeoffs.
If an assignment takes too long, then I make sure a subset is implemented. Then the rest is stubbed out, to be handwaved on the walk-through. In theory. Sometimes I get carried away and work too long on an assignment.
I'm mostly a Backend Dev / DevOps kind of person.
Here are my rules for accepting coding assignments:
* See the grading criteria along with, or before, the coding assignment instructions. Otherwise, its subjective bullshit that can fail for any reason. Worse, there is a small yet common probability of this being unpaid labor for their actual work product.
* Make it known to them that you will store your answer in public without their instructions or work materials. If that is a deal breaker then there is a trust/honesty problem. This is your time without compensation.
* As for time and duration of total effort this should vary due to the complexity of the assignment and your level of interest. Since there are no obligations here the minimum time is 0. You can always walk away. If you find the assignment fun or interesting take as much time as you want and later use the answer in your personal software if you can.
My experience doing these, as a former JavaScript developer, leads me to believe this isn't a measure of the applicant's abilities but rather a measure of the evaluating developers, the employees, comfort in your coding style. That being said don't do the assignment in the most precise or performant way unless the instructions say otherwise. Do it in the most common and popular way according to an extremely junior developer even if much slower and much larger, and also don't be shy about including too many popular dependencies.
So I would spend 0 minutes
And not just because I am not especially close to a 'coding' or 'developer' role in my IT career
But because they are all* a complete and utter waste of time
Unless you mean a whiteboarding session in an in-person interview, where you see approaches to problem solving, swags in the direction of an answer, refinement of the problem statement, etc - those I spend 15-20m on (out of the 45-60m interview session)
---------
* maybe there is a coding assignment that is not a waste of time, but I have never in my well over 20 years in IT seen it
I've done many coding tasks over the years and I never limited myself to 4 hours. This is to showcase your abilities. Make it the best you possibly can, without over-engineering it. I think only once did I not get the job.
"Has this amount of time gone up in recent years? Or in the last few months due to the economy."
No, but you didn't get the job, so you need to do better.
"I'm also wondering, and here it may you want to just send me messages privately on this, but are you married and has marriage/kids affected your time on programming assignments (as I am thinking about particular legal challenges, in an EU context, to the legality of programming assignments - if it turns out I have to spend 8 hours per assignment nowadays I'd rather mount a legal challenge)"
A legal challenge? I would never hire you. Good luck.
probably not, but I believe that if the time is too much being spent then in the area that I am in, the EU, there would be possible legal challenges to companies being allowed to have coding challenges - this of course depends if the actual time being spent on average is significant, 4 hours seems reasonable, 8 hours I believe would be actionable.