I Survived My First Dev Job. Here's the System That Saved Me.

·9 min read

Day 14 of my first developer job: I spent two hours debugging before realising I'd been looking at the wrong repository. Day 28: I asked what "staging environment" meant in standup and watched five people exchange glances. Day 47: I seriously googled "how to quit a job you just started."

I was certain I'd fooled them in interviews and would be exposed any day. Imposter syndrome was eating me alive. The thought of asking another "stupid question" made me nauseous.

I nearly quit three times in 90 days. What saved me wasn't suddenly becoming competent—it was building a system that made progress visible, normalised not-knowing, and gave structure to the chaos.

Why the First 90 Days Are Uniquely Brutal

Imposter syndrome at peak. Everyone else seems to know what they're doing. You're the only one asking "basic" questions. Every codebase reference flies over your head. You're convinced you fooled them in interviews.

Information overload. New codebase (10,000-100,000+ lines of unfamiliar code). New tools (Git workflow, CI/CD, ticketing system). New domain knowledge. New people. New norms. Everything is new, all at once.

Unclear expectations. "Ramp up at your own pace" sounds supportive but provides no concrete metrics. No one tells you what "doing well" actually looks like. Probation period looms with undefined success criteria.

Fear of being found out. They'll realise you don't know X, Y, Z. They'll regret hiring you. You'll be fired before the 3-month mark.

The data validates this experience: Stack Overflow's 2024 Developer Survey found 84% of developers report imposter syndrome, with highest rates in the first year.

The 90-Day Framework (Week-by-Week)

Weeks 1-2: Observation & Environmental Setup

Goals:

  • Development environment working (laptop, IDE, repository access, successful build)
  • Understand team structure and norms
  • Build relationship foundation
  • First tiny contribution (even fixing a typo in docs)

