News for hackers. Stuff that matters.
Re:Microsoft changed how it interviews software developers by solveit on Sunday December 30, 2018 @08:32PM (#18792473)
I mean, people shouldn't be reversing strings by hand, but being unable to do so is also very worrying. Not because manual string reversal is an everyday problem, but because you need to do similarly complicated things all the time. In fact, you need to do them even if you're not a dev, it's just that devs share a common language that makes string reversal a sensible problem to ask in an interview.
Re:Microsoft changed how it interviews software developers by pytester on Sunday December 30, 2018 @09:37PM (#18792687)
>you need to do similarly complicated things all the time

My policy is to ask about those things instead. The ones you'll actually do rather than the ones that are, at best, tangentially related.

Re:Microsoft changed how it interviews software developers by recursive on Sunday December 30, 2018 @09:46PM (#18792713)
It takes a few days to explain the business rules. It's probably better to use a well understood general structure.
Re:Microsoft changed how it interviews software developers by pytester on Sunday December 30, 2018 @10:22PM (#18792814)
It isn't that hard to isolate a block of code that addresses a small cross section of your business rules and ask a candidate to do something meaningful with it.
Re:Microsoft changed how it interviews software developers by nearbuy on Monday December 31, 2018 @12:48AM (#18793248)
That could be an excellent second, more involved, question. The first, super simple 2-minute sanity check question is to reverse a string. It's literally just a reverse for loop.
Re:Microsoft changed how it interviews software developers by tome on Monday December 31, 2018 @05:42AM (#18793982)
Then the complaint will be "they gave me a question about a really specific and hard to understand part of their code. It would have been easy to solve if I had familiarity with the concepts involved. Why didn't they just ask a similarly complicated question about strings instead?"
Re:Microsoft changed how it interviews software developers by pytester on Tuesday January 01, 2019 @11:30AM (#18800784)
That would be the complaint if you didn't isolate the code and explain the task properly.

If you can't do that then you should probably worry about your own skills before testing somebody else's.

Re:Microsoft changed how it interviews software developers by recursive on Tuesday January 01, 2019 @11:33AM (#18800806)
That's not really actionable. Even if my skills aren't up to pytester's standards, we still need to recruit developers now. And for what it's worth I doubt I'll ever be able to explain most of the tasks our business is doing what you refer to as "properly".
Re:Microsoft changed how it interviews software developers by pytester on Tuesday January 01, 2019 @12:21PM (#18801086)
I joined a team two weeks ago that built a fairly complex machine learning pipeline. One week in I was told I needed to help interview a candidate.

I lopped off a block of the code, made it run without the rest of the code base and explained what it was supposed to do. This wasn't that simple, but could still be explained in about a minute to somebody with familiarity in ML (assumed; that's what we're hiring for). I then challenged the candidate to spot any bugs and implement a feature.

This really wasn't that hard. I've done the same thing twice before in two completely different industries.

Why would that be impossible for you?

Re:Microsoft changed how it interviews software developers by recursive on Wednesday January 02, 2019 @04:16PM (#18810285)
Perhaps I just don't understand what you're proposing. If it's general enough to be presentable without any domain specifics, then it seems indistinguishable from a general algorithm like reversing a string. I don't use tasks quite as simple as string reversal but not far from it.

As I read it the main observable difference between your exercise and the kind of exercise you're arguing against is that you are starting with some baseline code that the candidate is supposed to modify. That seems like a pretty good idea, but I haven't used it yet.