My failed attempt to jump to a bigger ship w/ 3 YOE, hopefully someone finds it useful!


 I have 3 YOE at a large (not well known) company, originally hired as a junior graphics programmer with some computer vision. Yet the last 3 years my company had me working in the C++ plumbing side of things, solving system-specific features/issues. More recently I was moved to a lead role for various IOS projects despite my annual requests for more graphics/CV roles. I’ve probably only written 4 shaders during my time here. I’ve kept my projects up to date, but they aren’t anything mind blowing. One weekend night, out of frustration I tossed some applications out there not expecting much, but to my surprise got callbacks for 10/13 positions, mainly at some of the giants in our industry. So I got to studying again, while continuing to work full time, and I only had 1 month to prepare.

The study plan:

My primary areas of focus were as such in order of importance:

  1. Leetcode (85 done in 4 weeks)

  2. C++ (the usual, but with a focus on multithreading)

  3. Graphics

  4. Linear Algebra

  5. Hardware/OS

I filled up 7 pages of paper back to back writing out my notes for #2-5. Monday-Friday, I'd do 3 LC questions from neetcode, where I'd attempt the problem first. After 15 minutes I'd watch the solution, then implement it on my own. Then I'd review the notes written up to the previous day, and write some more notes. For stuff like linear algebra I'd do a final exam w/solutions released somewhere on google from some university. Every Saturday and Sunday was dedicated to re-doing all of the LC problems I'd solved up to that point.

RESULTS:

My resume got me good callback rates, and I made it to onsites for about half of the 10 callbacks. My study plan was great as well, there wasn't a single problem I wasn't able to solve, though they weren't always optimal. In the end, the odds didn’t work in my favor. Out of the 10 callbacks:

Made to onsites:

  • Some fruit company: Did perfectly on phone screen, and the tech screen. Onsite I did well on about 75% of the interviews, but it was enough to drop me from the running. I knew I was out of my league here, but it was a valuable experience.

  • A startup: Crushed nearly everything, some of the interviews on the onsite were a bit shaky since it seemed like they were looking for a unicorn. I honestly used this one for practice, but did get an offer. However the comp wasn't great and I don't want to be at a startup at this point in my career.

  • A game studio owned by Microsoft: I did solve all the problems they gave me, but it required a hint or two from the interviewer. Someone definitely just did better than me here.

  • Company that makes VR goggles: They didn't ask me a single question related to graphics lol. From beginning to end it was LC, so again someone probably just did better/faster than me, even though I found optimal solutions.

Dropped after tech screen:

  • Rainforest: I dropped the ball on a LC-medium question that could've been easily optimized, I wasn't on my A-game.

  • A social media app: Did well on the tech screen, but dropped regardless. Other candidates probably had better backgrounds.

Dropped after phone screen:

  • Companies Green, Red, Blue: For all three, I suspect my lack of graphics driver experience was the culprit.

  • An animation studio: The devs on the team seemed to like me, but my lack of graphics research experience hurt my chances here.

Some obvious pros/cons about myself I could pinpoint:

Cons:

  • Others likely had superior/more relevant projects/experience like with graphics drivers, subdivision surfaces, CUDA, etc. That would’ve helped me get past the phone screens for places like green and stand out better for the other stages.

  • All the tech screens were solely Leetcode. I at least solved all of the ones they gave me, but sometimes had trouble pinpointing how I could optimize or shorten some of them. More grinding is required for the top positions

Pros:

  • I am very experienced in various parts of the stack with multiple languages and platforms (which happened unintentionally because of my company haha). Companies were interested because of it, hence the good callback rate.

  • I may be an introvert, but I can communicate effectively and quickly build rapport. Even if a problem doesn’t go my way, I can talk my way through it and come up with at least a solution.

  • Open to relocating, and open to non-remote. This one is huge. It greatly increased my odds.

Conclusion:

I still have a job, and even if the comp isn't the best it's still good to live on and build some savings. Despite the stress, this ordeal helped me figure out areas I needed to grow in more and gave me confidence in other regards. I did damn amazing in the LC/technical for only 1 month of studying, and even I couldn't believe I got 10/13 callbacks.

I’ll do my hunting more casually now. I still do want better comp and a job closer to actual graphics, but prepping for and doing 20+ interviews in the span of 3.5 weeks is god damn misery. Suffered severe mood swings. Seriously, don’t do this unless your firing is imminent or something.

If you're working fulltime with some YOE, and you think you want to switch jobs, don't start applying like I did. You'll get the callbacks. Plan out a study plan over at least 3 months, and take it slow. Apply to a few companies at a time, don't shotgun.

I hope my experience helps anyone looking to do a similar transition!

Post a Comment

Previous Post Next Post