The direct answer
The Non-Negotiable: C++/Python Proficiency
Target: By end of Year 1, you should be able to solve 150+ problems on LeetCode/Codeforces.
Every software company's recruiting (SDE intern roles) screens with DSA problems. Allen's classroom notes don't prepare you for this. This is separate learning.
| Months | Target | Resources |
|---|---|---|
| Month 1–2 | Complete CS50 (Harvard) or Learn Python/C++ from YouTube (CodeWithHarry, Abdul Bari) | Free online courses |
| Month 3–4 | Start LeetCode Easy problems (50 problems) | LeetCode, Codeforces |
| Month 5–6 | LeetCode Medium problems (50 problems) | LeetCode, HackerRank |
| Month 7–8 | Mixed practice + Arrays, Linked Lists, Trees, Graphs | Striver's DSA sheet |
| Month 9–12 | Competitive programming basics (Codeforces Div. 2 A-B problems) | Codeforces, CodeChef |
Why C++ or Python?
C++: Preferred for competitive programming and DSA interviews. Faster execution, STL library is powerful. Most used in FAANG interviews.
Python: Easier to learn, great for rapid prototyping. Used heavily in ML/Data Science roles. Slightly slower execution but code is shorter.
Recommendation: Learn C++ if targeting SDE roles at Google/Amazon/Microsoft. Learn Python if targeting data/ML roles or if you're from non-CS branch and want to move into software.
The campus ecosystem offers more than just classrooms
Data Structures and Algorithms (DSA) — The Core
This is not taught well in IIT curriculum in Year 1 (varies by IIT). You need to self-learn:
Month-wise DSA Roadmap
- Arrays, Strings, Linked Lists (Month 3)
- Stacks, Queues, Trees (Month 4–5)
- Graphs, BFS/DFS (Month 6–7)
- Dynamic Programming basics (Month 8–10)
Resources
"Introduction to Algorithms" (MIT OpenCourseWare, free) + Striver's DSA sheet + LeetCode.
Key: Understand the "why" behind each data structure, not just the "how." This helps in interviews when they ask variations.
Practice Strategy
Weekdays (1 hour/day): Solve 2-3 LeetCode problems. Focus on one topic (e.g., this week is Arrays).
Weekends (3 hours): Attempt a contest on Codeforces or LeetCode weekly contest. This builds speed and exposes you to new problem types.
Monthly review: Revisit problems you found difficult. Try to solve them again without looking at solutions.
Web Development (For Non-CS Students Too)
Why web dev matters even if you're not CS: Mechanical, Electrical, even Civil students get SDE internships at top companies. A student who can build a web app demonstrates practical skills that GPA alone doesn't show.
Basic Roadmap
- HTML/CSS (2 weeks)
- JavaScript fundamentals (4 weeks)
- React.js basics (4 weeks)
- One full project: Build something real (a personal portfolio, a simple tool)
Do NOT try to learn everything. Learn React well. One good project > 10 half-done ones.
Project Ideas for Year 1 Students
1. Personal Portfolio Website: Showcase your projects, skills, and resume. Deploy on Vercel/Netlify. This is your first "real" project.
2. JEE Rank Predictor: Use your JEE preparation knowledge to build a simple tool that predicts rank based on marks. Share it with friends. This demonstrates both technical skill and domain knowledge.
3. College Event Management System: Build a simple CRUD app for your department's fest. Approach your student affairs council. Real-world usage looks great on resume.
Networking and peer learning accelerate your skill development
The Resume You'll Need for Year 2 Internship Applications
Companies see your resume in October–November of Year 2 for summer internships. By October of Year 2, you need:
At Minimum
- 2 meaningful personal projects (not tutorials copied — your own ideas)
- 60+ LeetCode problems solved (with profile link)
- 1 open source contribution (even a documentation fix counts)
- GitHub account with green contribution grid (shows consistency)
Nice to Have
- Research project with a professor (good for software research roles)
- Competitive programming rank (Codeforces Specialist or above stands out)
- Hackathon participation (even without winning)
Resume Template for Year 2 Internships
Format: One page. Clean. ATS-friendly.
Sections:
- Header: Name, contact, LinkedIn, GitHub, LeetCode profile
- Education: IIT/NIT, branch, CGPA (include if >7.5)
- Projects: 2-3 projects with tech stack and live demo link
- Technical Skills: Languages, frameworks, tools
- Achievements: LeetCode 150+, Codeforces rank, hackathon participation
Skills That Are Overrated in Year 1 (Don't Waste Time)
Machine Learning (Wait Until Year 2)
You need Linear Algebra and Statistics first. Without the math foundation, you're just calling sklearn functions without understanding.
Blockchain/Web3 (Currently Overhyped)
Market is volatile. DSA skills > Web3 buzzwords.
Full Stack Before Basics
Learning React before JavaScript, Django before Python is like learning Calculus before Algebra. Master one layer before adding another.
CGPA Above 9.5 as Your ONLY Goal
A 9.0 CGPA + strong projects beats a 9.7 CGPA with no projects at most companies. Both are excellent outcomes. But don't sacrifice your entire social life for 0.3 CGPA.
The Compound Effect of Starting in Month 1
| Starting Point | By October Year 2 | Internship Outcome |
|---|---|---|
| DSA in Month 1 Year 1 | 300–500 problems solved, 2 projects, GitHub green | Top companies (Microsoft, Amazon, Adobe, D.E. Shaw) |
| DSA in Year 2 | 50–80 problems, no projects, empty GitHub | Tier-2 companies or college placements only |
The difference is not intelligence. It is 12 months of consistent daily effort. 1 hour/day of DSA practice in Year 1 = 365 hours by September of Year 2. That compounds into a completely different internship profile.
Frequently Asked Questions
What skills should I build in IIT Year 1 for a good internship?
Year 1 focus: C++/Python proficiency, Data Structures and Algorithms (DSA), web development basics, and GitHub portfolio. Target: 150+ LeetCode problems by end of Year 1, 2 meaningful projects, and consistent commit history. This compounds into top internship profiles by Year 2.
How early should I start DSA for placements?
Month 1 of Year 1. Students who start DSA in Month 1 solve 300-500 problems by October Year 2. Students who start in Year 2 solve 50-80 problems. The difference is 12 months of consistent daily effort, not intelligence.
Is competitive programming necessary for good internships?
Not strictly necessary, but highly valued. Codeforces Specialist rank or above stands out. Even without winning, participation shows problem-solving ability. Combine with DSA and projects for strongest profile.
Should I learn web development or focus only on DSA?
Do both. DSA gets you interviews. Projects get you offers. A strong GitHub with 2-3 full projects + 150+ LeetCode problems is the ideal Year 1 outcome. Web dev is the easiest way to build tangible projects.
What if my branch is not CSE? Can I still get software internships?
Yes. Mechanical, Electrical, Civil students get SDE internships at Microsoft, Amazon, Google every year. The branch on your degree does not matter for software roles. Skills and projects matter. Build the same DSA + project portfolio regardless of branch.
How many LeetCode problems should I solve in Year 1?
Target 150+ by end of Year 1. 50 Easy, 80 Medium, 20 Hard. This is enough to clear most company screening tests. For top companies (Google, Jane Street), 300+ by Year 2 is ideal.
Start your IIT journey with the right roadmap
From first month to final placement — we have guides for every step.
Your first month sets the foundation for internship success
