News for hackers. Stuff that matters.
Re:Apple Developer Documentation Is Missing by GGfpc on Monday October 28, 2019 @10:55AM (#21377520)
To be honest, while documentation is extremely important in the real world, interviews are time-constrained, and it makes no sense to write documentation when you have 45 minutes to implement something like that.
Re:Apple Developer Documentation Is Missing by ChrisMarshallNY on Monday October 28, 2019 @11:15AM (#21377700)
Ignoring dozens of repos (non-forked), and thousands of lines of testable, shipping code, is probably not helpful.

I was a manager for a long time. I loved long résumés and relevant material.

I was hiring expensive people to work on really important stuff, and there was no way that I wanted to rush the vetting.

Also, I never gave a single test, and I think I got it right, every time.

Re:Apple Developer Documentation Is Missing by grogenaut on Monday October 28, 2019 @12:42PM (#21378588)
As someone who does a lot of interviewing at a big company, by the time the candidate is in a room (virtual or real) with me large amounts of vetting has been done by managers and recruiting. I really only look at the resume for context if I even do at all. I'm there to cover a specific technical competency and soft competency, and any other data I can get in 45 minutes + bio break, make feel comfortable, and them asking questions.

I rarely have time to look at code repos unless asked by the manager/recruiter.

You are also likely interviewing with the wrong people. Most large companies are looking for as many of the best devs they can find for generic opportunities. They have many many slots to fill.

If you are looking for something very specific then you need to find a recruiter who does placement as well. Amazon (where I work) has two major hiring processes, direct to team where they are usually looking for a specialty or generalist and take the first qualified candidate, and generalized hiring where you have to pass a standard interview but then you begin interviewing managers and finding a fit. The second may be better for you, but you still have to pass a bog standard interview.

There is of course the third way which is have a friend on the inside do the pre fit and selling.

Re:Apple Developer Documentation Is Missing by jimbokun on Monday October 28, 2019 @02:58PM (#21380291)
Throw out everything else you are doing in those 45 minutes and just look at their repo and make a decision based on that. You'll get better results.

(Maybe spend a few minutes on the phone just to verify they are really the person who wrote all that code.)

Re:Apple Developer Documentation Is Missing by grogenaut on Tuesday October 29, 2019 @12:15AM (#21384211)
Guess you missed what I meant. The manager/recruiter covers that. If it's substantial then I would likely get called in to review it.

The on site interviews are checking for things like communications, soft skill, design, etc. Things that don't fully come across in a code repo and are hard to verify who did what.

We have tons of people who try and misrepresent themselves. It would be a waste of time for the 6 people on a loop to all read the repo. It would also be bad if we didn't cover the things we cover in the on-sites.

We are also required to keep loops the same for all candidates. So giving an offer to one candidates because they have a GitHub repo and a phone call and the rest don't and therefore have to come in is a no-no. Therefore they all come in.

Re:Apple Developer Documentation Is Missing by mypalmike on Monday October 28, 2019 @11:51AM (#21378023)
Large companies tend to aim for standardization in the hiring process. They want apples to apples comparisons as much as possible, largely for legal reasons, but also for tracking metrics. Unfortunately, someone submitting high quality GitHub repo links doesn't fit a model where not many candidates are doing that.
Re:Apple Developer Documentation Is Missing by armadsen on Monday October 28, 2019 @12:04PM (#21378154)
Apple's hiring is not that standardized. Each team has their own process. There are some common themes, but they definitely don't all use the same tests. I've interviewed with a few teams there over the years (have ultimately turned down offers for one reason or another). I've had a pretty wide array of experiences, and incidentally, never a BST question.

I've also generally had very good experiences interviewing with them - tough but entirely reasonable questions focused directly on my expertise and the tech the team is using. One that stands out in contrast to OP's complaint was an interviewer that brought in a stack of printouts of screenshots of apps I'd worked on and used them to spark a discussion of the work I'd done on them.

OP's experience, while annoying, and not surprising, is also not universal at Apple.

Re:Apple Developer Documentation Is Missing by TeMPOraL on Monday October 28, 2019 @12:44PM (#21378608)
> but also for tracking metrics.

Another point in case against overreliance on metrics. Optimizing your process for making it easier to measure can easily turn into looking for your keys under a lamp post on a street even though you've lost them in a park.

Re:Apple Developer Documentation Is Missing by e40 on Monday October 28, 2019 @11:57AM (#21378073)
And that process doesn't seem to be workout out too well, based on all the posts I see here.
Re:Apple Developer Documentation Is Missing by eclipxe on Monday October 28, 2019 @12:54PM (#21378740)
Selection bias.
Re:Apple Developer Documentation Is Missing by leshow on Monday October 28, 2019 @11:37AM (#21377887)
> Also, I never gave a single test, and I think I got it right, every time.

There's bound to be some confirmation bias there

Re:Apple Developer Documentation Is Missing by ChrisMarshallNY on Monday October 28, 2019 @11:43AM (#21377942)
Yes.

I confirm that everyone that worked on my team worked out well. Some had more challenges than others, but we got the job done. The team worked well together, and we worked with our overseas compatriots in exemplary fashion.

I was very fortunate. It was a small, high-functioning, C++ team of experienced engineers. All family people, with decades of programming experience.

I'm quite aware that this was a luxury. I'm grateful for that.

Re:Apple Developer Documentation Is Missing by saghm on Monday October 28, 2019 @12:49PM (#21378676)
> All family people, with decades of programming experience

I might be reading into this wrong, but it almost sounds like you're saying that you only hired people who had families. Doesn't that sound a little bit discriminatory?

Re:Apple Developer Documentation Is Missing by twobat on Monday October 28, 2019 @01:34PM (#21379324)
You cannot hire by not discriminating. It's by default a task that discriminates.
Re:Apple Developer Documentation Is Missing by JoeAltmaier on Monday October 28, 2019 @01:37PM (#21379361)
Sophistry. "Discrimination' is well-understood to mean 'decide with bias regarding protected categories'.
[dead]
Re:Apple Developer Documentation Is Missing by saghm on Monday October 28, 2019 @01:21PM (#21379161)
Could you clarify what the intended reading is, then?
Re:Apple Developer Documentation Is Missing by ChrisMarshallNY on Monday October 28, 2019 @02:35PM (#21380056)
At my company, HR was run by the General Counsel. It was NOT a "warm fuzzy" HR, but it WAS an extremely "legal-correct" HR.

I would have been fired if I had shown any bias at all. I had my differences with some folks there, and I wasn't always thrilled with the way that things were run, but it was the most diverse environment I've ever seen; and I include a lot of Silicon Valley companies in that statement.

The simple fact of the matter was, that the jobs in my team required a fairly advanced knowledge of C++, and the lions' share of applicants were men in their 30s; usually married.

Marital status, gender, race, religious or sexual orientation/gender identification mean absolutely nothing to me; unless the applicant insists that it should. In that case, I generally find that they might not work so well in the team.

Lack of drama was important to me. We had a full plate.

Re:Apple Developer Documentation Is Missing by ChrisMarshallNY on Monday October 28, 2019 @04:16PM (#21381148)
I should also add that managing a team that has several senior, married people is NOT the same as managing a team of young, unmarried folks.

An almost guaranteed way to lose people with families, is to insist that they must ignore their family to work the job.

This means that things like offsites and travel need to take into account things like school schedules, childcare and time off. I would often let people travel on Sunday to Japan, taking the heat for them not being there for a Monday meeting (which usually was just a "set the agenda" meeting anyway). That was my job.

It doesn't mean that someone going through a divorce, or caring for a sick family member, can take a ton of time off when a project is melting down, but it does mean that I would work with them, to ensure that their families get cared for, and that they can leave the job where it belongs, so that they are 100% for their families.

If you do things like this, you end up with a team that will take a bullet for you, and will do things like travel to Japan for two weeks to work on an emergency integration.

It's absolutely shocking how many managers don't get that.

Re:Apple Developer Documentation Is Missing by xahrepap on Monday October 28, 2019 @11:08AM (#21377629)
I disagree. It's one way for the interviewee to reiterate back to the interviewer that they understand the problem and constraints.
Re:Apple Developer Documentation Is Missing by onion2k on Monday October 28, 2019 @11:49AM (#21377999)
Hiring people who can pass a clever quiz without verifying if they do good work in the real world is precisely how a company ends up at the top of HN with the headline "Apple, Your Developer Documentation Is… Missing".

I would argue that "how fast can someone implement this algorithm?" is a considerably less useful question to answer than "does this person document their code?" in an interview. If time is the constraint then schedule a longer interview.

Re:Apple Developer Documentation Is Missing by Permit on Monday October 28, 2019 @12:02PM (#21378130)
If this were true then the same would be posted for Microsoft, Google, Amazon etc.

There is likely no causal effect between whiteboard/algorithm interviews and poor documentation.

Re:Apple Developer Documentation Is Missing by whynaut on Monday October 28, 2019 @02:35PM (#21380062)
Maybe not much on HN (though I do remember many complaints about MS), but each of these have fostered complaints around the web.
Re:Apple Developer Documentation Is Missing by keithnoizu on Monday October 28, 2019 @11:53AM (#21378038)
what key macros do you setup to make jumping around in your IDE faster.
Re:Apple Developer Documentation Is Missing by onion2k on Monday October 28, 2019 @12:02PM (#21378128)
It's even worse than that really. Most of these white board tests seem to be "Have you revised this specific algorithm for your interview, and found the specific implementation we're looking for?" If you have, great. If not, rejected.

As a method of finding good candidates it feels like it must suck but so few companies are willing to actually measure their hiring effectiveness (and be open about it).

Re:Apple Developer Documentation Is Missing by dbt00 on Monday October 28, 2019 @12:43PM (#21378597)
> Most of these white board tests seem to be "Have you revised this specific algorithm for your interview, and found the specific implementation we're looking for?" If you have, great. If not, rejected.

As someone who has given hundreds (maybe thousands) and received dozens of these types of interviews, it's really not.

Generally speaking I'm looking for at least 2-3 of these abilities, depending on which question I'm asking:

1) Can you reason about data structures and algorithms when looking at a problem you haven't seen before? 2) Can you communicate your ideas effectively? 3) Can you integrate new information from a colleague while problem solving? 4) Can you write code that makes sense? Do you understand basic programming concepts? 5) Can you read your own code and reason about it?

There is at least two hidden attributes that I'm not testing for but do affect performance, so I try to account for them:

1) Are you comfortable with me, a relative stranger? 2) Can you do these things while dealing with a high pressure situation?

You will encounter high pressure situations at work but often interviews feel more high pressure (to some people) than most daily conversations about engineering.

That's it. If I can tell a candidate already knows "the right answer" to the problem, I'm usually disappointed because I'm more interested in watching them think.

Re:Apple Developer Documentation Is Missing by majormajor on Monday October 28, 2019 @01:05PM (#21378917)
Yeah, the "I have this memorized" no-questions-asked immediate implementation answer is ... fine ... but also always makes me wish I'd picked a different question.

It tells me they meet the baseline - they can learn well enough to at least be able to do this particular problem super quickly.

But it doesn't tell me any more than that, unlike the candidate who thinks for a pick, considers a few different approaches, writes something up, stops a few times to think about edge cases, satisfies themselves that they're covered, etc.

"Can you figure stuff out on the fly" is the test, not "do you have this memorized?" Fortunately, most people don't have everything memorized, so for now it's still a useful-enough filter.

The problem with alternative, past-experience-based types of questions is that most candidates are terrible at driving them. I would love someone to tell me an hour-long story of debugging something in a library, say - but usually, even with a lot of prompting, it's very hard to get much interesting stuff out of them.

So by putting some algorithmic questions on the panel too, at least they have a chance to show that they can code, even if they can't communicate much meaningful from their past experience.

Re:Apple Developer Documentation Is Missing by keithnoizu on Wednesday October 30, 2019 @08:17AM (#21396841)
I had a high level google interviewer throw a tantrum because I didn't know the exact STL threading mechanism when I specifically said I could interview in elixir because it's my day job or C (not c/c++) because I also do embedded assembly. Like dude I can tell you the giest of how to handle concurrency management using multiple paradigms the exact library call on a specific language is just an implementation detail.
Re:Apple Developer Documentation Is Missing by wolco on Monday October 28, 2019 @03:23PM (#21380550)
It feels like we test for one thing when hiring but then ask the employee to do something else after getting hired.
Re:Apple Developer Documentation Is Missing by Yhippa on Monday October 28, 2019 @11:04AM (#21377597)
I'm not defending those types of interviews, because I'm not great at them, but it seems that they're looking for human algorithm machines. People who can go in and write very specific performant code. Maybe that's the requirement for the job as opposed to someone who can interface with businesses and do general enterprise software.
Re:Apple Developer Documentation Is Missing by sdegutis on Monday October 28, 2019 @11:06AM (#21377609)
I have personally found that sometimes writing out comments that explain how a confusing function is going to work will help me to understand the ins and outs and flow of the function before writing it, which will in turn help me to actually write the function, especially with algorithmic functions. Those comments might as well be written as long-standing documentation that doesn't change as long as the implementation/algorithm doesn't change. I know "comments lie" but if it's a long-lived implementation, it's more beneficial than not.
Re:Apple Developer Documentation Is Missing by jniedrauer on Monday October 28, 2019 @11:16AM (#21377714)
Writing a function docstring is just muscle memory for me. It's part of my process. Explain the objective, then implement it. Docstrings are usually the first or second thing I write after the function signature.

I would also have serious reservations about taking a job where documentation is considered a negative during a coding interview.

Re:Apple Developer Documentation Is Missing by wolco on Monday October 28, 2019 @01:57PM (#21379626)
At another company not writing it would fail you. It's difficult to know when to apply the correct answer-
Re:Apple Developer Documentation Is Missing by RaiseProfits on Monday October 28, 2019 @11:53AM (#21378037)
...which just shows how noisy that signal was to begin with.