👋 Hi there! I’m Arman. I worked as a backend software engineer at TikTok and am now at Microsoft AI. I write about breaking into tech and growing your career in AI/ML here at aimlengineer.io.
In this post, I share my story of how I landed my dream job as a software engineer at TikTok and eventually transitioned into AI at Microsoft.
This video walks through my entire journey including my interview prep, leetcode strategies, interview rounds, offer negotiation, referral tips, and much more.
I also wrote in-depth GitHub repos for all the prep material I recommend for coding interviews and system design.
These resources are supplementary to the AI/ML roadmap, which I highly recommend for anyone looking to transition into AI in 2025.
How I Taught Myself to Code
This is a screenshot of my leetcode profile when I was interview prepping at TikTok. Don’t be alarmed — I’ve solved 500+ Leetcode problems, but many were unnecessary.
If I were starting to code from scratch today, here’s the exact path I’d follow:
Start with FreeCodeCamp – Great for learning the basics: HTML, CSS, JavaScript.
Supplement with a JavaScript course – YouTube or Udemy will fill any gaps from FreeCodeCamp.
Start building projects – Even small ones will help you learn and build your portfolio.
Take Harvard’s CS50 – A phenomenal (and free) introduction to computer science.
Next, I’d start grinding leetcode tagged problems.
The TikTok Interview Process
The process at TikTok is slightly different from most big tech companies. There were four rounds:
2 Coding Interviews – Leetcode-style questions (medium/hard).
System Design Round – Design a large-scale system with another engineer, discussing trade-offs and decisions.
Hiring Manager Round – Resume deep-dive + technical questions.
I was unfortunate to receive a few leetcode hards within my coding rounds, but thankfully my interviewer wasn’t expecting a flawless answer. For the system design round, I received a question similar to Design TikTok.
Tip #1: Use the Best Interview Prep Resources
For Coding/DSA:
Neetcode.io - best roadmap for mastering Leetcode.
Create a spreadsheet to track progress, review problems with active recall + spaced repetition. Free template here.
Grokking the Coding Interview
Use Pramp and Interviewing.io for mock interviews
For System Design:
Read the System Design Primer on GitHub
Take the Grokking System Design course
Read Designing Data-Intensive Applications
Watch YouTube System Design videos
Practice problems on HelloInterview
Targeted mock interviews on Interviewing.io
Tip #2: Get a Referral for Every Role
Direct referrals help your resume stand out, especially at big companies. If you can pair this with a hiring manager contact, you’re golden.
I reached out to UT Austin alumni on LinkedIn and asked for referrals. At TikTok, employees can even add notes about candidates in the referral portal to give them an extra boost.
✅ I am always open to giving referrals to open positions at my current role, feel free to reach out.
Tip #3: Tailor your Resume to each role
If you’re not getting interviews, it’s probably your resume.
I’ve reviewed 20,000+ resumes in the past year — and the #1 issue I see is lack of alignment with the job description.
If you need a resume template, I’ll link the one I recommend here.
How I transitioned to AI
At TikTok, I worked on TikTok Shop, where I collaborated closely with the Algorithm Team — including ML engineers and data scientists working on the FYP (For You Page) recommendation engine.
We used a tiering algorithm to dynamically promote TikTok Shop content to users’ feeds based on engagement signals and user behavior.
This work gave me firsthand experience with:
Large-scale recommendation systems
AI-driven ranking and personalization
End-to-end ML deployment pipelines
This experience ultimately helped me transition into AI full-time at Microsoft.
I created a full AI/ML Roadmap for software engineers who want to transition into AI in 2025.
Here’s the TL;DR:
Learn Python and math fundamentals
Study machine learning theory
Build ML-powered projects (e.g., recommendation, classification, NLP)
Contribute to open source or join internal AI teams if you’re already in tech
If you're already a working professional, I highly recommend seeking internal opportunities to pivot into AI-related projects. Most companies have internal mobility programs that allow employees to transition to different teams they’re interested in.
Next, I’ll cover my experience at Microsoft AI. Please comment below if you’d like me to cover anything specific.
Thanks for reading and happy learning. I’ll see you next week 👋
-Arman
Share this post