Live data from Hacker News

Apple Developer Documentation Is Missing

v4.chriskrycho.com

191–200 of 400 posts

Re: Apple Developer Documentation Is Missing

#191
post #53

Still? It has been a while since I have done any Apple platform specific native development, but I remember about 5 or 6 years ago writing an iOS and OS X app for communicating with an audio modelling device, and the documentation for CoreMIDI was woefully lacking. I couldn't believe that a part of the Apple operating systems that had been ingrained for years had so little documentation and examples at that time. I e…

>I haven't checked, but are things like the MIDI framework still badly documented in the Swift docs? Documentation for the entire audio stack has actually gotten quite a bit worse. Many references have been removed without new replacements being provided. In many cases, there are broken links in what little documentation remains. (For example, TN2274, which describes the USB audio stack is still around, but several o…

What makes it particularly hard is that the Core Audio folks are a C++ crowd, so they use a bunch of design patterns that don’t really make any intuitive sense if you’re familiar with the other Apple frameworks.

Audio developers starting today are fortunate though because there’s AudioKit, which is the right choice for the vast majority of apps.

Re: Apple Developer Documentation Is Missing

#192

It's always been bad, too! Back in the OS9 days, the Apple documentation was "cumulative". You had to know every trick, every hidden bit and flag, back to day 1 in order to write a program. It's no better today. People who live isolated in the Mac universe have no idea how good Microsoft Visual Studio tools are, and how complete and thorough the documentation is, and how consistent the API is. You don't have to wade…

Woz documented every line of his Apple ][ system monitor code and it was a joy to read.

Yes! I've been around since those days.

Re: Apple Developer Documentation Is Missing

#193
post #187

Earlier quoted context omitted.

I stand corrected – updating the parent accordingly as well. Thank you! (Comment about documenting stuff you're recommending people use, even experimentally, stands though.)

I am totally with you regarding React: I've been distracted from my current SwiftUI project writing a React "teaser" version because it's so much easier to make progress in React, in large part thanks to the strong documentation. But even there, there are nontrivial problems. Look at the front page of reactjs.org: all of the examples use component classes. The tutorial introduces component classes without mentioning…

100% agreed.

Re: Apple Developer Documentation Is Missing

#194
post #104

Earlier quoted context omitted.

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.

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.

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

#195

Earlier quoted context omitted.

what key macros do you setup to make jumping around in your IDE faster.

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).

> 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

#196

Earlier quoted context omitted.

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.

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.

> 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

#197

Earlier quoted context omitted.

> I'll make it clear that I'm NOT a fan of these. I am mediocre, at best, at them, as I don't come from a traditional CS background (I started as an EE). I come from a CS background and struggle with these too. The big problem I have is this performance stuff is often barely relevant to the position. You need to know the principle of a BST. Unless you're building a database working in a unique scenario, actually trav…

I wonder if the merit of these exercises is from reading the candidate's reaction to meaningless and trivial tasks. If they take it with a smile, or better yet if they spent part of their free time studying it in detail, they will make a terrific cog in the machine...

Part of it might also be a way around age discrimination, as those relatively fresh from school (and thus, younger - and likely will take a lower salary) likely are able to pass them faster than older potential hires.

Re: Apple Developer Documentation Is Missing

#198
It's funny to read this and have it compared to Ember's docs, especially since I've been using Chris's site a fair bit over the past few months...

I only bring this up for posterity, but Ember's documentation is terrible, and what is even worse is the Typescript documentation is almost unusable its so outdated. Chris's site is the only place you can go to find anything and it's incredibly difficult to make sense of or is already completely outdated... There are constant gotchas and missing documentation or things that are flat out wrong...

I can understand complaining some about Swift's docs (though I've never had that problem), but comparing them to Ember's seems like an awfully bad take.

P.S. I love Ember, learning it has just been nightmarish at points for almost no reason.

Re: Apple Developer Documentation Is Missing

#199
post #142

Earlier quoted context omitted.

> 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

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…

> 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

#200

Some time ago, I was contacted by Apple to apply for a job. My code is insanely well-documented. I like to think that a lot of the inspiration for my code docs comes from Apple's open codebases. Their code is exceptionally well-documented. In any case, as is usual with all employers, these days, they completely ignored the focused, relevant links that I sent them to elements of my extensive portfolio of repos, and, i…

> I'll make it clear that I'm NOT a fan of these. I am mediocre, at best, at them, as I don't come from a traditional CS background (I started as an EE). I come from a CS background and struggle with these too. The big problem I have is this performance stuff is often barely relevant to the position. You need to know the principle of a BST. Unless you're building a database working in a unique scenario, actually trav…

It's not relevant to the position, but 'coding on a whiteboard' is a legal sorting function that will reject a lot of truly awful candidates (You pretty much can't bullshit your way through it. You may end up being an awful hire for other reasons, like your personality, but that's another story.)

That it also rejects some good candidates is fine, there's always more candidates for FAANG jobs. (Few competitors pay FAANG salaries.)

Post reply on HN