Let me give a cautionary tale in the form of an ad (my email is in my profile). Full disclaimer: it's both, but the value to the discussion is the cautionary tale part. Feel free to ignore the ad part. Edit: I tacked on a perspective how I started to like leetcode questions, I hope that helps people find some inspiration to get through the leetcode grind. If I can do it during the evenings, then so can you! ;-)

I'm looking for a FAANG internship and/or entry level job opportunity.

Years of experience: 1.5 years

Academic degree: bachelor + master computer science.

Interview preparedness: 100 leetcode questions, 30 easy, 50 medium, 20 hard (my opinion on them: I like them). Average solving time: 30 minutes for leetcode medium (not quite FAANG level yet).

It may seem I aim the bar a bit low. Here is why: after graduation, I took a gap year and because of that missed the graduate loop. Before I knew it, I couldn't apply to FAANG anymore because I was not a current student (for internships) or a recent graduate (due to gap year). I also didn't realize that being from Europe would hurt my chances somewhat. It took me quite a long time to realize this, and now even more time had passed (after many rejection emails and 0 phone screens).

So, it is possible that you may get top marks at your master program. It is possible that you did a bachelor + master and have TA experience during your degree (that I'm not counting here as experience). Yet, FAANG can still completely ignore you, because you didn't know you should be applying for internships when you're in your second year of your bachelor.

If I could redo it, I would:

* Get a real developer job as soon as possible

* Start leetcoding in my 3rd year bachelor while applying to internships

* More leetcoding during my 2 year master + applying to internships + getting actual developer work experience (actual dev experience trumps TA jobs)

This is why I'm open to internships and/or graduate positions. I'm not good enough at systems design. However, with coding, I think I have a clear shot.

To the leetcode naysayers: I used to dislike leetcode questions too. However, I've noticed simply by practicing it, it does become easier over time. More importantly, you have to own it in a way that suits your personality.

In my particular case, I view data structures as organisms. I use plants a lot to visualize linked lists and trees. An array + linked list is a brick wall (array), and a vine (a node looks like a vine leaf). Traversing that linked list is dying the whole vine a certain color. Stacks are actual stacks, queues are queues of people, a set I need to iterate through (like an array) looks like my laundry basket, etc. I love visualizing data structures like this and it gives me a sense of wonder. That sense of wonder translates into motivation, and that's how I'm owning it with my personality.

Currently, my only real weakness is dynamic programming, but I'm confident that I can master it over time :)

Full disclosure: recently I have been rejected by all the FAANGs again (outright, no phone screen), except for 1 and I've finished their onsite and am awaiting their result. I'm horrible at systems design though and wish I could interview for a graduate position.

If someone could help me apply for a graduate position (internship or job) despite my unusual circumstances, I'd appreciate that.