My Journey to Landing My First Tech Internship with No Experience
TLDR: After 50+ rejections, countless all-nighters building assignments, and a ton of failed interviews, I finally broke into tech at KoinX despite coming from a tier-3 college. Competing against candidates from tier-1 schools with impressive backgrounds taught me that persistence and strategic improvement through each rejection ultimately pays off.
The Brutal Reality of Early Rejections
During my second year of engineering, I got this crazy idea that I could land an internship with absolutely no professional experience. Classic naive student moment, right? I genuinely thought my GitHub projects and DSA knowledge would be enough to impress recruiters. Boy, was I wrong!
Reality hit me like a truck — most of my applications vanished into the void. The few times I made it past resume screening, I'd either crash and burn on the assignments or mess up the interviews.
I ended up building like 20–30 different assignments for various companies. Sometimes I'd get shortlisted but then completely bomb the interviews. I was mostly targeting backend roles because, let's be honest, my frontend skills were pretty trash at that point.
Fun fact: Even KoinX (where I eventually interned) rejected my first application! I spent days on their assignment during my second year and never heard back. Not even a “thanks but no thanks” email. Brutal.
The damage:
- •50+ rejections (stopped counting after a while)
- •20–30 assignments built (many all-nighters for nothing)
- •Multiple failed interviews (some embarrassingly bad)
Turning Those L's into Learning Opportunities
What made my journey different was how I handled these rejections. Instead of just feeling sorry for myself (okay, there was definitely some of that too), I started seeing them as:
- •Free mock interviews: Each painful rejection taught me what real companies were actually looking for
- •Assignments = free practice and upskilling: Every rejected project showed me where my code sucked and needed improvement
- •Growth opportunities: I systematically fixed the weaknesses that each rejection highlighted
Not gonna lie, there were plenty of times I felt completely overwhelmed. I'd see LinkedIn posts from classmates landing internships and wonder what I was doing wrong. But I never completely stopped coding or building projects. The rejections hurt, but I had this stubborn belief that my hard work would eventually pay off.
The Heartbreaking Almost-Break: Atlan
My first almost-breakthrough came with Atlan — literally my dream company. Some seniors I really looked up to from my college worked there (the same ones who had cracked Google Summer of Code, while I had been rejected from GSoC… twice).
The process was going so well:
- •Cleared their online assessment
- •Built and submitted a solid assignment
- •Created a proper demo video explaining everything
But then… a single line of code prevented the Atlan engineer from logging in during evaluation. They sent a rejection email saying they had better candidates.
I. Was. Crushed.
The Strategic Approach to KoinX (Round 2)
When KoinX posted another opening for a Backend Intern right as my third year began, I knew this was my shot at redemption. This time, I approached it completely differently:
- •Extreme over-delivery: They gave 24 hours for the assignment; I finished it in 2 hours and spent the rest on optimization and documentation
- •Technical overkill: Built a backend that was way more complex than needed — added caching, lock mechanisms, proper error handling, the works
- •Shameless self-promotion: Posted about my submission on Twitter, tagged KoinX employees, and sent follow-up emails (was probably annoying but I was desperate)
A week passed with nothing. I had almost given up when suddenly I got a call scheduling an interview for THAT SAME DAY.
How I Actually Prepared for the Interview
Having failed so many interviews, I knew technical skill alone wouldn't cut it. I needed to show I really understood what I built:
- •I went through every single line of my assignment code, making sure I could explain WHY I made each decision
- •Prepared a list of things I could've done better (like using MongoDB aggregation pipelines instead of multiple queries)
- •Refreshed all my knowledge of JS, Node.js, MongoDB, Redis, and other relevant stuff
During the technical interview, they actually extended the assignment with an additional task, which I completed live. The interviewer (Harsh sir) was genuinely impressed by how I implemented a scalable cron job, saying he hadn't seen candidates thinking that far ahead before.
Breaking In: The Tier-3 Kid Among Tier-1s
I cleared the cultural round and got an offer! The stipend was non-negotiable since I had zero experience, and KoinX typically didn't hire from tier-3 colleges like mine.
During onboarding, I found out something that validated all my hard work: among the three interns they hired, the other two had impressive credentials:
- •One was from my batch but had secured GSoC 2024
- •The other was a senior with a MICROSOFT internship on their resume
- •Both were from tier-1 colleges
And then there was me — tier-3 college, no prestigious achievements, no prior internships. But my strategic preparation and deliberate upskilling paid off. I earned my spot alongside them through sheer persistence and smart work.
What I Actually Learned at KoinX
My 4-month internship at KoinX was like drinking from a firehose of knowledge:
- •Got to work on actual distributed, event-driven microservices (not just toy projects)
- •Implemented repository pattern across 40+ MongoDB models (so much better than my previous spaghetti code)
- •Built CI/CD pipelines to automate deployments (Jenkins was a pain but worth learning)
- •Developed some insanely complex MongoDB aggregation pipelines that made my brain hurt
- •Got hands-on with observability tools that I'd only read about before (Prometheus, Grafana, Loki, Thanos)
What This Whole Mess Taught Me
- •Persistence > pedigree: My tier-3 college didn't matter once I proved I could deliver quality work
- •Learn from every rejection: Each “no” taught me something specific I needed to improve
- •Depth > breadth: Going deeper into understanding how systems actually scale set me apart from other candidates just checking boxes
- •Be annoyingly visible: Making sure my work was seen through social media and direct outreach actually worked (sorry not sorry)
- •Know your shit cold: Understanding my code well enough to discuss improvements showed I wasn't just copying Stack Overflow
Final Thoughts
Look, if you're like me — struggling with rejection after rejection, feeling disadvantaged by your college tier or lack of experience — just remember that each rejection is actually making you better if you're paying attention.
Document what you're learning, fix your weaknesses systematically, and approach each opportunity with everything you've learned so far.
I busted my ass to get this opportunity — it wasn't luck or chance. It was deliberate improvement, strategic preparation, and straight-up refusing to quit.
If I could do it — a tier-3 college kid with zero connections — you absolutely can too. Just put in the work, learn from every failure, and keep pushing forward.