
How to Get an Internship From Zero (When You Know Nothing)
It’s 11 pm. You open LinkedIn and there it is again. A classmate has posted “Thrilled to announce that I’ve joined XYZ as an SDE Intern.” You close the app. Two minutes later you open it again and feel a little worse.
Meanwhile, you have no project. Your resume is a half-filled template. You’re not even fully sure what an intern does all day. And your college is not the kind where companies queue up at the gate.
If that’s you, this post is written for exactly that starting point. No skills, no contacts, no idea where to begin. I’ll walk you through what to do before you apply, where internships actually come from, how the selection process works, and a 90-day plan you can start tonight.
One honest note before we begin. This takes roughly three months of steady work. Anyone promising you an internship in seven days is selling a course.
First, what “zero” really means
Nobody hiring an intern expects an engineer. They know you’re a student. What they’re checking is much smaller than you think:
- Can you learn something without being spoon-fed?
- Can you finish what you start?
- Can you communicate like a normal person? Reply on time, ask clear questions, say so when you’re stuck.
That’s the bar. An intern who knows a little and finishes things beats a topper who knows a lot of theory and has never built anything.
So zero is not something to hide. It’s just a to-do list. And your college name matters far less than you fear, especially at startups. A founder with eight people on the team cares about one thing: will this person make my week easier or harder?
Everything below is about being able to answer that question with proof.
Step 1: Pick one lane and learn the basics
The most common beginner mistake is trying to learn everything. A week of Python. Three days of web dev. A little machine learning because a YouTuber said AI is the future. Then DSA, because placements. Six months later you know a bit of everything and can build nothing.
Pick one lane. Stay in it for 90 days.
| Lane | What you learn first | Pick this if you |
|---|---|---|
| Web development | HTML, CSS, JavaScript, then React and a little Node | Like seeing results on screen quickly |
| App development | Flutter or Kotlin (choose one, not both) | Want to build things people use on their phone |
| Data analysis | Excel, SQL, then Python with pandas | Enjoy numbers and finding patterns |
| AI and ML | Python, basic statistics, then ML libraries | Have patience for maths and a slower start |
| Non-coding roles | Figma for design, or writing, marketing, product research | Like tech but don’t enjoy coding |
Can’t decide? Go with web development. It tends to have the most openings for beginners, you see your work on screen from day one, and almost everything you learn stays useful later.
How to actually learn it
- Choose one free course or playlist and finish it. One, not five.
- Type the code yourself. Watching someone else code feels like learning. It isn’t.
- Two hours every day beats ten hours on Sunday.
- Around week three or four, stop the tutorials and start building. You’ll feel unready. Start anyway.
What about DSA?
For most first internships at startups, basic problem solving is enough. Arrays, strings, loops, simple logic. Do two or three easy problems a day on the side and keep going. Deep DSA matters for big tech internships and final placements. That’s a later fight.
And AI tools?
Use them. Ask ChatGPT or Claude to explain an error, or why your code isn’t working. But don’t let them write your whole project. In the interview, someone will point at a line and ask why it’s there, and “the AI wrote it” is a bad answer.
Step 2: Build two small projects that prove it
A certificate says you watched something. A project says you can do something. People who hire know the difference.
You don’t need ten projects. You need two honest ones.
Project 1 is a follow-along. Build something with a tutorial, then change it. Add a feature the tutorial didn’t have. Break it and fix it. The changing part is where you learn.
Project 2 is your own idea. Solve a small, real problem around you. It doesn’t have to be clever. It has to be yours. A few ideas:
- An attendance calculator that tells you how many classes you can skip and still stay above 75%
- A notes and previous-year-papers site for your branch
- An expense splitter for your hostel room or PG
- A page that shows today’s mess menu, so nobody has to walk down to check
- A tracker where seniors log which companies visited and what they asked
What makes a project count
- It’s live. There’s a link someone can click. Vercel, Netlify and GitHub Pages all host small projects for free.
- The code is on GitHub with a README. What it does, a screenshot, how to run it.
- You can explain every part of it. If you can’t, you don’t own it yet.
- Someone has used it. Even five friends. “Used by 40 students in my hostel” is a line that gets replies.
Skip the plain to-do list, the calculator and the weather app. Every fresher’s resume has them, and they tell the reader nothing about you.
Step 3: Fix your resume, GitHub and LinkedIn
You now have something to show. This step is about making it easy to see. It takes one week, not one month.
Resume
- One page. Always.
- With no work experience, put Projects first, then Skills, then Education.
- For each project, write what it does, what you built it with, the live link, and a number if you have one.
- List only the skills you can answer questions on. If you write “Java” because you studied it in second semester, expect a Java question.
- No photo, no “career objective” paragraph, no father’s name, no “hobbies: listening to music”.
- Save it as a PDF named
Firstname_Lastname_Resume.pdf. Notresume_final_v3(1).pdf.
GitHub
- Pin your two projects so they’re the first thing a visitor sees.
- Give each one a proper README.
- Commit as you build. A profile with steady activity over two months looks very different from one where everything was uploaded in a single afternoon.
- Use a clear photo. A decent phone picture against a plain wall is fine.
- Make your headline say what you do. “2nd year CSE | Building with React” works. “Aspiring Software Engineer | Seeking Opportunities” says nothing.
- When you finish a project, post about it. The link, a screenshot, and two lines on what you learned.
That last one will feel awkward. Do it anyway. Founders and recruiters scroll LinkedIn all day, and a student who builds things in public stands out fast.
Step 4: Know where internships actually come from
Most students know one route: open a job portal, click Apply, wait. That’s the most crowded door in the building. Here are fifteen ways to apply, including the ones most students never try.
Before the list, look at the odds. This is roughly how often one attempt turns into an interview:
| Channel | Rough chance of an interview |
|---|---|
| Cold applying on a portal | 1 to 2 percent |
| Applying with a tailored resume and cover letter | 3 to 5 percent |
| Cold email to a founder or hiring manager | 5 to 10 percent |
| Referral from an employee | 20 to 40 percent |
| A recruiter or founder reaching out to you | 50 percent or more |
These are rough industry numbers, not exact science. The pattern is what matters: one referral is worth dozens of portal applications. So keep applying. Just don’t make it your only channel.
| Method | How to do it | Honest take |
|---|---|---|
| Internship portals | Apply to posted openings on Internshala, LinkedIn Jobs, Unstop, Wellfound and Naukri. The Let’s Code job board has an Internship filter too. | Easy to apply, so everyone does. One post can get hundreds of applicants. Apply daily, but don’t depend on it. |
| Company career pages | Go straight to the Careers page of companies you like and apply there. Start with the top hiring companies list and these career portals for 50+ top companies. | Many openings never reach the portals, and fewer people apply this way. |
| Hiring challenges and student programs | Enter yearly contests and programs that can lead to interviews, like Flipkart Grid, Amazon ML Summer School, the Juspay Hiring Challenge and TCS CodeVita. | Competitive, and you need decent DSA. Worth one or two attempts a year. |
| Cold emails to startups | Write directly to founders or engineers at small startups. Pick your targets from the Let’s Code startup directory, recently funded ones first. | Far less competition. Most of these openings never get posted anywhere. |
| LinkedIn and X DMs | Search for posts that say “hiring interns” and sort by latest. Leave a useful comment, then message the person who posted. | Fast, because the person hiring is the one reading. |
| Referrals | Ask a senior, an alumnus or an employee to forward your resume inside their company. | The strongest channel there is. Start with seniors from your own college. |
| Campus placement cell | Register with your TPO and sit for every internship drive you’re eligible for. | Depends heavily on your college. Use it, but don’t wait for it. |
| Professors and research internships | Ask a professor about their research or industry projects. Many IITs, IIITs and research institutes also run summer research programs open to outside students. | Good if you like going deep on one topic. Applications open months ahead. |
| Government internships | Look at AICTE’s internship portal. Bodies like NITI Aayog, DRDO and ISRO also take student interns. | Slower process with fixed windows. Check each official site for dates and eligibility. |
| Open source programs | Contribute to a public project, then apply to programs like Google Summer of Code, Hacktoberfest, GirlScript Summer of Code, LFX Mentorship or Outreachy. | Slow, but it looks excellent, and maintainers sometimes hire contributors. |
| Hackathons | Join through Unstop or Devfolio, or pick one from this hackathon list. | You meet people who are hiring. Some companies interview participants directly. |
| Communities | Join groups where openings get shared, like the Let’s Code Discord, Telegram job updates channel and WhatsApp channel. | Openings get posted here as they appear. Be quick. |
| Being found (inbound) | Post your projects on LinkedIn, X and the Let’s Code feed. Keep a public profile on Let’s Code Explore. | Slow at first. After a while, people start messaging you. |
| Freelance or trial work | Offer to build something small for a local business, a college club or a startup. | A good trial often turns into an internship. It’s also a real project for your resume. |
| Local companies and your own network | Small IT firms in your city rarely post online. Email them, or walk in with a printed resume. Ask relatives and family friends who work in tech. | Not glamorous. Works more often than you’d think. |
Which ones should you use?
Not all fifteen. Pick three and run them every day:
- Referrals from seniors and alumni, wherever you can get one
- Cold emails and DMs to startups, as your daily volume
- Portals and career pages in the background, 15 minutes a day
Add the others when they fit. Join a hackathon when a good one comes up. Try a research internship if a professor’s work interests you. Enter one hiring challenge once your DSA is decent.
A word on stipend. Your first internship may pay very little. That’s okay if the work is real and someone there is willing to teach you. What’s not okay is paying them. More on that further down.
Step 5: Apply like a human, not a spammer
Knowing fifteen methods is useless if you run them badly. Here’s how to do the ones that work best, roughly in order of how well they convert. I’ve ranked the same channels for full-time jobs in this guide, and nearly all of it applies to internships.
One rule before any of it: finish Step 3 first. When you ask someone for a referral, they open your resume, your LinkedIn and your GitHub. They’re putting their own name behind you, so a weak profile ends the conversation right there.
1. Referrals
A referred resume almost always gets opened. Nothing else on this list can promise that.
- Pick the role first, not the person. Find a live internship opening on the company’s careers page or the Let’s Code job board. “Refer me for this job ID” works far better than “refer me for anything”.
- Find three to five employees at that company. On LinkedIn, search the company name plus your college name. Alumni reply far more often than strangers.
- Send a short, specific message. There’s a sample just below.
- Follow up once after four or five days. Once. A second follow-up makes you annoying.
- Make it effortless when they say yes. Send your resume PDF, the job ID, your email and your phone number in one single message.
Hi [Name], I saw you work as an SDE at [Company]. I’m a 3rd-year CSE student at [College], and I noticed the SDE Intern opening (Job ID [number]) on your careers page. I built [one line about your best project], and I think I match what the role asks for. Would you be open to referring me? Resume attached, and happy to share anything else you need. Either way, thanks for reading.
Four or five sentences. A specific job ID. One proof point. An easy way for them to say no. That’s the whole formula.
Aim for 10 referral requests a week. Most won’t reply. The few that do are worth more than a hundred portal applications.
2. Cold emails
Cold outreach scares people because it feels like begging. It isn’t. A busy founder has a problem and you’re offering help. And while thousands of people wait in the portal queue, your email sits in the inbox of the person who decides.
Who to email, in order of who replies most:
- Founders of startups with under 50 employees. They read their own email and can say yes on the spot.
- Engineering managers and team leads at mid-size companies.
- Recruiters. Lower reply rate, but replying is literally their job.
Finding the address: most startups use firstname@company.com or firstname.lastname@company.com. A tool like Hunter, or the company’s contact page, usually gets you there.
The process:
- Make a list of 50 small startups. LinkedIn, Wellfound, Product Hunt and startup directories are good places to look.
- Find the founder or an engineering lead on LinkedIn or X.
- Use their product for ten minutes. Notice one specific thing you liked, or one thing that could be better.
- Send a short message. Something like this:
Subject: 2nd-year student, built [project], would like to intern at [Company]
Hi [Name],
I’m [Your name], a 2nd-year CSE student at [College]. I tried [Product] yesterday and really liked [specific thing]. I also noticed [small issue or idea].
I’ve been learning React for the past three months and built [Project], a [one-line description] that [number] students at my college use: [link].
I’d love to intern with your team for [duration], starting [month]. Happy to do a small trial task first.
Resume attached. Thanks for reading.
[Name] | [Phone] | [GitHub] | [LinkedIn]
A few rules:
- Keep it short enough to read on a phone without scrolling much.
- Never open with “Dear Sir/Madam, I am writing to express my keen interest”. It gets deleted.
- Send five personalised messages a day. Not fifty copy-pasted ones.
- No reply after five or six days? Send one polite follow-up. Then move on.
- Track everything in a sheet: company, person, date sent, status.
What to expect:
Most messages will get no reply. Out of 50, you might hear back from a handful and get two or three real conversations. Your numbers will differ, but the shape won’t. Silence is normal and it isn’t personal. They’re busy, the timing was off, they aren’t hiring. Keep sending.
3. LinkedIn, used properly
LinkedIn has two engines. Most students use neither.
Outbound: you reach out. This is the referral and cold message playbook, run on LinkedIn. One extra rule: send the connection request with a short note, under 300 characters. When they accept, wait a day, then send your real message. A pitch squeezed into the connection note gets ignored.
Inbound: they find you. Recruiters search by keyword every day. Your job is to show up in those searches and look credible when they click.
- Put searchable keywords in your headline. “Frontend Developer | React, Next.js | 3rd year CSE” beats “Student at XYZ College”.
- Use your About section to name your stack, your two projects, and the fact that you’re looking for an internship.
- Post once or twice a week. Something you built, something you learned, a bug that ate six hours. You don’t need to go viral. You need to look alive.
- Turn on “Open to Work” for recruiters.
The LinkedIn Optimizer rewrites your headline and About section with the right keywords. You can also set up a public developer profile on Let’s Code Explore, so companies browsing there can see your skills and projects.
4. Go to startups directly
Big companies get all the applications. A 20-person funded startup gets almost none. It usually has no HR team and no campus process. Its hiring pipeline is the founder’s inbox.
- Open the startup directory and shortlist 20 startups in your city or your stack. Put recently funded ones first, because fresh funding usually means hiring.
- Study each one for ten minutes. What they build, who uses it, what stack they run.
- Email the founder or an early engineer using the cold email playbook above.
The bonus move: build something tiny around their product before you write. A bug report, a small improvement, a quick prototype. “I used your product and built X” is the strongest opening line a cold email can have.
Startups also care far less about your college tier and CGPA than big companies do. If you’re from a tier-3 college, this channel is your friend.
5. Portal applications, done properly
Applying is still worth doing. It’s a numbers channel, so treat it like one. Five rules:
- Be fast. Applications sent in the first 24 to 48 hours get seen. Applications on day ten mostly don’t. Join the Telegram job updates channel and check the job board every day.
- Match before you apply. Don’t spray your resume at roles asking for three years of experience. The AI Job Finder matches openings against your actual profile.
- Tailor the top third of your resume. You don’t need a new resume per job. You need one version per role type, say frontend and backend, with the most relevant project first.
- Add a cover letter when the form allows it. Most people skip it, so a short, specific one stands out. Cover Letter AI drafts one from the job description in about a minute.
- Track everything. Company, role, date applied, status, follow-up date. An application you can’t follow up on is half wasted.
6. Open source
Open source builds your skills, your portfolio and your network at the same time. A merged pull request on a real project carries more weight than a solo project of the same size, because it shows you can work in someone else’s codebase.
- Pick a project you already use. You know what it does, which removes half the fear.
- Start with the smallest real contribution: a docs fix, a clearer error message, a missing test. Look for the “good first issue” and “help wanted” labels.
- Read five merged PRs before you write your first. You’ll pick up the project’s style and what maintainers accept.
- Comment on the issue before you code. “I’d like to work on this, here’s my approach” saves you from building something nobody wanted.
- After three or four small merged PRs, take on a real feature. That’s when it becomes a resume line.
Programs worth targeting: Google Summer of Code, Hacktoberfest every October, GirlScript Summer of Code and LFX Mentorship. That said, steady contributions to one project you care about beat hopping between programs. On the Let’s Code Discord, members share beginner-friendly repos and review each other’s first PRs.
7. Communities, hackathons and being visible
This is the slowest channel, and the one that compounds the most. You become someone people know.
- Hackathons. Win or lose, you leave with a project, teammates, and time with the sponsor company engineers who judge these events.
- Communities. Answer questions, share what you build, help juniors. A lot of referrals come from people who’ve watched you show up consistently.
- Write and share. Post what you learn on LinkedIn or the Let’s Code feed. One honest post about how you fixed a bug can bring a recruiter into your DMs.
The weekly system
Methods don’t get you an internship. A routine does. Once your two projects are live, run everything above as one weekly system. It needs two to three hours a day.
| Activity | Weekly target |
|---|---|
| Referral requests | 10 |
| Personalised cold emails | 15 |
| Tailored, tracked applications | 15 to 20 |
| Follow-ups on last week’s outreach | All pending |
| Project or open source work | 4 sessions |
| DSA and interview practice | Daily |
| LinkedIn post or community contribution | 1 to 2 |
Every Sunday evening, spend 30 minutes with your tracker. Who needs a follow-up, which companies are next, what got replies and what didn’t.
And keep preparing for interviews alongside the outreach, not after it. If you start DSA the day the interview call comes, three days won’t be enough.
Step 6: Understand the selection process
A lot of the fear comes from not knowing what happens after you hit send. It’s usually four or five steps.
- Screening. Someone glances at your resume or message. This takes them well under a minute, which is why the live project link has to be near the top.
- Assignment or online test. Startups usually send a take-home task with a two or three day deadline: build a small page, fix a bug, clean a dataset. Bigger companies run an online test with aptitude and coding questions.
- Technical interview. Mostly about your own projects. Why did you use this? What was the hardest bug? What would you change? Then some basics from your lane and maybe one simple coding question.
- Founder or HR chat. Your availability, the duration, the stipend, and why you want to work there.
- Offer letter. Get it in writing. Check the duration, stipend, working hours and start date before you say yes.
How to prepare for each
- For the assignment: submit on time, even if it’s incomplete. Add a short note on what you’d improve with more time. On-time and honest beats late and perfect.
- For the interview: explain your project out loud to a friend in two minutes. Do it three times. You’ll be surprised how badly the first attempt goes.
- For “tell me about yourself”: keep it to 60 seconds. Who you are, what you’ve built, what you want to learn next. Nobody needs your 10th marks.
- When you don’t know an answer: say “I’m not sure, but here’s how I’d find out.” That’s a good answer. Bluffing is not.
- At the end: ask one question. “What would I be working on in the first two weeks?” works every time.
Free Let’s Code resources for every step
You can do everything in this post without spending a rupee. These are the Let’s Code pages that match each step, so you don’t lose a week hunting for material.
| Where you are | What to use | How it helps |
|---|---|---|
| Step 1: picking a lane | All roadmaps, including React, JavaScript, Backend, AI Engineer, Machine Learning and Product Management | Tells you what to learn and in which order, so you stop jumping between playlists |
| Step 1: planning your days | Study Plan Generator | Turns your target role and free hours into a day-by-day plan |
| Step 1: learning the basics | Awesome YouTube Playlists and Awesome GitHub Repositories | Hand-picked free courses and repos. Choose one and start. |
| Step 1: DSA on the side | DSA Roadmap, 100-Days DSA Challenge and LeetCode Top 150 | A fixed list to work through, a few problems a day |
| Step 2: projects | Project ideas | Something to borrow from when you can’t think of what to build |
| Step 3: resume | Resume templates and AI Resume Studio | ATS-friendly templates with PDF download, then bullets rewritten around impact |
| Step 3: LinkedIn and profile | LinkedIn Optimizer, Job Ready Score and a public profile on Let’s Code Explore | A better headline and About section, plus an honest score across resume, LinkedIn and GitHub |
| Step 4: finding openings | Job board, AI Job Finder, top hiring companies and the startup directory | Internship listings, roles matched to your profile, and startups to cold email |
| Step 5: applying | Cold email and referral templates, Cover Letter AI and Job Application Tracker | Ready templates to adapt, and one place to track every message you send |
| Step 6: tests and interviews | Interview Questions, HR Questions, mock tests, Interview Experiences, Company PYQs and company prep guides | Practice questions for your lane, and real accounts of what companies asked |
| The whole way | Discord, Telegram job updates, WhatsApp channel and the community feed | Openings as they appear, and people at the same stage as you to ask questions |
Don’t open all of these today. Use the one that matches the step you’re on, and come back for the next when you get there.
The 90-day plan
Here’s everything above on a calendar. Two hours a day, six days a week, and closer to three in the final month.
| Weeks | What you do | You’re done when |
|---|---|---|
| 1 to 2 | Pick your lane. Start one course. Create GitHub and LinkedIn accounts. | You’ve written code 12 days out of 14 |
| 3 to 5 | Finish the basics. Build Project 1 with a tutorial, then change it. | Project 1 is live and has a README |
| 6 to 8 | Build Project 2, your own idea. Get friends to use it. | It’s live, 5 to 10 people have used it, and you’ve posted about it |
| 9 | Write your resume. Pin projects. Clean up LinkedIn. List 50 startups. | A senior has reviewed your one-page resume |
| 10 to 13 | Run the weekly system: 10 referral requests, 15 cold emails and 15 to 20 applications a week. Practise interviews. | 100+ messages and applications sent, and your first few calls done |
Have exams or a heavy semester? Stretch it to four months. Going slow is fine. Stopping is what hurts.
One timing tip. Don’t wait for the summer to begin before you look for a summer internship. Start reaching out two to three months earlier, because small companies take time to reply and decide.
And you don’t need to be in third year. First and second year students get internships too, mostly at startups, and mostly by asking.
Mistakes that cost you months
- Tutorial hell. Finishing one course and immediately starting another because you don’t feel ready. Build something instead.
- Waiting to feel ready. You won’t. Start applying the day Project 2 goes live.
- Easy Apply as a strategy. Sending the same resume to 200 listings feels like effort. It mostly isn’t.
- Collecting certificates. Ten certificates and zero projects reads as someone who watches, not someone who builds.
- Copying a project from GitHub. It falls apart at the first “why did you do it this way?”
- Padding your resume. Every skill you list is a question you’ve invited.
- Comparing yourself to LinkedIn. People post the offer. Nobody posts the 80 rejections before it.
Scams to stay away from
Fake internship offers are everywhere, and desperate students are the easiest target. Read this part twice.
- Any “internship” that asks for a registration fee, training fee or security deposit. A real internship never charges you.
- A paid course dressed up as an internship, with a certificate at the end and no actual work.
- Unpaid roles with sales targets, where your job is selling the company’s course to your own friends.
- An offer with no interview, sent from a personal Gmail address, pushing you to confirm today.
Before you accept anything, spend ten minutes checking. Does the company have a working product or website? Are there real employees on its LinkedIn page? Can you find one past intern and ask how it went? If you can’t verify it, skip it.
What to do today
Don’t bookmark this and feel productive. Do three small things before you sleep tonight:
- Pick your lane and write it down on paper.
- Create a GitHub account if you don’t have one.
- Open the first video of one course and type along with it.
That’s it. Thirty minutes.
Ninety days from now you can have two live projects and a few interviews lined up. Or you can be right here, reading another blog about how to start. The gap between those two versions of you is mostly whether you begin this week.
You don’t know anything yet. Neither did the people posting those offer letters. They started anyway, and so can you.
Lets Code
Contributing Writer