I didn't read the job description.
I didn't check Glassdoor.
I didn't ask a single senior what the company was actually like on the inside.
I just sat for the drive, cleared the rounds, and found out three months later — the hard way — that "placed" and "safe" are not the same word.
Back with issue #4 of The DEV Guide I Wish Existed — this time: the framework I built to screen a company before I ever sit for its drive, because once you're selected at most colleges, you can't say no. The offer letter isn't where you catch a bad fit. The 30 minutes before you apply is.
If you read Issue #1, you know the short version: a paid, three-month, work-from-home internship at a small Bangalore startup. The first two months were fine. Then I became the only person in the IT department — blamed for things I hadn't built, watching a non-technical founder change UI flows every few days, carrying 6+ hours of solo dev work most nights after a full day of college. No new hires. No real learning. Just "use Cursor" as the answer to everything. I left five days before my sem 6 finals. (That's the short version — Issue #1 has the rest.)
That post was about the path after the damage. This one is about making sure there's no damage to write about next time.
Because the internship wasn't the real mistake. The real mistake was sitting for that drive without checking a single thing about the company first.
How Campus Drives Actually Work (And Why That's a Problem)
Here's the thing nobody tells freshers until it's too late:
Company shows up on campus. HR gives a PPT. You submit your resume. You clear the rounds. You're in.
And once you're in — at most colleges — you can't say no. Your placement cell marks you "placed." You're locked out of every future drive. Done. Game over. Thanks for playing.
That 30-minute window between the PPT ending and the application deadline closing? That is the single most important decision point of your entire placement season. And almost nobody treats it like one.
Everyone around me was applying to everything. Package looks good? Apply. Company name sounds big? Apply. Free pizza at the PPT? Apply.
I did that too — once. You already know how that turned out.
So when placement season came around for real, I made one rule: not every company that shows up on campus gets my resume. I sat for drives before Simform — but only the ones where the role actually matched what a fresher SDE should be doing. Not what a mid-level developer should be doing at fresher pay.
Here's the framework I used to decide.
The Framework: Screen Before You Apply
1. The JD Reality Check
Read the job description like a contract, not a movie poster.
If a company is hiring for "SDE Fresher" but the JD asks for Kubernetes, microservices architecture, CI/CD pipelines, and "2+ years of production experience" — that is not a fresher role. That's a senior role wearing a fresher's salary.
Here's what I actually look at:
Does the tech stack match what a final-year student could reasonably know? React, Node, basic SQL — fair game. Terraform, Kafka, distributed systems — you're not hiring a campus graduate, you're writing creative fiction dressed as a PDF.
Is the role description specific? "You'll work on exciting, cutting-edge projects" is a sentence that means absolutely nothing. "You'll build internal tools for our ops team using Node and PostgreSQL" — that means something. If they can't tell you what you'll actually be building, it's because they don't know either. Or worse — they know, and they don't want to say it out loud.
Does "SDE" actually mean SDE? I came across one listing — fresher title, legit-looking JD on paper. Dug a little deeper. The actual work? AI data labeling. Not software development. Not engineering. Labeling. If I hadn't checked, I'd have walked in thinking I was getting an engineering role and walked out tagging training data for someone else's model.
That last one is why I check every JD now. The title on the campus poster and the work on the ground can be two completely different stories.
2. HR and Support Signals (Visible Before the Drive)
You can learn a lot about a company during the pre-placement talk — if you know what to listen for. Most students zone out during the PPT. I get it. The slides are boring. The HR is reading from a script. But this is your recon window.
The PPT is not a TED Talk. It's an interrogation — and you're the one asking the questions.
A few that are worth asking out loud, or at least listening for answers to:
"How is the onboarding structured for freshers?" — If they fumble this, they don't have one. And if they don't have one, you're going to spend your first month figuring out where the codebase even lives while your Slack messages go unanswered.
"What does the team look like? Will I have a mentor or a lead?" — If the answer is vague, there's a nonzero chance you end up as the entire IT department. Ask me how I know.
"How does escalation work if there's a conflict with a manager?" — This one scares most HRs. Good. If they have a real answer, the company has a real structure. If they dodge it, you're on your own when things go sideways.
"How long has the HR team been with the company?" — Not because tenure automatically means quality. But if everyone in the room joined in the last six months, something is pushing people out — and that something will eventually come for you too.
3. The LinkedIn Audit
This is the check that catches exactly the kind of mismatch from Section 1.
Before you apply for any campus drive, spend 20 minutes — just 20 — doing this:
LinkedIn: Search for people with the exact same job title at that company. Open three or four profiles. What does their "About" section actually describe? What skills are they listing? Does any of it match the JD you were handed — or does it tell a completely different story?
Glassdoor: Filter by "Intern" or "Fresher." Ignore the star ratings — those are about as reliable as Yelp reviews for a restaurant that pays for placement. Read the actual text. Look for patterns. If three separate reviews all mention "no learning" or "assigned work outside the role," that's not a coincidence. That's a signal.
Ask seniors. Not the ones who got placed there three years ago and have already moved on. The ones who are currently there, or left recently. Ask exactly one question: "Would you sit for this drive again knowing what you know now?"
Their pause before answering tells you more than the answer itself.
If the LinkedIn profiles don't match the JD, if Glassdoor contradicts the PPT, if the seniors hesitate — skip the drive. Another one is coming. A bad placement is worse than waiting for the next one.
4. Read the Bond Terms Before the Drive, Not After
Bond. Job bond.
This one is personal.
If you read the FinePrint post, you know the story — a friend nearly signed a 3-year service agreement with a ₹2,00,000 penalty clause buried in clause 3 of his offer letter. He had no idea it was there. First real offer. He was excited. He almost signed it without reading past page one.
That's why @yug_vasava and I built FinePrint for the Gemma 4 Dev Challenge — an AI contract analyzer, powered by Gemma 4, that reads offer letters, finds every buried clause, and tells you exactly what's dangerous and what to push back on. My first DEV Challenge entry. My first post on this platform. Built to catch someone else's near-miss — I just didn't know yet it'd end up catching mine too.
And yes — I ran my own Simform offer letter through it too.
But here's the part most students get wrong: they read the bond terms after they've been selected. By then, at most colleges, it's too late to walk away.
The fix is simple. Before the drive, ask your placement cell or the company's HR directly: "Can you share the service agreement and bond terms before the selection process begins?" Most companies share them in JD itself and it's not an unreasonable ask. If a company refuses to share terms before you commit? That tells you everything you need to know about what's in those terms.
Why I Sat for Simform (And Not Everywhere Else)
I didn't spray-and-pray. After the internship, I made a rule: only sit for drives that pass the filter. That meant skipping companies where the package looked great but the JD was vague. Where the PPT felt like a sales pitch instead of an actual information session. Where seniors told me the work on the ground didn't match the title on the poster.
Some of those companies offered more money than Simform. I skipped them anyway. Because after what I'd been through, I knew the package isn't the product — the work environment is.
Here's what Simform looked like when I ran it through the framework:
Glassdoor — Fresher reviews were consistent. Not glowing five-stars across the board — no real company is. But the patterns described actual engineering work. Not relabeled support tickets. Not data tagging. Actual development.
Seniors — The ones who'd joined recently described real projects, real mentorship, actual team structures. Nobody hesitated when I asked if they'd sit for the drive again.
The PPT — I've sat through pre-placement talks where the HR spends 40 minutes saying nothing useful. Simform's presentation answered every question I cared about before I had to ask. Nobody in the room had a single doubt afterward. That almost never happens.
The interviewers themselves — This is the part that stuck with me. The HR told me she'd been with Simform for 6 years — and this was her 4th firm overall. She didn't just work there. She chose to stay. The developer who ran my technical round had been there for 10 years. Ten years. In this industry. That is not an accident. That's a verdict.
The process — Placement portal with round-by-round updates. Clear timelines. Offer letter delivered through a proper system — not a WhatsApp forward at 11 PM with "congrats bro" as the subject line.
None of this is a guarantee. I haven't started yet — I'm joining as a Trainee Engineer and I'll form my own opinions once I'm on the inside. But the difference between this and the internship? This time, I checked. This time, I knew what I was walking into before I walked in.
The Part I Didn't Plan
FinePrint started because a friend almost signed a predatory contract. It became my first DEV Challenge entry. My first post on this platform. Months later, I ran my own offer letter through it — the one from the company I actually chose to join. And now I'm writing about the decision framework behind that choice, in Issue #4 of the series that FinePrint kicked off.
Every issue of this series loops back to something I built, broke, or learned the hard way. This one loops back to where the whole thing started.
If you're in final year right now, placement season is either approaching or already running. And the pressure to just get placed — anywhere, at any company, just get it done — is suffocating. I know. I felt it too.
But "placed" doesn't mean "safe." A bad first job can burn you out before your career even starts. The 20 minutes you spend checking Glassdoor, reading the bond terms, and asking one honest senior one honest question before the drive — that's the highest-ROI twenty minutes of your entire semester.
Screen before you apply. Not after you're selected.
Read between the lines — before you sign on one.
To the freshers: What's the sketchiest company that showed up at your campus this season? What red flags did you catch — or miss?
To the working devs: What do you wish someone had told you before you accepted your first offer?
Drop your stories. 👇
🎓 Follow for the next drop — nobody hands you this playbook in college, so I'm writing it as I go.
Top comments (36)
🎓 Issue #4 is live.
I learned this one the hard way: getting placed and getting a good opportunity are two very different things.
So I'm curious — what's the biggest red flag you've ever caught in a job/internship before applying, or the one you wish you'd caught earlier? 👀
Freshers, seniors, working devs — all stories welcome.
Drop them below. 👇
I'd have liked it if they explained 'we're hiring you for your skillset, but you wont be using any of that, you'll be taking poorly structured instructions, taking blame when scope not scoping and btw, we'll make rules you need to follow, but never tell you till you break them... Oh and if you work from home, we'll send you a warning letter, but not the employees in the office for the exact same thing, just cuz we want to get rid of you without the legal complications of trying to fire you for a back injury'... Though that's probably a bit on the nose?
I wish they had actually given me a clear explanation of their work culture, so I know they run like headless chickens, incapable of writing anything down, just tell eachother over the shoulder instead of using the 4 separate dedicated channels... Especially for big things.
That's the thing!!
Clarity and Transparency are expected from us but not from them.
Also, trying to not make a big deal when they cross a line.
1 of the reasons I chose a company where HR department is for employees 😅😄
The worst part is 'we're pretty relaxed' was the case, for a year I worked from home without complaint. Now suddenly they want me to drive 2 hours to and from work daily... Now suddenly 'autonomy' isnt a good thing anymore and 'ownership' becomes a problem. They used to be relaxed and in all honesty, I've made them probably 10x what I've cost them, I work fast and accurate, building systems that make sense, but that's pointless when the boss wants things that make no sense and when the project lead cant give a proper briefing on what they want... If you want specifics, then be specific in the scope. Dont leave it up for interpretation if you're going to make me rewrite it for doing it the logical path when you want something else?
Take for example, rework the incidents system to be dynamic. So I did, using C# profiles, we can append and edit as we want. No, we wanted db backed. Ok, now it's db backed and fully dynamic. No, we want it fixed, but dynamic... So... You wanted it hard-coded to the database, with set procedures hard-coded, yet call it dynamic? - the kind of bs I deal with daily...
Yeah, that “be relaxed and take ownership” combination can get really dangerous when the expectations aren't actually clear. 😅
Especially the part about requirements changing from “dynamic” to “hard-coded” and then back again — that's exactly the kind of thing that makes you realize the problem isn't always the developer's work, but the lack of clarity around what was actually expected.
This is exactly why I think asking about how work is scoped and communicated before joining matters so much. You can learn a lot from how they answer that one question.
The worst part is, I asked constantly, I clarified what I had in mind, so they can adjust, etc. Specifically, so I can have an audit trail if they say I didnt follow scope... And that shift from where I had proper autonomy to now being overseen like a bloody junior... So they wanna treat me like a junior, by all means, as long as you keep paying me my senior rate. But dont come crying when it takes longer or is built perfectly to spec when your spec was wrong. Want my knowledge to be worth something? Let me build it my way, instead of saying 'wrong scope' ask why... A bit of clarity from the task giver and willingness to listen goes a long way in development...
My internship was a little similar to this only. But hope you're out and fine now! 😅
Fingers crossed how it goes in half an hour 🤞 Got an interview with Wasmer scheduled. If it goes well, then Tech evaluation, if that goes well, I'm giving in my notice and wipe my hands in a month 🥳
Hope you get it! All the best 🤞
This framework is genuinely useful — the LinkedIn audit + asking a currently-there senior "would you sit for this drive again" is such a practical filter. As someone writing about data science/career content myself, I think a similar screening approach applies for internship offers too — checking if the "data science" title actually means analysis work vs just data entry. Bookmarking this.
Thanks for the read!
And yes it applies to internships too cause problem is unpaid internships have become like way too common here in India.
And if you get a legit paid one. Something like what happened to me. Happens!😅
Nice information bro!
Thanks di! (I can call you di right? as in didi?) Don't wanna make anyone feel awkward.😅
Wow, thank you so much ❤️You can call me Di, and can I call you Bhai ji? 🥰
Yes. Whatever makes you feel good. I like it when you can talk to people online like this😅🥰
By the way, I talk like this both online and offline. I think you’re a shy person, right? :D
Well, there was a time I wasn't (after covid side effects) but I always think what the person infront would. Having a good EQ is also not that good a thing.😅
It's like I must have a small conversation with someone alone before I get to talk to them naturally. 🙃
My problem is same! :( i am introvert in real life!
Well its not sad, Its just that we enjoy our ownself to the fullest🍻😂.
Wow Bro. Exams are over and you got to writing on the same day😂
Well, had the idea for this post since a week but was not able to draft properly due to sessionals prep. As I came home, used solid 3 hours😅.
🫡. Thanks for the mention btw.
👍️, Sure. Also, ALL THE BEST for placements!!
Thanks!! Lets hope for the best🤞.
Bro, you'll get it. But don't extend this thread anymore.😅 If you got a genuine question then fine. Else we can just whatsapp.😂
The pre-application research framework is useful because it converts vague caution into observable signals. I would add one question that is hard to game: ask what a newcomer can ship, learn, and get feedback on in the first month. It reveals more about the work than a polished careers page.
That's actually a great question. I focused a lot on what the company says the role is, but asking what a newcomer can realistically ship and learn in the first month gets much closer to what the job actually looks like. Definitely adding this to the checklist. Thanks for the insight! 🙌
yes
Some comments may only be visible to logged-in visitors. Sign in to view all comments.