News for hackers. Stuff that matters.
Re:Coding Problems from Programming Job Interviews by lqet on Friday January 25, 2019 @11:32AM (#18999541)
I personally sat next to my boss in some of our few "classic" job interviews. Questions like the ones mentioned in this article were never brought up, because it would've felt extremely unnatural, even ridiculous. We usually took day-to-day real-world problems that weren't abstract and asked the candidates how they would approach them.

Some of the best software engineers I have seen in my life were not trained computer scientists and would've failed many of the questions presented in this article. Not because they weren't highly intelligent, but because terms like "bubble sort" meant nothing to them.

E: The company had around 10 employees. "Interview" processes often went like this:

1) Establish first mail contact (either because they are applying for a job, or because the company found out about an interesting tool they wrote, or met them somewhere, or...)

2) Discuss skills of candidate, decide whether the skillset fits the companies needs

3) If so, take a programming job fitting their skillset (usually some low-priority ticket) and give it to them as a freelance job

4) If delivered in good quality, pay them and discuss future job options. If delivered in bad quality, pay them and don't discuss job options. If not delivered, ignore.

Which I always thought was a very reasonable approach. Very often, the people weren't even interested in a job, but wanted to continue to work as freelancers.

Re:Coding Problems from Programming Job Interviews by com2kid on Friday January 25, 2019 @01:07PM (#19000557)
While working on an embedded team, the basic CS questions were incredibly relevant.

No libraries meant we had to manage our own data structures. We had our own UI system, so understanding how to walk trees and manipulate them efficiently was crucial. Removing duplicates from an array in an efficient manner, important.

Linked list stuff? Oh yeah, very important. Linked Lists underlay a lot of basic OS data structures.

We did have real world problems in the interview mix as well. We'd give an underlying low level API and ask how it could be used to construct a more user friendly wrapper API. We'd give examples of in memory layout of objects and ask how that layout could be improved.

At the end of the day, we wanted to hire people who could solve problems, but also sit down and have a good discussion about how to solve problems.

FWIW it was always possible to tell, with junior employees, the engineers who had gone through CS and those who hadn't.

A good decade of self study of course bridges the gap, but right out of college? I've seen very smart people, good coders, who didn't realize they were working with relational data, and over-complicated solutions.

I also saw people trained as game programmers write mind blowingly fast code that computer scientists would be hard pressed to understand without a fair bit of study.

I had to spend a fair bit of time explaining isomorphic tranforms of code/data structures/concepts though. Game programmers pick up on that one quick, "like a matrix, but instead provable facts about software."

Re:Coding Problems from Programming Job Interviews by chooseaname on Friday January 25, 2019 @03:46PM (#19002336)
What were the percentage of non-CS grads applying for an embedded systems job, anyway? Maybe I'm wrong, but if you're applying for embedded with as a non-CS, you either know what you're applying for and know your stuff or are absolutely clueless in general.
Re:Coding Problems from Programming Job Interviews by com2kid on Friday January 25, 2019 @04:22PM (#19002598)
Hiring for embedded UI jobs is hard. I went out and recruited from schools that teach video game programming. The skill sets overlap a lot.

I also wasn't allowed to tell people what job they were interviewing for. That made things extra fun!

Teaching people who had spent their life in tight highly performance optimized C++ how to work in embedded wasn't that hard.

Except for the "so, now we measure ram in Kilobytes!" part.

But, there is a reason the Microsoft Band had real alpha blending, transparency effects, a simple particle engine, and true type fonts, all with a 120mhz CPU and 256KB of SRAM (and a few more megs of super slow RAM for cache sitting off the side).

Re:Coding Problems from Programming Job Interviews by anyfoo on Friday January 25, 2019 @01:03PM (#19000511)
> Not because they weren't highly intelligent, but because terms like "bubble sort" meant nothing to them.

That's fine, but understand that they often would not be a fit. If the position is low level systems programming for example, not knowing the term "bubble sort" indicates that they will have troubles in getting up to speed in a modern, complex environment, even if they are very smart. Same if the position is e.g. to work on a database, i.e. its actual implementation.

Solid knowledge of both abstract and specific aspects of computer science and engineering are prerequisites for a lot of programming jobs, especially where you work on things that consist of the environment itself, instead of the applications that run on it (though this is sometimes true for those, too).

Re:Coding Problems from Programming Job Interviews by meheleventyone on Friday January 25, 2019 @02:59PM (#19001905)
I think most highly intelligent people can learn concepts that are part of undergrad degrees pretty easily. Let's face it plenty of regular people don't have much issue either. Especially if this lack of minutae was combined with a CV that got them into the interview room for a role that required it in the first place. Gaps in knowledge are about the easiest to fix.
Re:Coding Problems from Programming Job Interviews by theseatoms on Friday January 25, 2019 @12:46PM (#19000354)
> give it to them as a freelance job

I've always wondered why this isn't more common. It's win-win to be able to test the waters in this way. What downsides am I not seeing?

Re:Coding Problems from Programming Job Interviews by normal_man on Friday January 25, 2019 @12:48PM (#19000378)
Difficult to hire people who already have a job and aren't interested in moonlighting.
Re:Coding Problems from Programming Job Interviews by indigo945 on Friday January 25, 2019 @01:40PM (#19000946)
In addition to what the other commenters wrote, take-home assignments are also negative for diversity as they pre-select against candidates with less free time, which likely includes single parents and people from low-income backgrounds.
Re:Coding Problems from Programming Job Interviews by conanbatt on Friday January 25, 2019 @02:20PM (#19001428)
Gotta be honest about this. You are applying to a job of 40 hours a week and 6 figure salaries, and you cant make time for 10 hours of work?
Re:Coding Problems from Programming Job Interviews by celestialjeu on Friday January 25, 2019 @02:35PM (#19001602)
You might currently be working a job that is 50 hours a week -- or 60! Also with the example of a single parent they often can't make room for yet another 10 hours of a work in a week because they need to spend time with their children/take them to activities/cook dinner etc. Manageable when you are working 40 hours a week but it quickly becomes unreasonable. To me a job that wants me to work for them before I have an actual job offer is a red flag. I don't even work for them yet and they don't respect my time. What's it going to be like when I do work for them?
Re:Coding Problems from Programming Job Interviews by conanbatt on Friday January 25, 2019 @02:45PM (#19001720)
Sorry, this triggers no empathy to me. This is alledgedly a workforce that requires years of study ,training and practice.

Being unable to work 10 hours to prove it shows you are a pauper, all the other excuses are complacency.

Re:Coding Problems from Programming Job Interviews by ball_of_lint on Friday January 25, 2019 @03:46PM (#19002334)
Quitting your job or dropping some other responsibilities might he reasonable for some people who can live off of their parents money or their own savings, but for many people that means losing their home, their car, or even their children. Indigo945 isn't making excuses for them or himself; he's telling you that for them to make that 10 hours would cost them far more than the new job might give.

Also, if anyone should be able to make another 10 hours in their week to work in tech why not say Steve who works at $BigTechCo? Now I know we just asked Steve for another 10 hours, but lets go ask him for another 10. No, the circumstances shouldn't matter, he's making 6 figures after all. Let's ask him again. And again, And again. Oh, Steve quit? What a pauper.

Re:Coding Problems from Programming Job Interviews by firstplacelast on Friday January 25, 2019 @09:44PM (#19004443)
The same can be said for requiring candidates to have a github or using a college degree as a filter. Not everyone has the luxury to take out 10's of thousand in debt and spend 4+ years of their life learning instead of earning.

So unless you advocate for completely blind interviews that do not rely on a resume and only take up 3 hours of someone's day, your point is moot.

Re:Coding Problems from Programming Job Interviews by ball_of_lint on Sunday January 27, 2019 @03:20PM (#19013560)
It's a part of hiring someone to have them send in a resume and verify that they have the skills needed to do the job. I contest that it is not fair to disqualify candidates because they cannot meet arbitrary and unreasonable demands for their time. A phone interview is almost always reasonable. A 10 hour work sample due this week would often be unreasonable. It depends a lot on context and conanbatt discarded that.
Re:Coding Problems from Programming Job Interviews by conanbatt on Friday January 25, 2019 @04:38PM (#19002759)
> Indigo945 isn't making excuses for them or himself; he's telling you that for them to make that 10 hours would cost them far more than the new job might give.

Thats not a "people cant do 10 hours" its a "they dont want to" which is perfectly reasonable. The company that gives 10 horsu of work better be appealing.

But saying that take home assignments are bad because they take time people cant afford to give is complete bs.

Re:Coding Problems from Programming Job Interviews by oarabbus_ on Tuesday January 29, 2019 @12:59PM (#19028376)
I have trouble believing you aren't being facetious, trolling, or willfully ignorant. If you've spent any sort of time in this industry at all, you know that people apply to many places at once. Sure, one 10-hour assignment isn't much, but although you seem to live in a fantasy world where people only apply to (and receive) one "job application homework assignment" at a time, that's not actually how the real world works. Companies that tend to pull such nonsense also tend to have poor work cultures. I suppose it self-selects for people who don't have a family or out-of-work commitments, but maybe that's what they're going for.
Re:Coding Problems from Programming Job Interviews by technion on Saturday January 26, 2019 @02:13AM (#19005260)
I could put aside ten hours for an opportunity and not consider it an issue.

Applying ten places and getting 100 hours of homework knowing there's a good chance of ten businesses ghosting? I have plenty of empathy for people who have to make that choice.

Re:Coding Problems from Programming Job Interviews by watwut on Friday January 25, 2019 @04:03PM (#19002472)
I like that rhetorical tactic where people who don't bend to you wishes due to having better options are surely complacent paupers.

It is interesting to watch, but not convincing as an argument.

What about I am not doing that, because there are places with same salary and more consideration for people who work.

Re:Coding Problems from Programming Job Interviews by conanbatt on Friday January 25, 2019 @04:41PM (#19002785)
There is no bending, there is an ask, and a response of "the ask is impossible to fulfill", which isn't. Its dishonest, but worse, its dumb because its obviously false and couterproductive.

Not spending 10 hours to decide where you might spend the next 20 thousand is plain penny wise, pound foolish. If a job ceteris paribus pays 5% more on a 100,000 income, and doing the work assignment gives you 50% changes of getting that 5%, its like getting 2,500 U$S per year for 10 hours. It pays for itself.

Re:Coding Problems from Programming Job Interviews by watwut on Friday January 25, 2019 @04:51PM (#19002871)
The kind of place that treats 10 hours this way is a kind of place that will treat you badly as employer. Same attitude will be applied in all aspects. The same very real considerations will be treated as dishonest excuses later on. Expect regular and long crunch and no control over when overtime.

Also, the assumption that forfeiting those 10h will make one financially worst off is likely wrong, especially in long term.

Lastly, we are not talking about 10h deciding, we are talking about 10h of a single take home assignment - there are more companies to talk with and decision making time is not in it.

Re:Coding Problems from Programming Job Interviews by conanbatt on Friday January 25, 2019 @05:00PM (#19002942)
Then it works as a great signaling, its just not the match.
Re:Coding Problems from Programming Job Interviews by watwut on Friday January 25, 2019 @05:35PM (#19003265)
Yeah, well except the complacent paupers part and dishonest part where very real considerations and decision making is casted as something shameful that makes you less capable. Likely serves to tilt the culture toward not speaking up about these openly.
Re:Coding Problems from Programming Job Interviews by scarface74 on Friday January 25, 2019 @11:38PM (#19004792)
Or you know your worth, and as soon as you change your status to “actively looking” on LinkedIn, you’ll have job opportunities flooding your mailbox.
Re:Coding Problems from Programming Job Interviews by indigo945 on Friday January 25, 2019 @04:14PM (#19002537)
If you are applying to only one job, you are either in a position where you don't have to do silly homework exercises (i.e. you already have a foot in the door) or you're not doing job searches right. For most people, it is far more reasonable to assume that they might apply to 3-5 jobs at once, and going by your estimate of 10 hours of work per job prospect, they would need to take an entire week off just to get to the point where they're offered an interview.

Everything else regarding your argument has already been covered by other users.

Re:Coding Problems from Programming Job Interviews by scarface74 on Friday January 25, 2019 @11:35PM (#19004785)
When I was applying for a job about 3 years ago, I scheduled six phone screens from different companies in one day. They all led to invitations for in person interviews, and all four in person interviews I ended up doing led to “40 hour a week, six figure jobs”. I’m no special snowflake - except for my network of local recruiters.

Why would I go through the song and dance? The salary ranges for senior developers/architects were all around $20K of each other. Unless the company is offering salaries in the 80th percentile, why would I jump through hoops just to work on a company’s software as a service CRUD app?

My last job hunt, I found the job that met all of my criteria (salary, technology, commute distance, size of company) within two weeks of looking.

Re:Coding Problems from Programming Job Interviews by quicklyfrozen on Saturday January 26, 2019 @01:21PM (#19007548)
Lots of good arguments against here. But assuming this assignment is in lieu of the usual 6+ hour whiteboard exam, then I say bring it on -- it's a lot less intrusive to my schedule.
Re:Coding Problems from Programming Job Interviews by xorcist on Friday January 25, 2019 @05:39PM (#19003298)
You're basically limiting your skill pool to those without a job. Or a family. Certainly not both.
Re:Coding Problems from Programming Job Interviews by robodale on Friday January 25, 2019 @01:09PM (#19000586)
If asking about a bubble sort during an interview I'm giving, I'd much prefer to hear questions come back about sorting bubbles rather than some person who's memorized popular algorithms and blindly gives me back some recreation of cookie-cutter algorithms that can be looked up from any source.

Here's what questions I'd love to hear be asked of me if I'd ask the candidate "create a bubble sort algorithm".

1. How many bubbles are there? (collection size and knowledge of collection data structures)

2. What sizes, and how many or percent of each size? (constants, basic math, possibly low-level statistics knowledge)

3. Do new bubbles appear/disappear, and if so do I know what size they appear as, and do bubbles change size? (new inputs to an existing set of data)

4. Since I'm sorting, would you prefer a particular end result? (2d or 3d structure or something similar things)

Re:Coding Problems from Programming Job Interviews by mlthoughts2018 on Friday January 25, 2019 @01:37PM (#19000914)
This just converts the problem from useless bullshit of the Cracking the Coding Interview variety into useless bullshit of the “how many ping pong balls can fit in a 747” hedge fund variety.
Re:Coding Problems from Programming Job Interviews by LoSboccacc on Friday January 25, 2019 @12:48PM (#19000380)
same, one really needs to engage the interviewee to see how it solves day to day problems, not just get packaged answer to closed questions.

that said, we have one extremely exercise (a simpler foo baz) just to avoid going in deep with people that lack the basic skills, of which there are many and were clogging our hiring queue.

Re:Coding Problems from Programming Job Interviews by munk-a on Friday January 25, 2019 @12:42PM (#19000311)
That's a very sane approach, it's one of the only ways I've seen to get an actual good work sample out of someone that doesn't exploit either party - good on you guys!
Re:Coding Problems from Programming Job Interviews by lordnacho on Friday January 25, 2019 @01:07PM (#19000556)
Makes sense but it selects against people with high opportunity costs, who are often the best ones.

For instance if someone with kids is already in a job, it might be tricky to find those extra hours.