🚀 PHASE 1: Fundamentals (Months 1–3)
✅ Programming Language (Choose One)
- C++ (recommended for DSA), or
- Java, or
- Python
Learn:
- Syntax, Loops, Functions, Recursion
- OOP (classes, inheritance, polymorphism)
- Exception Handling
📚 Resources:
✅ Data Structures & Algorithms (DSA) Basics
Topics to cover:
- Arrays, Strings
- Linked Lists
- Stacks, Queues
- HashMaps, Sets
- Recursion
- Sorting and Searching
📚 Practice:
🧠 PHASE 2: Intermediate DSA + Core CS (Months 4–8)
✅ Intermediate to Advanced DSA
Topics:
- Trees & Binary Trees
- Binary Search Trees
- Heaps / Priority Queue
- Graphs (BFS, DFS, Dijkstra, Union-Find)
- Backtracking
- Sliding Window, Two Pointers
- Dynamic Programming
📚 Resources:
- Neetcode.io
- Striver's DSA Sheet
✅ Core CS Subjects (Important for Google & Amazon)
- Operating Systems (Processes, Threads, Deadlocks)
- DBMS (Normalization, Transactions, SQL Queries)
- Computer Networks (OSI model, TCP/IP, HTTP)
- System Design Basics (Scalability, Load Balancing)
📚 Resources:
💻 PHASE 3: Projects + System Design (Months 9–12)
✅ Projects (2–3 good quality)
Ideas:
- E-commerce app (React + Node.js)
- Chat App (Socket.io / Firebase)
- Portfolio Website
- REST API with authentication
Tools to learn:
- Git & GitHub
- Frontend: HTML, CSS, JavaScript, React
- Backend: Node.js / Django / Spring Boot
- DB: MongoDB, MySQL
📚 Resources:
✅ System Design (Important for Amazon/Google)
Topics:
- Scalability, Load Balancers, Caching
- CAP Theorem, Consistency Models
- Designing:
- URL Shortener
- Rate Limiter
- Instagram/Facebook clone
- Uber/Lyft architecture
📚 Resources:
- System Design Primer GitHub
- YouTube: Gaurav Sen, SDE Skills
🔁 PHASE 4: Interview Preparation (Ongoing after 6 months)
✅ Practice Coding Problems
- Leetcode: 300–500 questions (Amazon/Google tag)
- Daily practice: 2 easy, 1 medium, 1 hard
- Mock interviews with friends or platforms
✅ Amazon & Google Specific Rounds
- Amazon: Leadership Principles-based questions
- Google: More DSA + System Design focused
📚 Resources:
🔎 RESUME + APPLICATIONS (After 10–12 months)
- Build a 1-page resume (emphasize projects, DSA, internships)
- Upload on LinkedIn, AngelList, Naukri
- Apply on Amazon Jobs, Google Careers, Internships via Careers Page, Referrals, Hackathons
Optional (but useful):
📈 Competitive Programming (for Google especially)
- Codeforces, CodeChef, AtCoder
🛠 Open Source Contribution
- Hacktoberfest
- Good First Issue GitHub
✅ Checklist Summary:
| Skill | Priority | Done |
|---|---|---|
| DSA (300–500 questions) | ⭐⭐⭐⭐⭐ | ⬜ |
| CS Core (OS, DBMS, CN) | ⭐⭐⭐⭐ | ⬜ |
| 2–3 Projects | ⭐⭐⭐⭐ | ⬜ |
| Git & GitHub | ⭐⭐⭐ | ⬜ |
| System Design | ⭐⭐⭐⭐ | ⬜ |
| Mock Interviews | ⭐⭐⭐⭐ | ⬜ |
| Resume & Applications | ⭐⭐⭐⭐⭐ | ⬜ |
| Competitive Programming | ⭐⭐ (Google) | ⬜ |
✅ 1. Master the Basics of Programming
This is non-negotiable.
- Choose one language: Start with Python, C++, or Java.
- Learn:
- Variables, loops, functions
- Arrays, strings
- OOP (Object-Oriented Programming)
- Recursion
📘 Resources:
✅ 2. Data Structures and Algorithms (DSA)
This is the most important topic for Amazon, Google, etc.
Learn:
- Arrays & Strings
- Linked Lists
- Stacks & Queues
- Trees (Binary Trees, BST)
- Graphs (BFS, DFS)
- Hash Maps
- Sorting & Searching
- Dynamic Programming
- Greedy Algorithms
📘 Practice:
✅ 3. Problem Solving
Practice daily coding problems:
- Start with easy → medium → hard
- Focus on logic building and patterns
🛠 Tools:
- LeetCode
- HackerRank
- Codeforces (for competitive coding)
✅ 4. System Design (Basic for Freshers)
Big tech companies value design thinking.
Understand:
- Client-Server Model
- APIs (REST)
- Basics of scalable systems
- Databases (SQL/NoSQL)
📘 Learn from:
- Grokking the System Design Interview
- YouTube: Simplilearn, Tech Dummies
✅ 5. Core CS Subjects (Interview Level)
Just the interview-relevant topics:
| Subject | Topics to Focus |
|---|---|
| OS | Processes, Threads, Scheduling, Deadlocks |
| DBMS | SQL, Normalization, Transactions |
| CN (Networks) | TCP/IP, OSI model, HTTP, DNS |
| OOP | Classes, Inheritance, Polymorphism |
✅ 6. Projects (Very Important!)
Show that you can build real things.
Examples:
- Web development project (React + Node.js)
- Android app (Kotlin/Flutter)
- ML project (if interested in AI)
- DB-backed application (SQL + front-end)
📘 Share on GitHub, make a portfolio.
✅ 7. Aptitude + Communication Skills
- Aptitude: Practice logical reasoning, number series, puzzles.
- Communication: Practice mock interviews, speak clearly, explain your code logic.
✅ 8. Resume Building
Your resume must:
- Highlight 2-3 good projects
- List key skills (DSA, Python, DBMS, etc.)
- Show GitHub/LinkedIn link
📘 Tip: Use Overleaf Resume Template or Canva.
✅ 9. Apply + Practice Interviews
- Practice mock interviews with friends or mentors
- Join coding groups
- Apply for:
- Amazon SDE Intern/Graduate
- Google STEP Internship
- Off-campus contests (TCS Codevita, Google Kickstart, etc.)
Final Advice:
📌 Even if you know nothing now, give yourself 6-8 months of focused learning:
- Code daily
- Solve 200+ problems
- Build 2+ real projects
- Study interview-focused CS concepts