개발자 포트폴리오 사이트에 반드시 포함할 섹션, 기술 스택 선택, 배포 방법, SEO 최적화, 면접관이 중점적으로 보는 포인트까지 포트폴리오 구축 전체 과정을 정리한다.
한 줄 요약: 2026년 개발자 포트폴리오의 기준이 바뀌었다. 면접관이 실제로 보는 것은 프로젝트 목록이 아니라 "이 사람이 실제로 문제를 해결할 수 있는가"다. Next.js + Vercel로 배포하고, GitHub 연동과 명확한 프로젝트 설명만 있어도 합격 라인의 포트폴리오는 만들 수 있다.
이 글은 포트폴리오 사이트를 처음 만드는 사람과 기존 것을 갱신하려는 사람 모두를 위해 쓰였다. 필수 섹션, 기술 스택 선택, SEO, 배포까지 실무 기준으로 정리했다. 디자인 감각보다 콘텐츠가 더 중요하다는 전제를 기억하며 읽어라.
면접관이 실제로 보는 것
10년 이상 개발자를 채용한 시니어 엔지니어와 테크 리드들이 공통적으로 말하는 포트폴리오 평가 기준은 아래 순서다.
실제로 동작하는 프로젝트가 있는가: 깃허브 스타 수나 프레임워크 목록이 아니라, 지금 URL을 열면 동작하는 서비스가 있는가.
문제 정의가 명확한가: "이 프로젝트를 왜 만들었는가, 어떤 문제를 해결하는가"가 1~2문장으로 설명되어 있는가.
기술적 결정에 이유가 있는가: "왜 이 스택을 선택했는가, 어떤 트레이드오프를 고려했는가"가 설명되어 있는가.
코드 품질: GitHub 링크에서 실제 코드를 보았을 때 일관성, 주석, 테스트 여부.
업데이트 이력: 마지막 커밋이 3년 전이라면 활발하게 개발하는 사람이라는 신호를 주기 어렵다.
면접관이 보지 않는 것
화려한 애니메이션과 커서 효과
사용 기술 목록의 길이 (React, Vue, Angular, Svelte... 전부 나열)
학교 과제 프로젝트 (설명 없이 링크만 있는 경우)
디자인 수준 (개발자 포트폴리오는 디자이너 포트폴리오가 아님)
개발자 포트폴리오 사이트 만들기 2026 — 시장 분석 차트 (출처: 공식 문서 및 벤치마크 데이터 기반)
필수 섹션 — 이것만 있으면 된다
포트폴리오 사이트에 있어야 할 섹션과 각 섹션에서 실제로 보여줘야 할 내용을 정리했다. 섹션이 많다고 좋은 포트폴리오가 되는 것이 아니다 — 각 섹션의 콘텐츠 밀도가 중요하다.
섹션
필수 내용
피해야 할 것
헤더/히어로
이름, 직무, 한 줄 포지셔닝
"열정적인 개발자"같은 추상 문구
프로젝트
문제, 해결책, 기술, 라이브 링크
스크린샷만 있고 설명 없는 카드
기술 스택
실제로 써본 것만 자신 있게
로고 30개 나열
경험/이력
임팩트 중심 서술 (숫자 포함)
업무 목록 나열
연락처
이메일, GitHub, LinkedIn
폼만 있고 이메일 주소 없음
프로젝트 카드 작성법
각 프로젝트 카드는 아래 4가지 정보를 담아야 한다:
문제: 왜 만들었는가 (1문장)
해결: 어떻게 해결했는가 (2~3문장)
기술: 사용한 주요 기술 (3~5개)
링크: 라이브 데모 + GitHub 저장소
기술 스택 선택 — Next.js vs Gatsby vs Astro
포트폴리오 사이트에서 기술 스택 선택은 "내가 이 기술을 실제로 쓸 수 있다"를 보여주는 기회다. 동시에 과도한 복잡도는 오히려 마이너스다.
프레임워크
추천 대상
특징
Next.js 15
풀스택 개발자, React 익숙한 사람
블로그 기능 추가 용이, Vercel 최적화
Astro
정적 콘텐츠 중심, 성능 최우선
JS 최소화, Lighthouse 100점 달성 용이
Remix
웹 표준 중시, 풀스택
Form 처리, 로더 패턴 보여주기 좋음
단순 HTML/CSS
프론트엔드 기초 강조 목적
빠른 제작, SEO 기본 충족
결론: 백엔드나 풀스택 포지션을 노린다면 Next.js 15가 가장 무난하다. 프론트엔드 성능에 강점이 있음을 보여주고 싶다면 Astro가 효과적이다.
개발자 포트폴리오 사이트 만들기 2026 — 제품 비교 매트릭스 (출처: 공식 문서 및 벤치마크 데이터 기반)
Next.js 포트폴리오 구조 — 실제 코드
아래는 실무에서 쓰는 Next.js 15 기반 포트폴리오의 디렉토리 구조와 핵심 코드다. MDX 기반 블로그 포스트 지원이 포함되어 있어 기술 블로그로 확장도 가능하다.
Next.js 15 포트폴리오 디렉토리 구조
portfolio/
├── app/
│ ├── layout.tsx # 루트 레이아웃 (메타데이터, 폰트)
│ ├── page.tsx # 홈 (히어로 + 프로젝트 + 스킬)
│ ├── projects/
│ │ └── [slug]/
│ │ └── page.tsx # 프로젝트 상세 (MDX)
│ └── blog/
│ ├── page.tsx # 블로그 목록
│ └── [slug]/
│ └── page.tsx # 블로그 포스트 (MDX)
├── components/
│ ├── ProjectCard.tsx
│ ├── SkillBadge.tsx
│ └── ContactForm.tsx
├── content/
│ ├── projects/ # .mdx 파일 (프로젝트 설명)
│ └── posts/ # .mdx 파일 (블로그 포스트)
├── lib/
│ └── mdx.ts # MDX 파싱 유틸리티
└── public/
└── og.png # OG 이미지
프로젝트 목록 페이지 핵심 코드 (app/page.tsx)
// app/page.tsx
import { getProjects } from '@/lib/mdx'
import ProjectCard from '@/components/ProjectCard'
export default async function Home() {
const projects = await getProjects()
return (
<main>
<section className="hero">
<h1>이름</h1>
<p>무엇을 만드는 개발자인지 한 줄로</p>
<div className="links">
<a href="https://github.com/username">GitHub</a>
<a href="/resume.pdf">이력서</a>
</div>
</section>
<section className="projects">
<h2>프로젝트</h2>
<div className="grid">
{projects.map((project) => (
<ProjectCard key={project.slug} project={project} />
))}
</div>
</section>
</main>
)
}
// MDX 프로젝트 파일 예시 (content/projects/my-saas.mdx)
// ---
// title: SaaS 프로젝트명
// description: 한 줄 요약
// tech: [Next.js, Supabase, Stripe]
// demo: https://demo.example.com
// github: https://github.com/username/repo
// ---
//
// ## 문제
// 왜 이걸 만들었는지
//
// ## 해결 방법
// 어떻게 구현했는지, 기술적 결정 이유
SEO 설정 — 검색에 노출되는 포트폴리오
포트폴리오 SEO의 목표는 "[이름] 개발자" 또는 "[기술스택] 개발자 포트폴리오" 검색에서 상위 노출이다. Next.js 15의 Metadata API를 사용하면 최소한의 코드로 핵심 SEO를 설정할 수 있다.
개발자 포트폴리오 사이트 만들기 2026 — 기술 스택 다이어그램 (출처: 공식 문서 및 벤치마크 데이터 기반)
SEO 체크리스트: (1) 도메인은 yourname.dev 또는 yourname.com 형식이 이상적이다. (2) robots.txt에서 index: true 확인. (3) OG 이미지(1200x630)가 없으면 링크 공유 시 썸네일이 없어 클릭률이 크게 떨어진다. Vercel의 @vercel/og로 동적 OG 이미지를 생성할 수 있다.
Vercel 배포 — 10분 안에 완료
Next.js 포트폴리오를 Vercel에 배포하는 과정은 단순하다. GitHub 저장소 연결 후 Vercel이 자동으로 Next.js를 감지해 설정한다.