Live data from Hacker News

Getting a job at Apple without going to college or doing LeetCode

aheze.substack.com

291–300 of 399 posts

Re: Getting a job at Apple without going to college or doing LeetCode

#291
post #75

The problem is that "leetcode" is a definitely a thing that exists in "FAANG" interviews. The biggest stumbling block with leetcode is that you shouldn't be programming like that in real life. "make a linked list" no, just use a library like everyone else. "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time…

I'm not going to defend "leetcode grinding" and its pathologies but TBF this is problematic: > "make a linked list" no, just use a library like everyone else. > "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time. Sure, those statements (just use an existing library) are what you'll do in practice especiall…

> One is "do you know what's going on under the hood?"

Why should I need to? Let's take Microsoft's .Net sort implemtation.

It will intelligently determine which is the optimized sort given the conditions it's facing.

Heapsort? Mergesort? Quicksort? Radix Sort.

And the most-possibility optimized versions of each.

This is what data scientists do. We don't need programmers standing at whiteboards writting BubbleShort and being told it's wrong. In the real world, you call .Sort() and get on with real work.

Sure, you can hand-roll your own sort for hot-path cases but that's likely been taken into account anyway!

Re: Getting a job at Apple without going to college or doing LeetCode

#292

Earlier quoted context omitted.

> "make a linked list" no, just use a library like everyone else. If you cannot sketch out a simple linked list on a whiteboard, you’re not an engineer and have no business being hired as one at a place like Apple, full stop. I was asked to sketch out a hash table on the whiteboard. It was trivial, because a trivial hash table is trivial.

