How to Become a Software Engineer at Microsoft
1. Education (Minimum Requirement)
- BSc in CSE / Software Engineering / IT or related field
- Self-taught is also possible (but harder)
👉 If you are from Bangladesh:
- Universities like BUET, DU, NSU, BRAC, Daffodil give an advantage
- But with strong skills, any university is fine
2. Programming Skills (Must Have)
👉 Be strong in at least one language:
- C++ / Java / Python
👉 Core topics:
- Data Structures (Array, Linked List, Tree, Graph)
- Algorithms (Sorting, Searching, Dynamic Programming)
3. DSA + Problem Solving (MOST IMPORTANT )
👉 This is what Microsoft interviews mainly focus on
Practice on:
- LeetCode (best)
- HackerRank / Codeforces
👉 Target:
- Solve 200–300 problems
4. Computer Science Fundamentals
- OOP (Object-Oriented Programming)
- DBMS (SQL)
- Operating Systems (basic)
- Networking (basic)
5. Projects (Very Important)
👉 You should have 2–4 strong projects:
- Web app (React + Node)
- Mobile app
- AI/ML project (optional but a bonus)
👉 Upload all projects on GitHub
6. Resume (Build Smartly)
- Keep it 1 page
- Highlight skills and projects
- Use numbers to show impact (e.g., “improved speed by 30%”)
7. Interview Process
Step 1: Online Assessment
- Coding test (DSA)
Step 2: Technical Interviews (2–4 rounds)
- Coding problems
- Problem solving
- Some system design (for senior roles)
Step 3: HR / Behavioral
- “Tell me about yourself”
- Teamwork, leadership
8. How to Apply
👉 3 main ways:
- Microsoft Careers website
- Referral (best way)
- Internship → Full-time conversion
Simple Roadmap (Step-by-step)
- Learn a programming language
- Master DSA (via LeetCode)
- Build 2–3 projects
- Prepare your resume
- Apply / get referrals
- Clear interviews
Time Required
- Beginner: 8–12 months
- If you already know coding: 4–6 months
Real Advice
- Not just coding → need a problem-solving mindset
- Daily practice is essential
- Consistency = success
6-Month Roadmap (Beginner → Microsoft Ready)
Month 1: Programming + Basics
👉 Goal: Become comfortable with coding
- Choose a language (C++ / Python / Java)
- Learn basics:
- Variables, loops, functions
- Arrays, strings
👉 Practice:
- 20–30 easy problems
Month 2: Data Structures (Core Start)
👉 Goal: Start DSA
Topics:
- Array
- String
- Linked List
- Stack & Queue
👉 Practice:
- 40–50 problems
Month 3: Algorithms + Intermediate DSA
👉 Goal: Improve problem solving
Topics:
- Sorting (merge sort, quick sort)
- Binary Search
- Recursion
- Basic Dynamic Programming
👉 Practice:
- 60–70 problems
Month 4: Advanced DSA
👉 Goal: Microsoft-level preparation
Topics:
- Trees & Binary Trees
- Graphs (BFS, DFS)
- Advanced DP
👉 Practice:
- 80–100 problems
Month 5: Projects + CS Fundamentals
👉 Goal: Real-world skills
📂 Projects (at least 2)
- Web app (React / Node)
- OR Python project (automation, API)
📚 Theory:
- OOP
- DBMS (SQL)
- OS basics
Month 6: Interview Preparation
👉 Goal: Crack interviews
- Mock interviews
- Solve medium + hard problems
- Polish resume
👉 Practice:
- 100+ mixed problems
Daily Routine (Important )
👉 Every day:
- 2–3 hours coding
- Solve 2–3 problems
- 1 hour theory / revision
Final Target (After 6 Months)
You should have:
- ✅ 250–300 problems solved
- ✅ 2–3 strong projects
- ✅ A solid resume
- ✅ Interview confidence
Best Resources
- LeetCode → problem solving
- YouTube → free learning
- GitHub → project hosting
Real Talk
- It will feel hard at the beginning
- You’ll see improvement after 2 months
- Stay consistent for 6 months → huge transformation

