When people talk about Big Tech—Google, Amazon, Apple, Meta, Microsoft—they usually also talk about LeetCode. They talk about getting lucky or unlucky on the Q3 and Q4 on CodeSignal. It feels like getting into Big Tech pretty much just means getting good at competitive programming—if you pass the test, you get the job.
LeetCode is definitely good for improving at programming in the long run. I haven’t been to Google, so I’m not sure, but you might actually need LeetCode to get a job there. But for Apple (and many other places), you definitely don’t need it, and I’d recommend that you don’t spend too much time grinding it.
I interned at Apple over the summer. Apple is unique in the hiring process that interviews are completely team-dependent. Some teams might ask you to do LeetCode, but in my case, I didn’t even have a technical interview.
Recently I’ve been asked a lot on how I got the job, so I’m going to summarize the process here instead of responding to every DM. I’ll go over how I learned Swift, the main programming language that I use. I’ll talk about the recruitment process, the interview experience, and anything else that I can remember. Here goes:
I started coding back in 2019. I wanted to make apps, so I bought Angela Yu’s Udemy course on iOS development. I checked out some books from the library — Sams Teach Yourself iOS 9 was really helpful, even though it was outdated and for iOS 9. I also bought Matt Neuburg’s iOS 11 Programming Fundamentals with Swift as a reference, but it was extremely technical and so I set it aside.
I followed Angela’s course for a couple months until I got halfway, then got straight to work building my own app. I called it Find.
Lots of people talk about getting stuck in “tutorial hell” — watching endless courses and tutorials while being unable to actually apply what they learned. I was able to avoid this by jumping right into the app dev process — I’d code until I didn’t know what do and then search up a solution. I wasn’t worried about efficiency or the “best way” to do something—you naturally learn this stuff after doing it for a while. Angela’s course was useful for getting started, but to get a good grasp at what you’re doing, you should be building projects.
Another thing that helped was Stack Overflow. It’s been kind of dead ever since ChatGPT showed up (and also the community is not at all friendly for newbies), but I’d still recommend making an account. You’ll be able to ask questions, but more importantly, you can answer other people’s questions. “Learn by teaching” as they say.
Anyway, it’s 2023 now and Angela’s course is outdated 🙁 so I’d recommend starting with Paul Hudson’s 100 Days of SwiftUI or 100 Days of Swift. But again, the tutorials are just for starting out — don’t waste your time in tutorial hell and get right into building.
I didn’t have much going for me besides my side projects. I worked at Hyper, a startup working on VTubers for iOS. I got the job via Twitter — Aaron (the founder) saw me posting my side projects and noticed that I liked anime in my bio.
Besides tech jobs I worked at Rubio’s Coastal Grill and was a cashier at Marshalls.
Remember my Find app? Someone on the Photos team at Apple saw it and DM’d me on Twitter.
I had been posting about Find on Twitter for a while. Here’s the promo video that I posted for the v3 update. Here’s an animation I made for the onboarding screen and a swift package that I published.
I think it’s worth being active on Twitter — even after Musk’s takeover, there’s a lot of tech bros and industry people there. People will see your stuff and reach out to you. You’ll get opportunities that you otherwise would have missed out on — for example, normally you need to be in college to apply to Apple, but I was able to get around that.
In November 2022 I went to Apple Park to talk with my would-be manager. We had lunch and walked around the campus.
We talked about what a role at Apple would look like, and decided an internship would be good (since I still wanted to go to college). I remember that my manager specifically pointed out that he didn’t care about where I went to school or my GPA — he said something like “it only matters what you can do.” That day I also met one of my future coworkers, who gave me some tips on improving Find’s scrolling performance.
In February 2023 I went back to campus to meet the rest of the team. I talked with another manager about old age, college, and kids. It was really chill, but this was probably the behavioral assessment — they wanted to make sure I wasn’t some complete weirdo.
There was no LeetCode or technical interview. I signed the offer letter in March.
Obviously, this wasn’t your normal entry-level big tech interview process. I asked some other interns about their experiences — most people had a coding problem (one of my friends got two-sum, the first question on LeetCode) and the personality interview was more important. But I’m sure that at a higher position, for full-timers, there’s plenty of people who get recruited and get fast-tracked in the process. There’s nothing stopping you from taking shortcuts or a different pathway when applying for jobs. Do something different, like DM’ing the lead for the team you want to join. Make them want to hire you, and the interview turns into a free tour of HQ, lunch included.
Working at Apple was more work than I expected. I thought I’d be going in, having lunch, then leaving. I saw vlogs from people at Meta showing off the rock climbing wall and bowling alley that they had right in the office. My friend from Google was talking about how she had a couple meetings per day and the rest was just free time.
Well, not at Apple. I was there from 8 to 8, to catch the shuttle. Before my intern presentation I was working up until 12 (but that’s on me and my bad time management). You had to pay for breakfast/lunch/dinner and even the gym ($18/month). The prices were fair, but it’s not like the free food and stuff you get from the rest of big tech.
It was really fun. I was doing what I’d been doing for several years, but this time I was getting paid. I met some really cool interns and people from the design team who were absolutely cracked.
We had free corporate housing (got to be 18+ for this, so my friend actually had to live with his cousin) in this brand-new complex in Mountain View. The doors had smart locks on them that seemed cool, but were always broken. There was a hot tub on the roof complete with pool table and everything.
About the work, I was there from June 5th to August 11, so my time was relatively short and I had to cram to finish my stuff near the end. The corporate structure was definitely way different from what I was used to, but it’s well managed and gets stuff done. If you get the chance, Apple’s really worth checking out.
When I go on r/csCareerQuestions on reddit there’s so many posts about LeetCode, DP (dynamic programming, not double penetration), FAANG, etc… there’s people sharing tips on how to “crack the interview” and people saying “the best approach is repetition.”
I feel like people are so fixated on LeetCode and all these other coding questions that they’re forgetting that this is just one path to getting a job. There’s plenty of other ways that aren’t as hard and don’t require hours grinding over some dumb problem. Is it really worth grinding so much? Studying the most advanced Data Structures and Algorithms that you’ll easily learn just from building? And after getting the job, are you even going to use the stuff that you spent so much time practicing?
But it’s true lots of companies now just use LeetCode as their main differentiator in hiring. We can thank Google for this flawed hiring process—asking the same boring, time-consuming questions that test for proficiency in a roundabout way. Is it a coincidence that Apple was the only Big Tech company that didn’t do layoffs?
The LeetCode craze is a real problem in the field. Sometimes it feels like all the high-paying jobs require it, and as a result we see all these people burning themselves out over useless questions when they could be developing their skills organically.
Eventually I think Big Tech and the rest of the industry will move away from LeetCode and shift to project-based interviews. They might give you a take-home assignment and you can show them how applicable and relevant your skills are. But until then, I’d recommend working on cool side projects and doing stuff that matters. You’ll become irresistible 🙂
I’ll be going to college in September, so I can’t speak much on it yet. I just know that it’s not necessary and even not applicable for some roles, like iOS dev. So don’t stress if you didn’t learn a thing.
How do I fix my career? I’m a Software Engineer who learned northing during college. Reddit
So that’s how I got my job at Apple without going to college or doing a single LeetCode question. But I’m not saying that you should drop out or stop doing LeetCode completely — you need college for stuff like ML research and you need LeetCode for backend. It’s just that I see a lot of people just trying to get a job — any job — in tech, and they constrain themselves to a specific role or profile. That’s definitely not the play in this horrible job market.
Thanks for reading.
Leave a comment or ping me on Twitter @aheze0 anytime.