> you’re not an engineer and have no business being hired as one at a place like Apple well, unless you have a engineering degree, you're not actually an engineer, but we'll gloss over that. (big hint CS isn't an engineering discipline, otherwise testing, requirements gathering and cost analysis would be a big part of the course. ) I was once asked to implement a distributed fault tolerant hashtable on a whiteboard.…

>unless you have an engineering degree

This is not true. There are dozens of types of engineers and that word doesn’t mean civil engineer. There are audio engineers who work on music and film ffs, get over yourself.

Re: Getting a job at Apple without going to college or doing LeetCode

#293

Earlier quoted context omitted.

> you’re not an engineer and have no business being hired as one at a place like Apple well, unless you have a engineering degree, you're not actually an engineer, but we'll gloss over that. (big hint CS isn't an engineering discipline, otherwise testing, requirements gathering and cost analysis would be a big part of the course. ) I was once asked to implement a distributed fault tolerant hashtable on a whiteboard.…

> well, unless you have a engineering degree, you're not actually an engineer That's not a requirement in the US.

Nor is it a requirement for a majority of engineering types regardless of country. Civil engineers think they have a monopoly on the word; this should always be pushed back upon.

Re: Getting a job at Apple without going to college or doing LeetCode

#294

Is a 3 month internship considered a job? I don't think it is; it's a great booster for one's career and an opportunity to get a fulltime / permanent position, but from the employer's point of view, it's a cheap trial period.

And they will almost certainly be leetcoded once they interview for a full time position.

Re: Getting a job at Apple without going to college or doing LeetCode

#295

The problem is that "leetcode" is a definitely a thing that exists in "FAANG" interviews. The biggest stumbling block with leetcode is that you shouldn't be programming like that in real life. "make a linked list" no, just use a library like everyone else. "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time…

If you can't explain in detail how a linked list works, that's an enormous red flag that you've probably never studied data structures. It's a FizzBuzz level question.

I'm sure some companies have lousy interview practices, but algorithms and data structures are super important if you want to hire someone who's actually competent, who can think for themselves.

Re: Getting a job at Apple without going to college or doing LeetCode

#296

Earlier quoted context omitted.

can confirm, it's as simple PG says "just build something people want" it will open many doors :)

Something I've noticed over the past 5 or so years is a "hobby project" is increasingly becoming the standard. Your GitHub portfolio is almost as important as your resumé itself in many cases. It starts the conversation and grabs attention with potential employers, but doesn't act in lieu of a technical evaluation. Almost every competitive applicant at the intern level has some tool or webapp that they've built out e…

Do you actually have any evidence for this? While having zero personal projects is probably a red flag, in my last job search I saw almost no clicks on links to projects. From personal experience, most hiring managers are so busy they barely even read the resume. They are definitely not going to comb through someone's github submissions.

Re: Getting a job at Apple without going to college or doing LeetCode

#297

The problem is that "leetcode" is a definitely a thing that exists in "FAANG" interviews. The biggest stumbling block with leetcode is that you shouldn't be programming like that in real life. "make a linked list" no, just use a library like everyone else. "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time…

What’s funny is that in most positions the hard work has nothing to do with any of that. It’s communication, empathy, navigating people-problems and organizational dysfunction, and working with/around awful systems that you can’t change, while limiting their blast-radius to protect the business (and your own sanity). You can always just google how to invert a binary tree or whatever and get a solid answer in no time.…

Sure, you can pretend developers don't read and write code. Just like people who complain about leetcode pretend the questions are hard and that performance is uncorrelated somehow.

Re: Getting a job at Apple without going to college or doing LeetCode

#298

Earlier quoted context omitted.

What’s funny is that in most positions the hard work has nothing to do with any of that. It’s communication, empathy, navigating people-problems and organizational dysfunction, and working with/around awful systems that you can’t change, while limiting their blast-radius to protect the business (and your own sanity). You can always just google how to invert a binary tree or whatever and get a solid answer in no time.…

Sure, you can pretend developers don't read and write code. Just like people who complain about leetcode pretend the questions are hard and that performance is uncorrelated somehow.

> Sure, you can pretend developers don't read and write code.

Weird. Why would someone pretend that?

Re: Getting a job at Apple without going to college or doing LeetCode

#299
post #57

Earlier quoted context omitted.

Which raises the question of why do the other kind of interview at all. I mean the leetcode nonsense whose end state is often a theatrical performance: “I’m pretending to invent this clever algorithm on the fly although I’ve practiced it for weeks”. Is there any evidence that candidates who do well on design interviews but fumble on leetcode would be any worse at the actual job?

Leetcode is simply testing whether you studied Computer Science, took Data Structures & Algorithms course, and read the CLR book on algos and practices it. Nothing else. This is really freshman level cs work. very simple. people who cannot leetcode - a simple data structures & algorithms inteview - cannot understand runtime nuances of what they write. This is how you end up with N+1 algorithms and exponential runtime…

Maybe. My experience is that a lot of the unprimed recall gets weak very quickly without practice. There's irony in testing for skills that a fresh graduate may do better at than someone with substantially more experience.

Primed recall can remain strong for many years, but leetcode often penalizes googling around to refresh your memory, even though that is what almost everyone should do before taking any further steps toward an implementation. Depending, it's often also the correct thing to do before choosing a library, the parameters to a function, code base organization, and lots of other details.

Of course, domain experts may be very strong in their specialty, but that's a special case with narrower scope.

I can hypothesize that testing for a "fast study" may have more predictive power. I have seen some interviews that are designed for this, leetcode adjacent but less antagonistic.

But anyway, I am spitballing, to be real with you.

Re: Getting a job at Apple without going to college or doing LeetCode

#300

Earlier quoted context omitted.

It also doesn't resemble "real" work with regards to gathering requirements, clarifying ambiguity, weighing up trade-offs, making sure code is clear, etc. It tends to be a rote regurgitation exercise.

LeetCode has no correlation with great software development. Great development is more about paying attention to the end users, having an eye for usability and design and great communication & the ability to execute. The current LeetCode churning explains why Google hasn't produced anything worth using since Brin & Page checked out and why so much of software today is absolute garbage - but it is what it is I suppose…

This isn't really fair. All of Android, the Go programming language, TensorFlow, MapReduce, Big Table, Kubernetes, V8, Chrome are all very good engineering, software that stands the test of time and is likely to remain in use for decades. It's not garbage. They're great at libraries, plumbing, infrastructure layer tooling that enables Internet scale.

What they aren't good at is consumer-facing web services with graphical frontends, at least since Gmail or so. Even there, businesses seem to like the G Suite.

Post reply on HN