Hacker News new | ask | show | jobs
by mjfl 1945 days ago
When I was an undergrad I would post all my homework assignments on Github, but I later learned this was a mistake when I interviewed at Apple and a few of their engineers went over my homework code with a fine tooth comb and found a memory leak in one of my OS assignments. Reporting this to me, they asked me "why did you code this memory leak?". I didn't get the job. Now I have removed all this from my github. Unfortunately it's one of those things where "everything you say can and will be used against you".
7 comments

> Unfortunately it's one of those things where "everything you say can and will be used against you".

Indeed.

It kinda takes the fun out of programming. Sometimes you just don't bother with error-checking and with making code production-grade, because you just wanted to publish this small thing that other people might find useful. If people find it useful but find bugs, they might as well send pull-requests.

And let's be honest: error checking is important and everything but it's quite a chore.

Often in your toy project it's okay to be optimistic.

And often the purpose for writing a project is to explore a topic, not to release a production grade project.

FWIW, I think that's terrible interviewing on their part.

Literally looking for their wallet under the lamp post because it's easy to pick nits in your homework assignments, but difficult to determine whether you could be a productive team member today under completely different circumstances with complete different incentives and forces on your choices.

How did you answer the question? I would hope that something like the following would've been an acceptable answer:

> Oh, that was a learning project (or prototype code). If I were to write this code again, I would do $X

...where X is something like "use a unique ptr" or "assign ownership of this object to this other object instead".

I said almost exactly that.
How do you know that was the reason you didn't get the job? It sounds like they gave you an opportunity to say you made a mistake, and maybe figure out how you'd fix it.
Haven't been to Apple but that sounds extremely unlucky for you - can't imagine 99% of Apple engineers wanting to spend their time reading random github repositories made by a candidate they aren't even going to approve.
I interviewed with Apple once and I promised myself to never go through it again.

They must have no training for their interviewers or maybe a training specifically to make them hostile gatekeepers?

This feels straight out of Kafka.