Daily activities:

  • Morning: Attend standup, ask 1-2 clarifying questions
  • Midday: Pair with senior dev on any task (watch, learn, ask)
  • Afternoon: Codebase exploration (trace one feature end-to-end)
  • End of day: Learning log (what I learnt, what I'm confused about)

Relationship mapping: Create document answering:

  • Who is my manager/mentor?
  • Who are the senior devs I can ask questions to?
  • Who owns which parts of the codebase?
  • Who are the domain experts?
  • What's the escalation path for blockers?

First contribution target: Fix documentation typo, add missing comment, update README—anything proving you can commit/push/PR.

Success criteria Week 2: Dev environment works. Codebase builds locally. First PR merged (even if trivial). Names memorised. Relationship map complete.

Weeks 3-4: Micro-Contributions (Building Proof)

Goals:

  • Consistent small contributions (1-2 PRs/week)
  • Build pattern of competence
  • Learn code review process
  • Establish "I ask good questions" reputation

Contribution types:

  • Bug fixes: Small, well-defined, low-risk
  • Tests: For existing features (safe, valuable, teaches codebase)
  • Documentation: README updates, inline comments, runbook improvements
  • Refactoring: Small, non-functional improvements

Why micro-contributions matter: They build confidence (you CAN do this), create visible track record, teach tooling in low-stakes context, and demonstrate conscientiousness.

Question-asking strategy:

  • Before asking: Spend 30 minutes trying to figure it out (shows initiative)
  • When asking: "I tried X and Y, but I'm blocked on Z. Can you point me in the right direction?"
  • After getting help: "That worked, thank you" (closes the loop)

Daily learning log:

Date: [date]
What I learnt: [3 technical things]
What I'm confused about: [questions]
What I contributed: [PR links]
Who helped me: [names + what they taught]

Success criteria Week 4: 4-6 merged PRs (even small). Comfortable with code review process. Asked 20+ questions without dying. Learning log proves daily progress.

Weeks 5-8: Increasing Complexity

Goals:

  • Take on small feature work (not just bugs/tests)
  • Participate actively in code reviews
  • Reduce blockers (get unstuck faster)
  • Start pairing with other juniors

Code review participation: Review 2-3 PRs per week minimum. Ask questions: "Why this approach over X?" Suggest improvements where you see them. Learn by reading others' code—it's the fastest codebase education.

Getting unstuck faster: Week 1 average stuck time: 2 hours before asking. Week 8 target: 30 minutes before asking. Track your stuck time—it should decrease weekly.

Success criteria Week 8: Shipped 2-3 small features (even if heavily supported). Reviewed 12+ PRs. Unstuck time reduced by 60%. Contributed to 2+ technical discussions.

Weeks 9-12: Demonstrating Autonomy

Goals:

  • Own medium-sized feature end-to-end
  • Make technical decisions (with guidance)
  • Help newer people (even just slightly newer)
  • Demonstrate you can work semi-independently

Autonomy markers:

  • Manager assigns work and trusts you'll ask when blocked (not micromanaging)
  • You're invited to planning/design meetings
  • You're assigned code review responsibility
  • Peers come to you with questions (occasionally)

Preparation for 90-day review:

  • Compile contribution list (every PR)
  • Learning log shows clear progression
  • Specific examples of growth
  • Questions you have about role progression

Success criteria Week 12: Owned 1+ medium feature end-to-end. Made technical decisions. Helped someone else. Ready for positive 90-day review.

The Imposter Syndrome Toolkit

Tool 1: Daily Learning Log (Proof of Progress)

Imposter syndrome makes you feel like you're not improving. The learning log provides objective evidence you are.

Template:

Date: 2024-12-06
---
What I Learnt Today:
1. How JWT authentication works in our API
2. What "staging" vs "production" environments mean
3. Git rebase vs merge (when to use which)

What I'm Still Confused About:
1. How our microservices communicate
2. What "service mesh" means

What I Contributed:
- PR #234: Fixed bug in user validation
- Reviewed PR #240: Added comments on edge cases

Who Helped Me:
- Sarah (explained JWT), Michael (pair programmed bug fix)

Wins (Even Small):
- My PR got approved first review!

Review weekly: Compare Week 1 log to Week 12 log. The progress becomes undeniable.

Tool 2: "I Don't Know" Scripts

The imposter fear: "If I ask this, they'll know I'm incompetent."

The reality: Senior devs expect you not to know. They're evaluating your ability to learn, not your existing knowledge.

Scripts:

"I don't know—can you point me to where I should look to learn this?"

"I don't fully understand [concept]. I've read [resource], but I'm unclear on [specific part]. Can you explain?"

"I made a mistake—I merged code that broke staging. I've reverted it. What's the process I should have followed?"

Tool 3: The Progress Repository

Create a private document tracking every accomplishment:

Format:

Date: YYYY-MM-DD
Accomplishment: [what you did]
Impact: [why it mattered]
Evidence: [PR link, Slack message, etc.]
Who knows: [who witnessed this]

When imposter syndrome hits, review this document. The evidence contradicts the feeling.

Tool 4: The "Stupid Questions" Reframe

Old frame: "Asking questions reveals incompetence."

New frame: "Asking questions demonstrates initiative and saves time."

Senior developers have seen hundreds of new devs. They know the questions. They expect them. The juniors who worry them are the ones who don't ask—who stay stuck for days rather than interrupting for 5 minutes.

Every "stupid question" you don't ask becomes an hour of unnecessary struggling.

Managing the Information Firehose

Strategy 1: Focused learning zones. Don't try to understand the entire codebase. Pick one feature or module. Understand it completely. Expand from there.

Strategy 2: Reading code > Reading docs. Documentation is often outdated. The codebase is the source of truth. Trace execution paths. Read tests (they show intended behaviour).

Strategy 3: Capture immediately. When you learn something, write it down within 60 seconds. Your future self will need it.

Strategy 4: Ask for context, not just answers. "Why is it done this way?" teaches more than "How do I do this?"

Building Relationships That Save You

Your manager: They want you to succeed (hiring is expensive). Ask explicitly: "What would make my 90-day review successful?" Act on what they say.

Your mentor: Formal or informal, identify someone who'll answer questions without judgment. Nurture this relationship.

Peer allies: Find other juniors or recent hires. Shared struggle reduces isolation. You can ask each other the "really stupid" questions.

Senior devs: Different seniors have different expertise. Map who knows what. Distribute questions appropriately.

The Reframe That Saved Me

Week 6, at my lowest: A senior developer said something that changed my entire perspective.

"You're not supposed to know this yet. That's why we hired someone junior. If we wanted someone who already knew everything, we'd have hired a senior and paid them three times as much. We hired you to learn—that's literally your job right now."

The reframe: Your job in the first 90 days isn't to be competent. It's to become competent. Learning IS the work. Questions ARE the output. Confusion IS the process.

Every senior developer was once where you are. They remember. They're not judging you for not knowing—they're evaluating whether you can learn. And you can.

Signs You're Actually Doing Fine

  • Your manager isn't scheduling extra check-ins
  • People answer your questions without visible irritation
  • Your PRs get approved (even with comments)
  • You're invited to meetings
  • Someone asks you a question (about anything)
  • Your mentor hasn't escalated concerns to your manager
  • You're being given incrementally larger tasks

Imposter syndrome convinces you everything is failing. These signals indicate the opposite.

When to Actually Worry (And What to Do)

Genuine warning signs:

  • Manager schedules unexpected "check-in" with HR present
  • Feedback explicitly mentions performance concerns
  • Tasks stop being assigned
  • You're excluded from meetings you used to attend
  • Multiple people mention the same concern

If these occur:

  • Ask directly: "I want to make sure I'm meeting expectations. Can you tell me specifically what I need to improve?"
  • Create a 30-day improvement plan with measurable goals
  • Request weekly feedback rather than waiting for formal review
  • Document everything you're doing to improve

Usually, though: The warning signs aren't there. Imposter syndrome creates phantom warnings. Check for actual evidence before panicking.

The 90 Days Pass

You survive. The codebase that seemed impossibly complex becomes navigable. The team that seemed intimidating becomes colleagues. The tools that felt foreign become familiar.

You're not an imposter who fooled everyone. You're a developer who learnt, grew, and delivered—exactly what you were hired to do.

The second 90 days are easier. The third 90 days, you'll be helping the next new hire. The cycle continues.


Chaos helps track your learning progress and accomplishments—building the evidence you need when imposter syndrome hits. Document wins, capture what you've learnt, and see your growth over time. Start your free 14-day trial.

Related articles