Developer Job Hunting Guide | Resume, Portfolio, Interviews & Negotiation

Developer Job Hunting Guide | Resume, Portfolio, Interviews & Negotiation

이 글의 핵심

Getting a developer job is a skill separate from writing code. This guide covers the entire process — resume that passes ATS, portfolio projects that get callbacks, technical interview preparation, and negotiating your offer.

The Developer Job Process

1. Resume & LinkedIn    → get past the first filter (ATS + recruiter)
2. Portfolio            → show you can build real things
3. Recruiter screen     → 30min, background and culture fit
4. Technical interview  → coding, system design, or take-home
5. Final/team interview → behavioral, values, team fit
6. Offer & negotiation  → don't leave money on the table

Resume

What Actually Matters

ATS systems scan for keywords — use the job description's words
Human reviewers spend 6-10 seconds — make it scannable

Format:
  1 page (0-5 years experience)
  Single column
  Standard section headers (ATS-safe)
  No tables, graphics, or images
  PDF format

Resume Structure

[Name]                     [City, State | Remote]
[Email] | [LinkedIn] | [GitHub] | [Portfolio URL]

SUMMARY (optional, 2-3 lines)
  Full-stack developer with 2 years experience building React/Node.js
  applications. Contributed to open source (1,200+ GitHub stars).

SKILLS
  Languages: TypeScript, Python, SQL
  Frontend:  React, Next.js, Tailwind CSS
  Backend:   Node.js, FastAPI, PostgreSQL, Redis
  Tools:     Docker, GitHub Actions, AWS (EC2, S3, RDS)

EXPERIENCE
  [Company Name] — [Title]                    [Month Year – Present]
  • [Achievement with number, not task description]
  • Reduced API response time by 60% by adding Redis caching layer
  • Migrated 3 legacy services to TypeScript, reducing runtime errors by 40%
  • Led development of user authentication system handling 10K+ daily logins

PROJECTS
  [Project Name] | GitHub: github.com/you/project | Live: project.com
  • What it is and what problem it solves (1 line)
  • Tech stack: React, Node.js, PostgreSQL, Docker
  • Notable achievement: 500+ users, featured in HackerNews, etc.

EDUCATION
  [Degree] | [Institution] | [Year]
  Relevant coursework: Data Structures, Algorithms (if relevant)

Writing Strong Bullets

❌ Weak (task):
  "Worked on the frontend using React"
  "Fixed bugs in the API"
  "Helped with database design"

✅ Strong (achievement + impact):
  "Rebuilt checkout flow in React, reducing cart abandonment by 23%"
  "Identified and fixed N+1 query causing 2-second API timeout; reduced to 50ms"
  "Designed PostgreSQL schema for inventory system handling 50K+ products"

Formula: [Action verb] [what you did] [measurable result]

Portfolio

What to Build

Tier 1 (most impactful — shows real engineering):
  - A SaaS product with actual users (even 10 is impressive)
  - Open source contribution to a known project
  - Tool that solves your own problem and has GitHub stars

Tier 2 (solid, shows full-stack skills):
  - Full-stack CRUD app with auth, DB, deployment
  - REST or GraphQL API with documentation
  - Chrome extension with users

