Before you go — grab our most downloaded resource.
QA cheat sheets used by 30,000+ testers.
🔒 No spam, ever. Join 30,000+ QA engineers. Unsubscribe anytime.
No thanks, I'll skip the free cheat sheetsThe 30-day plan gets you interview-ready; this is the longer game — a month-by-month year that sequences DSA, projects and applications so each month builds on the last.
The 30-day plan gets you interview-ready; this is the longer game — a month-by-month year to go from where you are to a materially higher band. It sequences DSA, projects, applications and certifications so each month builds on the last instead of studying everything at once and retaining none of it.
| Month | Phase | DSA goal | Project / build | Apply / certify |
|---|---|---|---|---|
| Month 1 | 🚀 Launch | NeetCode: Arrays (Two Sum, Best Time to Buy, Contains Duplicate) | Update LinkedIn headline. Update resume (done ✓). Create GitHub profile. Star 5 target company repos. | Apply: BrowserStack, Postman, Freshworks |
| Month 1 | 🚀 Launch | NeetCode: Arrays cont. (Product Array, Max Subarray, 3Sum, Container Water) | Start URL Shortener project: Spring Boot skeleton + DB schema | Apply: ThoughtWorks, Chargebee |
| Month 1 | 🚀 Launch | NeetCode: Sliding Window (Longest Substring, Min Window Substring) | URL Shortener: implement redirect endpoint + Redis cache | Apply: Razorpay (early apply — good practice) |
| Month 1 | 🚀 Launch | NeetCode: Stack (Valid Parens, Min Stack, Daily Temperatures) | URL Shortener: add rate limiting + analytics endpoint. Push to GitHub. | Apply: Meesho, Paytm |
| Month 2 | 🔨 Build | NeetCode: Binary Search (all 7 problems in NeetCode 150) | Start: Distributed Task Queue (Kafka + Spring Boot). Set up local Kafka. | Apply: Swiggy, Groww |
| Month 2 | 🔨 Build | NeetCode: Linked List (Reverse, Merge, Cycle, LRU Cache) | Task Queue: producer-consumer basic flow working. Unit tests added. | Apply: Zepto, SAP Labs |
| Month 2 | 🔨 Build | NeetCode: Trees Part 1 (Invert, MaxDepth, Same, Subtree, LCA) | Task Queue: dead letter queue + retry logic implemented | Cisco, Walmart Global Tech |
| Month 2 | 🔨 Build | NeetCode: Trees Part 2 (Level Order, Validate BST, Kth Smallest, Diameter) | Task Queue: Docker compose setup. Project README with architecture diagram. | Follow up on all applications |
| Month 3 | ⚡ Accelerate | NeetCode: Graphs Part 1 (Number of Islands, Clone Graph, Course Schedule) | Start: AI Test Case Generator (Spring Boot + OpenAI API). Basic endpoint working. | Apply: PhonePe, CRED (early practice) |
| Month 3 | ⚡ Accelerate | NeetCode: Graphs Part 2 (Pacific Atlantic, Valid Tree, Dijkstra concept) | AI Generator: prompt engineering (few-shot), test with real user stories | Apply: Amazon (early apply — good DSA practice) |
| Month 3 | ⚡ Accelerate | NeetCode: DP Part 1 (Climbing Stairs, Coin Change, LIS, LCS) | AI Generator: REST endpoint complete. Postman collection for testing. Push to GitHub. | Start referral search: LinkedIn outreach to BrowserStack/Postman employees |
| Month 3 | ⚡ Accelerate | NeetCode: DP Part 2 (Word Break, House Robber, Unique Paths, Combination Sum) | Start: system design study — URL Shortener, Rate Limiter (Grokking SD) | Apply: Flipkart, Uber |
| Month 4 | 🎯 Interview Mode | NeetCode: Heap (Top K, K Closest, Task Scheduler) | Start RAG Chatbot project. Chroma setup + basic Q&A working. | Apply: Adobe, Salesforce |
| Month 4 | 🎯 Interview Mode | NeetCode: Trie (Implement, Word Search II) | RAG Chatbot: embed navtutorial.com articles. Test with 20 queries. | Continue applying 5–8/week |
| Month 4 | 🎯 Interview Mode | NeetCode: Backtracking (Combination Sum, Word Search, Subsets, Permutations) | RAG Chatbot: deploy to navtutorial.com. Monitor query patterns. | Referral: follow up on LinkedIn connections |
| Month 4 | 🎯 Interview Mode | NeetCode: Intervals (Merge, Non-overlapping, Meeting Rooms II) | Flaky Test Detector: data collection + Random Forest training in Python | Atlassian — START APPLYING. First application submitted. |
| Month 5 | 🏆 FAANG Prep | NeetCode review: redo all Hard problems. Timed sessions (45 min each). | Flaky Test Detector: Jenkins integration. Measure accuracy. | Apply: Microsoft (DevDiv/Azure) |
| Month 5 | 🏆 FAANG Prep | System design: Design Twitter feed (fan-out on write/read) | All 5 projects polished with proper READMEs and demo videos | Mock interviews: 2 per week (Pramp or friends) |
| Month 5 | 🏆 FAANG Prep | System design: Design YouTube / Design Uber | Prepare 12 Amazon LP stories in STAR format. Written and rehearsed. | Amazon follow up / re-apply if needed |
| Month 5 | 🏆 FAANG Prep | LeetCode Hard: 5 hard problems this week (2D DP, Advanced Graphs) | Record mock system design answer — review and improve | Negotiate any offers received. Don't accept first. |
| Month 6 | 🎉 Land the Role | Maintain: 1 LC/day for consistency | Keep all projects updated on GitHub | Atlassian final rounds / Offer negotiation. Apply to Microsoft DevDiv now. |
| Q3 | 📈 SDE-1 Growth | Weekly: 3 LC problems. Focus on company-specific past questions. | Contribute to open source (GitHub PR to Apache/relevant project) | Microsoft DevDiv applications × 5 |
| Q4 | 🚀 Microsoft Push | Monthly: 10 hard LC problems. Full system design practice. | Build internal tools at new SDE-1 job. Measure impact in numbers. | Microsoft onsite rounds |
Pair the year with the salary-band roadmap and mocks.
Roadmap by Salary → 30-Day Sprint Portfolio ProjectsWith focused effort, a year of structured study and projects can move you a full salary band. The month-by-month plan above sequences DSA, projects, applications and certifications.
Foundations — core Java, Selenium and testing basics — then API, framework and CI/CD, then advanced topics like Docker, performance and system design.
Begin applying in the later phases even before you feel fully ready — interviews themselves are practice, and the plan overlaps study with applications on purpose.
They help at the margin, especially cloud certifications for higher bands, but demonstrated skills and projects matter far more. The plan slots certs where they add most.
The plan is a template — adjust pace and phases to your starting point and goal band.