Travel

포트폴리오에 기능만 잔뜩 담았다면, 당신의 성장 서사는 어디에 있나요

프로그래밍 교육과 코딩 학습을 마친 뒤 개발자 취업 준비생이라면 누구나 한 번쯤 이런 질문을 던진다. “포트폴리오에 어떤 프로젝트를 몇 개나 넣어야 하나요?” 혹은 “왜 이력서에 쓴 기술을 다 넣었는데도 연락이 오지 않을까요?” 이런 고민은 매우 자연스럽다. 하지만 정작 중요한 질문을 놓치고 있을 수 있다. 포트폴리오는 구현한 기능의 목록이 아니라, 문제를 해결해 나간 과정과 그 과정에서 성장한 흔적을 보여주는 이야기여야 한다는 사실이다.

많은 준비생이 만든 프로젝트를 보면 공통된 패턴이 보인다. 로그인 기능, 게시판 CRUD, 지도 연동, 결제 모듈까지. 기능은 화려하지만 정작 “왜 이걸 만들었는지”, “어떤 문제를 겪었는지”, “그 문제를 어떻게 풀었는지”에 대한 설명은 빠져 있다. 이 글에서는 프로그래밍 교육과 코딩 학습의 관점에서, 취업 준비생이 포트폴리오를 어떻게 재구성해야 하는지 자주 묻는 질문을 중심으로 풀어본다.

먼저 포트폴리오의 정의와 목적을 다시 짚어보자. 포트폴리오는 단순히 코드 저장소가 아니다. 지원자가 어떤 문제를 발견하고, 어떤 방식으로 접근하며, 협업과 개발 과정에서 무엇을 배웠는지를 드러내는 자기 표현의 도구다. 기능 나열식 포트폴리오는 결과물의 스크린샷을 보여주는 데 그치지만, 성장 서사 중심의 포트폴리오는 면접관으로 하여금 지원자의 사고 과정을 따라가게 만든다.

포트폴리오 구성 방식은 크게 두 가지 유형으로 나뉜다. 첫 번째는 기능 중심형이다. 이 방식은 구현한 기능을 나열하고, 사용한 기술 스택을 표로 정리하며, 각 기능의 동작 화면을 캡처해 붙이는 형식이다. 두 번째는 문제 해결 중심형이다. 이 방식은 특정 문제를 정의하고, 해결 과정에서 부딪힌 장애물과 이를 극복한 방법, 그리고 그 경험을 통해 얻은 교훈을 서사로 풀어낸다. 취업을 준비하는 입장에서는 두 번째 방식이 훨씬 효과적이다.

그렇다면 문제 해결 중심형 포트폴리오는 어떻게 만들어야 할까. 먼저 프로젝트 하나를 골라 다음과 같은 흐름으로 재구성한다. 첫째, 이 프로젝트를 시작하게 된 배경과 해결하려는 문제를 명확히 정의한다. 예를 들어 “동네 반려견 산책 커뮤니티가 없어서 산책 친구를 찾기 어렵다는 점”처럼 구체적인 문제가 있어야 한다. 둘째, 이 문제를 해결하기 위해 어떤 기술을 선택했고 왜 그 기술을 선택했는지를 설명한다. 파이썬 기초 문법만 아는 상태에서 웹 개발을 시작한다면, 처음에는 HTML과 CSS로 정적인 화면을 만들고, 이후 JavaScript로 동작을 추가하며, 점차 서버와 데이터베이스로 확장해 나가는 과정 자체가 성장 서사가 된다.

셋째, 개발 과정에서 겪은 어려움을 솔직하게 기록한다. 예를 들어 자료구조와 알고리즘에 대한 이해가 부족해 특정 기능의 처리 속도가 느렸다면, 이를 개선하기 위해 어떤 자료구조를 학습하고 어떻게 적용했는지를 적는다. 면접관은 완벽한 코드보다 문제를 인지하고 해결하려는 태도를 더 중요하게 본다. 넷째, 프로젝트를 통해 이전과 달라진 자신의 역량을 구체적으로 서술한다. 단순히 “OOO을 배웠습니다”가 아니라, 이전에는 알지 못했던 개념이 이번 프로젝트를 통해 어떻게 내재화되었는지를 설명한다.

포트폴리오를 작성할 때 흔히 하는 실수 중 하나는 모든 프로젝트를 같은 깊이로 다루는 것이다. 열 개의 얕은 프로젝트보다, 세 개의 깊은 프로젝트가 훨씬 설득력 있다. 특히 하나의 프로젝트를 끝까지 완성하고, 배포하고, 사용자 피드백을 받아 개선한 경험은 그 자체로 강력한 성장 증거다. 이 과정은 프로젝트 기반 코딩 연습의 핵심이기도 하다. 이론을 공부하는 것만으로는 부족하고, 실제 문제를 마주하고 부딪히는 경험이 필요한 이유다.

또한 포트폴리오를 깃허브 저장소로만 관리하는 것은 아쉽다. 저장소의 커밋 기록은 개발 과정을 보여주는 좋은 자료지만, 면접관이 모든 코드를 읽어보기는 어렵다. 따라서 프로젝트마다 간결한 README를 작성하고, 문제 정의와 해결 과정을 문서로 남기는 습관이 필요하다. 이 문서는 단순한 기능 설명이 아니라, 개발 일지와 회고록의 성격을 띠는 것이 좋다.

프로그래밍 교육과 코딩 학습을 막 시작한 초보자의 경우, 처음부터 완벽한 포트폴리오를 만들려는 부담을 내려놓는 것이 중요하다. 첫 프로젝트가 단순한 할 일 목록 웹 앱이라도 괜찮다. 중요한 것은 그 앱을 만들면서 배운 것이 무엇인지, 어떤 실수를 했고 어떻게 고쳤는지를 기록하는 태도다. 이 과정이 쌓이면서 자연스럽게 문제 해결 능력이 향상되고, 포트폴리오의 질도 올라간다.

결론적으로 포트폴리오는 기능의 전시장이 아니라 성장의 기록물이다. 면접관은 수많은 지원자의 포트폴리오 중에서 기술적인 완성도도 보겠지만, 더 중요하게는 지원자가 앞으로 어떻게 성장할 수 있는지를 판단한다. 기능 나열식 구성은 그 성장 가능성을 보여주지 못한다. 문제 정의에서 시작해 해결 과정의 시행착오를 담고, 결과적으로 자신이 어떻게 달라졌는지를 서사로 풀어낼 때 포트폴리오는 살아있는 이야기가 된다. 이제 목록만 늘어놓던 포트폴리오를 버리고, 당신이 걸어온 길을 보여주는 포트폴리오를 만들어볼 때다.