개발자 포트폴리오 구성법: 신입 프로젝트 2~3개 고르기와 README 작성 예시 (2026)
처음 게시 · 고친 날 · 작성 지동석(제이아이랩 대표, 프리터뷰 개발·운영)
신입 개발자 포트폴리오는 직무에 맞는 프로젝트 2~3개를, 각각 문제, 내가 한 일, 결과, 실행 링크 순서로 정리하면 충분해요. 2~3개는 출처가 있는 규칙이 아니라 프리터뷰의 편집 제안이고, 공고에 개수나 제출 형식이 적혀 있으면 그 조건이 먼저입니다.
저장소는 열 개가 넘는데 무엇을 내야 할지 모르겠을 때, 부트캠프 과제를 그대로 내도 되는지 망설여질 때, README에 무엇을 적어야 할지 막막할 때를 위한 글이에요. 프로젝트 고르기, 설명 쓰기, README, 배포 링크를 다룹니다. 직군 공통 구성과 분량은 취업 포트폴리오 만드는 법에, 면접에서 받는 질문은 포트폴리오 면접 질문 예시에, 이력서는 개발자 이력서 작성법에 따로 정리했어요. 이 글에 나오는 예시는 전부 가상이고 성과 숫자는 ○로 비워 뒀습니다.
포트폴리오 점검은 하루 1회 무료예요.
내 포트폴리오 점검하기개발자 포트폴리오에는 무엇을 넣나요?
소개, 대표 프로젝트, 기술 스택, 링크를 기본 골격으로 잡으면 돼요. 아래 표는 프리터뷰가 정리한 편집 양식이고 정해진 규격은 아닙니다.
| 구성 | 넣을 내용 | 빼도 되는 것 |
|---|---|---|
| 소개 | 지원 직무, 어떤 문제를 푸는 개발자인지 한 줄, 연락처 | 긴 성장 과정(자기소개서 몫) |
| 대표 프로젝트 | 프로젝트마다 문제, 내가 한 일, 결과, 실행 링크 | 강의를 따라 만든 실습 결과물 |
| 기술 스택 | 대표 프로젝트에서 실제로 쓴 기술을 프로젝트 옆에 | 써 본 적 없는 기술 나열, 숙련도 별점 |
| 링크 | GitHub 주소, 배포 주소, 있으면 기술 글 한두 개 | 로그인해야 열리거나 비공개인 링크 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
형식은 웹 페이지, 노션, PDF 어느 쪽이어도 내용은 같고, 채용 공고가 형식을 정해 두었다면 그대로 따르세요.
GitHub를 쓴다면 두 가지를 손볼 만해요. GitHub 문서에 따르면 사용자 이름과 같은 이름의 퍼블릭 저장소를 만들고 루트에 README.md를 두면 그 내용이 프로필 페이지에 표시돼요. 프로필에는 저장소를 고정할 수 있는데 저장소와 gist를 합쳐 최대 6개까지입니다. 6개를 다 채울 필요는 없고, 이 글이 권하는 대표 프로젝트 2~3개를 맨 앞에 고정하면 프로필을 연 사람이 먼저 보는 곳이 정리돼요.
프로젝트는 몇 개를 어떤 기준으로 고르나요?
신입이라면 2~3개를 제안해요. 고르는 기준은 직무 관련성, 내가 구현한 범위, 실행 결과를 보여 줄 수 있는지입니다. 개수는 편집 제안이고, 기준은 아래처럼 확인 질문으로 바꿔 쓸 수 있어요.
| 기준 | 확인 질문 | 걸러지는 경우(가상) |
|---|---|---|
| 직무 관련성 | 지원 공고의 담당 업무나 우대 사항과 겹치는가 | 백엔드 공고에 화면 꾸미기가 중심인 프로젝트만 냄 |
| 내가 구현한 범위 | 내가 짠 부분을 코드 위치로 짚을 수 있는가 | 팀 전체 기능만 적고 내 담당이 없음 |
| 실행 결과 | 열어서 돌아가는 것을 보여 줄 수 있는가 | 배포 주소도 실행 방법도 없는 저장소 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
세 기준을 모두 넘은 프로젝트가 한 개뿐이면 한 개를 깊게 쓰는 편이 나아요. 기준에 못 미치는 프로젝트로 개수를 채우면, 그 프로젝트마다 면접에서 답하기 어려운 질문이 생깁니다.
가상 예시로 후보가 다섯 개 있다고 해 볼게요. 강의를 따라 만든 쇼핑몰, 직접 설계한 동아리 일정 앱, 팀으로 만든 중고 거래 서비스, 알고리즘 문제 풀이 저장소, 공공 데이터로 만든 지도 앱입니다. 백엔드 공고라면 동아리 일정 앱과 중고 거래 서비스의 서버 쪽을 대표로 두고, 지도 앱은 보조로 한 줄만 적어요. 강의 쇼핑몰과 풀이 저장소는 GitHub에는 남기되 포트폴리오 본문에서는 뺍니다.
대표 프로젝트 중 하나는 직무와 가장 가까운 것으로 설명을 길게 쓰고, 나머지는 다른 면을 보여 주는 것으로 고르면 균형이 잡혀요. 예를 들어 하나는 서버 설계를, 하나는 팀 협업과 배포를 보여 주는 식입니다.
프로젝트 설명은 어떻게 쓰나요?
문제, 내가 한 일, 결과 순서로 쓰세요. MIT 진로개발센터의 이력서 안내는 경험을 쓸 때 무엇을 했고, 왜 했고, 결과가 어땠는지를 답하게 하고, 결과의 규모를 확인 가능한 수치로 보이라고 안내해요. 이력서용 안내이지만 프로젝트 설명에도 그대로 맞습니다.
결과 칸에 쓸 숫자가 없다면 만들어 넣지 말고, 실제로 확인한 사실로 대신하세요. 어떤 값을 어떻게 쟀는지(측정 방법과 전후 조건)를 함께 적으면 숫자의 신뢰가 올라갑니다. 아래 두 전후 비교는 모두 가상 예시이고 ○에는 내가 잰 값만 들어가야 해요.
| 구분 | 백엔드 가상 예시 | 읽는 법 |
|---|---|---|
| 고치기 전 | 쇼핑몰 주문 API 서버 개발. Spring Boot, MySQL, Redis 사용. | 기술 이름뿐이고 문제와 판단이 없음 |
| 고친 뒤 | 문제: 주문이 쌓일수록 목록 조회가 느려진다는 팀원 피드백이 있었다. 내가 한 일: 조회 쿼리의 실행 계획을 확인해 정렬 조건에 맞는 인덱스를 추가하고 목록을 페이지 단위로 나눴다. 결과: 같은 데이터로 응답 시간을 ○ms에서 ○ms로 측정해 README에 방법과 함께 남겼다. | 문제, 행동, 결과가 이어지고 측정 방법이 있음 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
프론트엔드도 같은 방식으로 고쳐 볼게요.
| 구분 | 프론트엔드 가상 예시 | 읽는 법 |
|---|---|---|
| 고치기 전 | React로 일정 관리 앱 제작. | 무엇을 만들었는지만 있음 |
| 고친 뒤 | 문제: 동아리 일정을 단체 채팅방 공지로 공유해서 지난 일정을 찾기 어렵다는 말이 나왔다. 내가 한 일: 화면 설계부터 목록, 필터, 참석 투표 화면 구현까지 혼자 맡고 배포했다. 결과: 동아리원 ○명이 한 학기 동안 썼고, 받은 불편 사항 ○건 중 ○건을 고쳤다. | 사용자, 사용 기간, 반영한 피드백이 사실로 남음 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
프로젝트마다 이 세 줄을 먼저 쓰고 그 아래에 화면 캡처와 링크를 붙이세요. 판단 이유(왜 이 도구와 구조를 골랐는지)는 한 줄이라도 있어야 면접 질문에 연결돼요. 질문이 어디서 나오는지는 포트폴리오 면접 질문 예시에 있어요.
PDF나 링크를 넣으면 점수와 보완할 곳을 바로 확인할 수 있어요.
무료로 포트폴리오 점검받기README에는 무엇을 쓰나요?
한 줄 소개, 화면 캡처, 실행 방법, 배포 링크가 기본이고, 포트폴리오용이라면 내가 맡은 부분과 막혔던 문제를 더하세요. GitHub 문서는 README에 프로젝트가 하는 일, 유용한 이유, 시작하는 방법, 도움을 받을 곳, 유지·기여하는 사람을 담는 것이 일반적이라고 설명하고, 긴 설명서는 위키에 두라고 안내해요. GitHub 문서도 방문자가 저장소를 열면 가장 먼저 보는 항목이 README인 경우가 많다고 설명해요.
아래는 가상의 동아리 일정 앱을 기준으로 한 README 골격입니다. 순서와 칸 이름은 프리터뷰의 편집 제안이에요.
| 순서 | 칸 | 가상 예시 |
|---|---|---|
| 1 | 제목과 한 줄 소개 | 동아리 일정을 모아 보고 참석 여부를 받는 웹 앱 |
| 2 | 실행 화면과 배포 링크 | 일정 목록, 참석 투표 화면 캡처 2장과 배포 주소 |
| 3 | 내가 맡은 부분 | 서버 API와 DB 설계 전체, 화면은 팀원 ○가 담당 |
| 4 | 기술 스택과 고른 이유 | PostgreSQL: 참석 집계에 조인이 많아 관계형을 선택 |
| 5 | 실행 방법 | 설치 명령, 환경 변수 이름 목록(값은 적지 않음), 실행 명령 |
| 6 | 문제와 해결 | 목록 조회 지연의 원인과 인덱스 추가, 측정 방법 |
| 7 | 한계와 다음 계획 | 알림 기능 없음, 테스트 범위가 좁음 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
실행 방법은 새 컴퓨터에서 그대로 따라 해 돌아가는지 직접 확인하세요. 실행 명령이 한 줄만 틀려도 읽는 사람은 프로젝트를 돌려 보지 못해요. 환경 변수는 이름만 적고 값은 비워 둔 예시 설정 파일로 안내하는 방식이 안전해요.
프리터뷰 포트폴리오 점검에 GitHub 주소를 넣었는데 README가 없거나 몇 줄뿐이어서, 첨부 파일 없이 읽어 낸 실질 본문을 모두 합쳐도 500자가 안 되면 채점하지 않고 읽을 내용이 거의 없다고 안내해요. 이 경우에는 점검권이 차감되지 않아요(2026-10-28 기준 서비스 동작). 점검을 받기 전에 README부터 채워 두면 같은 안내를 받지 않고 바로 평가를 확인해요.
백엔드와 프론트엔드는 보여 줄 것이 어떻게 다른가요?
열었을 때 바로 확인되는 것이 다르니, 먼저 보여 줄 자료도 달라져요. 아래 표는 편집 정리이고 직무별 공식 기준은 아닙니다.
| 구분 | 백엔드 | 프론트엔드 |
|---|---|---|
| 먼저 확인되는 것 | API 문서, 요청과 응답 예시 | 배포된 화면, 화면 캡처 |
| 설명에 넣을 판단 | 데이터 모델 설계 이유, 쿼리와 캐시 선택, 예외 처리 | 컴포넌트를 나눈 기준, 상태 관리 방식, 반응형과 접근성 대응 |
| README에 더할 것 | API 목록, 테이블 관계도, 실행 환경 | 화면 흐름, 지원하는 브라우저와 화면 크기 |
| 링크에서 점검할 것 | 서버가 꺼져 있어도 요청 결과 캡처가 남아 있는가 | 로그인 없이, 모바일에서도 열리는가 |
| 실행이 어려울 때 대신 쓰는 것 | 테스트 결과 캡처, 요청 예시 | 짧은 화면 녹화 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
무료 배포 서버는 일정 시간 요청이 없으면 멈추는 경우가 있어서, 제출 직전에 직접 열어 응답이 오는지 보세요. 직무별 면접 질문은 백엔드 개발자 면접 가이드와 프론트엔드 개발자 면접 가이드에 정리했어요.
부트캠프 과제나 팀 프로젝트는 어떻게 내 프로젝트로 쓰나요?
내가 한 부분과 아닌 부분을 나눠 적으면 내 프로젝트로 쓸 수 있어요. 팀 프로젝트와 커리큘럼 과제는 전체 기능을 모두 내 것처럼 쓰면 면접에서 바로 막히니, 역할을 아래처럼 갈라 표기하세요.
| 구분 | 표기 방법 | 가상 예시 |
|---|---|---|
| 내가 맡은 부분 | 기능 이름과 코드 위치, 가능하면 내 커밋이나 PR 링크 | 주문 API 4개와 DB 설계(PR 링크) |
| 팀이 함께 한 부분 | 팀 공통이라고 밝히고 내 기여는 한 줄 | 인증은 팀 공통, 나는 토큰 만료 처리 담당 |
| 과정에서 받은 부분 | 제공받은 기본 코드나 요구사항이라고 표기 | 화면 시안과 기본 요구사항은 과정에서 제공 |
| 내가 바꾸거나 더한 부분 | 제공 범위를 넘어 직접 추가한 것 | 요구사항에 없던 재고 부족 알림 추가 |
표가 화면보다 넓으면 좌우로 밀어 나머지 열을 볼 수 있어요.
커밋 기록과 PR이 남아 있다면 링크로 걸어 두는 방법이 있어요. 읽는 사람이 내 기여를 직접 확인할 수 있게 하자는 편집 제안입니다. 커리큘럼 과제를 내 프로젝트로 바꾸는 재료는 부트캠프 수료 후 취업 준비에서 더 다뤘어요.
팀 프로젝트라면 전체 구조는 그림 한 장으로 요약하고, 설명 분량은 내가 맡은 구간에 쓰세요. 맡지 않은 부분을 자세히 적으면 그 부분을 묻는 질문에 답하기 어려워져요.
제출 전에 무엇을 점검하나요?
링크, 비밀 정보, 분량을 확인하세요. 아래는 프리터뷰가 제안하는 제출 전 점검표예요.
- 로그아웃한 브라우저나 시크릿 창에서 GitHub, 배포, 문서 링크가 모두 열리는가
- 대표 저장소가 퍼블릭이고 README 첫 화면에 한 줄 소개와 실행 화면이 보이는가
- README, 설정 파일, 커밋 기록에 비밀번호, API 키, 개인정보가 없는가
- 비밀 정보가 한 번이라도 올라갔다면 파일에서 지운 것과 별개로 그 키를 새로 발급받았는가
- 배포 서버가 꺼지지 않았고, 다른 기기에서 실행 방법이 그대로 따라지는가
- 대표 프로젝트 개수와 형식이 공고 조건에 맞는가(조건이 없으면 2~3개를 기준으로)
- 팀 프로젝트마다 내가 맡은 부분이 표시돼 있는가
PDF로 낼 때는 파일 용량도 봐야 해요. 채용 사이트 중에는 첨부를 파일당 5MB로 받는 곳이 있어서, 프리터뷰 포트폴리오 점검 결과 아래의 제출 전 점검은 주소 응답, PDF 쪽수, 원본 용량 세 줄을 보여 주고 5MB를 넘으면 주의로 표시해요.
혼자 보면 설명이 비어 있는 자리가 잘 안 보입니다. 프리터뷰 포트폴리오 점검은 가입하면 자소서 첨삭과 합쳐 하루 1회 무료이고, PDF·이미지·링크·텍스트 중 편한 방식으로 넣으면 점수와 보완할 곳을 알려 줘요. 무료 결과에서는 개선안 1개를 자세히 볼 수 있고 나머지는 제목만 보입니다. 이용 조건은 요금·이용 조건에서 확인하세요. 사람에게 첨삭받는 경로는 포트폴리오 첨삭·피드백 받는 법에 정리했어요.
출처와 확인 범위
- GitHub Docs: 프로필 README 관리하기
사용자 이름과 같은 이름의 퍼블릭 저장소 루트에 README.md를 두면 프로필에 표시된다는 조건만 참고. 2026-10-28 확인.
- GitHub Docs: README 파일에 관하여
README에 담는 일반적인 항목(하는 일, 유용한 이유, 시작 방법, 도움받을 곳, 유지·기여자)과 긴 설명서는 위키에 두라는 안내만 참고. 이 글의 README 골격과 칸 이름은 프리터뷰의 편집 제안이며 GitHub의 규격이 아님. 2026-10-28 확인.
- GitHub Docs: Pinning items to your profile
프로필에 저장소와 gist를 합쳐 최대 6개까지 고정할 수 있다는 부분만 참고. 영어 문서. 2026-10-28 확인.
- MIT CAPD: Resumes — Writing about your skills
경험을 무엇을 했고 왜 했고 결과가 어땠는지로 쓰고 결과의 규모를 확인 가능한 수치로 보이라는 안내만 참고. 이력서용 안내이며 한국 채용 규칙이 아님. 예시 문장은 프리터뷰가 직접 쓴 가상 예시. 2026-10-28 확인.
핵심 요약
- 신입 개발자 포트폴리오는 직무에 맞는 프로젝트 2~3개를 고르고, 개수와 형식은 공고 조건이 우선이다. 2~3개는 편집 제안이다.
- 프로젝트는 직무 관련성, 내가 구현한 범위, 실행 결과를 보여 줄 수 있는지로 고른다.
- 프로젝트 설명은 문제, 내가 한 일, 결과 순서로 쓰고, 잰 값만 숫자로 적는다.
- README에는 한 줄 소개, 화면 캡처, 실행 방법, 배포 링크, 내가 맡은 부분을 둔다.
- 제출 전에 링크가 열리는지, 키와 개인정보가 없는지, 팀 프로젝트의 내 담당이 표시됐는지 확인한다.
자주 묻는 질문
개발자 포트폴리오에 GitHub 링크만 내도 되나요?
공고에 제출 형식이 있으면 그것이 먼저예요. 링크만 낼 수 있는 경우라면 대표 저장소 2~3개를 프로필에 고정하고, 저장소마다 README에 한 줄 소개와 실행 화면, 내가 맡은 부분을 두세요. 저장소 목록만 있으면 어느 것이 대표작인지 읽는 사람이 골라야 합니다.
개인 프로젝트가 없고 부트캠프 과제만 있으면 어떻게 하나요?
과제 중 내가 맡은 구간이 분명한 것을 골라 맡은 부분, 받은 부분, 내가 더한 부분으로 나눠 적으세요. 과제 기능에 더해 내가 추가하거나 고친 부분이 한 가지라도 있으면 그것이 설명의 중심이 됩니다. 과제 전체를 내 작업처럼 쓰는 것은 피하세요.
프로젝트가 3개보다 많으면 모두 넣어야 하나요?
공고에 조건이 없다면 대표 2~3개만 본문에 두고 나머지는 GitHub 저장소 목록이나 보조 링크로 남기는 편이 읽기 쉬워요. 이 개수는 출처가 있는 규칙이 아니라 편집 제안입니다.
배포를 못 했으면 어떻게 하나요?
실행 방법을 README에 정확히 적고, 핵심 화면 캡처나 짧은 녹화를 붙이세요. 배포하지 않은 이유를 한 줄로 밝히고, 가능하면 무료 호스팅으로 한 번은 올려 보세요. 열리는 링크가 있으면 읽는 사람이 확인하는 데 드는 수고가 크게 줄어요.
기술 블로그 글도 포트폴리오에 넣어야 하나요?
필수는 아니에요. 프로젝트에서 겪은 문제를 풀어 쓴 글이 한두 편 있다면 해당 프로젝트 옆에 링크로 걸어 두세요. 글 수를 채우려고 문법 정리나 강의 요약까지 모으면 대표 프로젝트가 묻힙니다.
개발자 포트폴리오 예시를 그대로 따라 해도 되나요?
구조는 참고해도 되지만 내용은 내 프로젝트의 사실로 채워야 해요. 검색해서 보이는 사례는 필자 개인의 방식이고 채용 기준이 아닙니다. 이 글의 가상 예시에 있는 문장과 ○ 자리의 숫자도 그대로 옮기지 마세요.