Tier 3 (still useful as learning projects):
  - Tutorial projects (don't make the hero project)
  - Clones (clone Trello, Twitter, etc. — shows you can read real requirements)

What NOT to build:
  - Todo apps (everyone has one)
  - Another weather app
  - Portfolio of portfolio apps

Making Projects Stand Out

README structure for a portfolio project:

# Project Name — One-sentence description

## Live Demo
[Link to live app] | [Video demo (2-min Loom)]

## What It Does
3 sentences: what problem it solves, who uses it, what makes it interesting.

## Tech Stack
- Frontend: React 18, TypeScript, Tailwind CSS
- Backend: Node.js, Express, PostgreSQL
- Infrastructure: Docker, deployed on Railway

## Key Technical Decisions
- Chose PostgreSQL over MongoDB because the data is highly relational
- Implemented optimistic updates for instant UI feedback
- Added Redis caching, reducing DB load by 70%

## Local Setup
```bash
git clone ...
docker compose up -d
npm install && npm run dev

---

## Technical Interview Preparation

### Coding Interviews (LeetCode-style)

Study plan (3 months, 1-2 hours/day):

Month 1: Foundations Arrays, strings, hash maps, two pointers, sliding window Target: Easy problems in 15-20 min

Month 2: Core patterns Binary search, recursion, DFS/BFS, stack/queue Target: Medium problems in 25-35 min

Month 3: Hard problems + review Dynamic programming, graphs, trees Practice under timed conditions

Resources: NeetCode.io — structured curriculum + video explanations Blind 75 list — 75 essential problems LeetCode — practice platform


```python
# During the interview:
# 1. Clarify constraints before coding
#    "Can the input be empty? What are the value ranges?"
# 2. State your approach before coding
#    "I'll use a hash map to track frequencies — O(n) time, O(n) space"
# 3. Write clean, readable code (not clever)
# 4. Test with examples (including edge cases)
# 5. Discuss time/space complexity

def two_sum(nums: list[int], target: int) -> list[int]:
    seen = {}  # value → index
    for i, num in enumerate(nums):
        complement = target - num
        if complement in seen:
            return [seen[complement], i]
        seen[num] = i
    return []

System Design Interviews

Framework (45-minute interview):

1. Clarify requirements (5 min)
   "How many daily active users?"
   "Read-heavy or write-heavy?"
   "Consistency vs availability tradeoff preference?"

2. Capacity estimation (5 min)
   "10M DAU, 100 requests/user/day = 1B requests/day"
   "~12,000 requests/second (10% write, 90% read)"

3. High-level design (15 min)
   Draw: clients → CDN → load balancer → app servers → DB + cache

4. Deep dive (15 min)
   Database schema, API endpoints, caching strategy, scaling

5. Handle bottlenecks (5 min)
   "DB is bottleneck → read replicas → then shard"

Common systems to practice:
  URL shortener, Twitter feed, YouTube, Uber, WhatsApp, Google Drive

Behavioral Interviews (STAR Format)

STAR: Situation, Task, Action, Result

Prepare 6-8 stories that cover:
  - Leadership / taking initiative
  - Technical challenge overcome
  - Conflict with a teammate
  - Failure and what you learned
  - Handling ambiguity
  - Collaboration and mentoring

Example:
Q: "Tell me about a time you faced a difficult technical problem."

S: "Our e-commerce checkout was failing for ~5% of users at peak times."
T: "I was tasked with finding and fixing the root cause within 2 days."
A: "I added logging to identify the pattern — all failures were during
    DB writes. Traced to connection pool exhaustion. Implemented PgBouncer
    for connection pooling and increased pool size."
R: "Failure rate dropped from 5% to <0.01%. Also documented the incident
    and set up alerts for connection pool metrics."

Job Search Strategy

Where to Apply

Tier 1 (higher interview → offer rate):
  Employee referrals — ask everyone you know
  LinkedIn connections at target companies
  Recruiter outreach responses

Tier 2 (solid volume):
  Company career pages (bypass ATS at smaller companies)
  LinkedIn Jobs
  Indeed

Tier 3 (high volume, lower conversion):
  AngelList / Wellfound (startups)
  Glassdoor
  Built In (tech hubs)

Specialties:
  Remote: Remote.com, We Work Remotely, Remote OK
  Startups: YC Job Board, AngelList
  Freelance: Toptal, Upwork, Gun.io

Application Process

Research before applying:
  - Read recent company blog / engineering blog
  - Check Glassdoor reviews (interview process, culture)
  - Find the tech stack (LinkedIn jobs, StackShare, their GitHub)

Customize for each application:
  - Match your skills to their requirements
  - Reference their specific tech stack
  - Mention something specific about the company/product

Cover letter (when required):
  3 paragraphs:
  1. Why this company / product (specific, not generic)
  2. Your most relevant experience for THIS role
  3. What you'll contribute + call to action

Salary Negotiation

Do your research first:
  Levels.fyi — public comp data by company/level
  Glassdoor — salary ranges
  LinkedIn Salary
  Blind — anonymous discussion (grain of salt)
  Asking peers in the field

The conversation:

Recruiter: "What are your salary expectations?"
You: "I'm flexible, but based on my research for this role and
      my experience, I'm targeting around $X. Is that in range?"

(Never be the first to accept — always counter)

Offer received: "Thank you, I'm very excited about this opportunity.
I'd like a week to review the full package. Would that be possible?"

Counter offer: "I'm very interested in joining the team. Based on my
research and the scope of this role, I was hoping we could get to $Y
[10-15% above offer]. Is there flexibility there?"

If they say no: negotiate other things:
  - Signing bonus
  - Extra PTO
  - Remote work flexibility
  - Earlier performance review
  - Professional development budget

Networking

Effective networking (not asking for jobs):

1. Twitter/X — follow engineers at target companies, engage genuinely
2. LinkedIn — comment on posts, not just connect
3. Discord/Slack communities — contribute answers, ask good questions
4. Local meetups / conferences — in-person connection is memorable
5. Open source — contribute to projects the company maintains

When reaching out:
  "I saw your talk on [topic] at [conference] — your point about [X]
  resonated with my experience at [Y]. I'm working on [similar thing]
  and would love to chat for 20 minutes if you have time."

  Not: "Hey, can you refer me to your company?"

  Genuine connection first → job conversation naturally follows

Post-Interview Checklist

After each interview:
  [ ] Send thank-you email within 24 hours
      "Thank you for the time today. I really enjoyed discussing [X].
       It clarified my excitement about [specific thing about role/company]."
  [ ] Note what questions were asked (for your prep notes)
  [ ] Note anything you struggled with (address in your prep)
  [ ] Follow up if no response after 1 week
      "I wanted to follow up on my interview from [date].
       I remain very interested in the role and would love to hear
       if there are any updates."

More career guides (Korean on pkglog.com)

This site also publishes Korean deep-dives that pair well with this English overview: job posting channels & application tracking, resume, screening, and interview delivery, habits & weekly review, and senior / return-to-work positioning. Use them if you read Korean or run pages through translation.

Related posts: