← 가이드 목록

작성 이정근

프로젝트 경험을 문제와 해결 방식으로 설명하는 법

프로젝트 소개에서 서비스 기능을 나열하지 않고 문제, 제약, 선택, 검증과 자신의 역할을 연결하는 방법을 정리합니다.

  • 프로젝트
  • 포트폴리오
  • 자기소개

프로젝트 소개의 주인공은 서비스가 아니라 판단입니다

프로젝트 경험을 설명할 때 서비스의 메뉴와 기술 스택부터 나열하면 무엇을 만들었는지는 알 수 있지만 지원자가 어떤 판단을 했는지는 드러나지 않습니다. 면접이나 포트폴리오에서 중요한 것은 프로젝트의 규모보다 문제를 어떻게 정의하고 제한된 조건에서 어떤 선택을 했는지입니다.

프로젝트를 문제, 제약, 역할, 선택, 검증 순서로 정리하면 기술과 결과를 과장하지 않고도 경험의 깊이를 보여 줄 수 있습니다.

문제를 사용자나 운영 상황으로 설명합니다

“리팩터링이 필요했습니다”는 개발자의 행동을 말하지만 실제 문제는 설명하지 않습니다. 왜 변경해야 했는지를 먼저 찾습니다.

예시:

  • 같은 정책이 여러 화면에서 다르게 적용됐습니다.
  • 데이터가 누락돼도 문서가 생성돼 결과를 신뢰하기 어려웠습니다.
  • 직접 URL로 접근하면 정적 페이지가 404를 반환했습니다.
  • 요구사항과 현재 데이터 구조가 달라 수정 범위를 판단하기 어려웠습니다.

문제는 한 문장으로 관찰할 수 있어야 합니다.

제약을 함께 말합니다

같은 문제라도 제약에 따라 해결 방법이 달라집니다. 제약을 설명하면 왜 더 크거나 새로운 구조를 선택하지 않았는지 이해할 수 있습니다.

  • 기존 사용자의 동작을 유지해야 했습니다.
  • 데이터베이스 구조는 변경할 수 없었습니다.
  • 정적 export를 유지해야 했습니다.
  • 외부 네트워크가 없어 정적 검토로 검증해야 했습니다.
  • 일정 안에 되돌릴 수 있는 단계로 배포해야 했습니다.

제약은 핑계가 아니라 선택 기준입니다.

자신의 역할을 동사로 표현합니다

“프로젝트에 참여했습니다”보다 실제로 한 행동을 사용합니다.

  • 요구사항과 코드의 차이를 확인했습니다.
  • 데이터 흐름을 단계별로 나눴습니다.
  • 여러 대안을 비교하고 변경 범위를 제안했습니다.
  • 기능을 구현하고 대표 케이스를 검증했습니다.
  • 배포 후 오류를 재현하고 원인을 좁혔습니다.

팀이 함께 한 결정과 개인이 직접 구현한 범위를 구분합니다.

선택하지 않은 방법도 짧게 설명합니다

하나의 해결 방법만 말하면 그 방법이 우연히 선택된 것처럼 보일 수 있습니다. 비교한 대안과 제외 이유를 한 문장씩 설명합니다.

예시:

“전체 구조를 한 번에 교체하는 방법도 있었지만 영향 화면이 많고 롤백 범위가 커서 선택하지 않았습니다. 대신 대표 화면부터 공통 검증 경계를 적용하고 단계별로 build와 화면을 확인했습니다.”

대안을 많이 나열할 필요는 없습니다. 최종 선택과 가장 가까운 대안 하나면 충분합니다.

결과는 검증 수준에 맞게 표현합니다

운영 지표, 사용자 피드백, 테스트 결과, build 성공은 서로 다른 증거입니다. 확인한 수준보다 큰 성과로 표현하지 않습니다.

  • lint/build 성공: 컴파일과 정적 생성 계약 확인
  • 자동 테스트 성공: 정의한 테스트 케이스 확인
  • 브라우저 검증: 실제 화면과 상호작용 확인
  • 운영 로그 확인: 배포 환경 동작 확인
  • 사용자 피드백: 실제 사용자 경험 확인

“build가 성공했으므로 운영에서 문제없이 동작했다”고 말하면 안 됩니다. 운영을 확인하지 않았다면 그 사실을 남깁니다.

1분 설명 구조

프로젝트 경험을 다음 순서로 한 문장씩 말합니다.

  • 프로젝트와 내 역할
  • 해결해야 했던 핵심 문제
  • 중요한 제약
  • 선택한 해결 방식과 이유
  • 확인한 결과
  • 이후 유지하는 업무 기준

예시:

“정적 개발자 사이트에서 콘텐츠와 도구 경로를 구현하는 역할을 맡았습니다. 새 Tool을 추가할 때 목록, 상세, metadata와 sitemap을 여러 곳에서 수정해야 하는 문제가 있었습니다. 런타임 서버 없이 정적 export를 유지해야 했기 때문에 Tool 정의를 정적 데이터 한 곳에서 관리하고 build 시 경로를 생성했습니다. lint와 production build에서 모든 상세 경로와 sitemap 생성을 확인했습니다. 이후 동적 정적 경로를 만들 때 데이터 정의와 생성 경로를 함께 검증하는 기준을 유지하고 있습니다.”

최종 점검 체크리스트

  • 프로젝트 설명보다 해결한 문제가 먼저 드러나는가?
  • 문제를 관찰 가능한 상태로 설명했는가?
  • 중요한 제약과 선택 기준이 있는가?
  • 팀의 역할과 내 역할이 구분되는가?
  • 선택하지 않은 대안과 이유를 설명할 수 있는가?
  • 결과가 실제 검증 수준을 넘어서지 않는가?
  • 경험에서 얻은 업무 기준이 현재 역할과 연결되는가?

프로젝트 경험은 기능 목록이 아니라 판단의 기록입니다. 어떤 조건에서 무엇을 선택했고 어디까지 확인했는지를 명확하게 설명하면 프로젝트 규모와 관계없이 자신의 역할을 설득력 있게 전달할 수 있습니다.

다음 단계

읽은 내용을 직접 점검해 보세요

Related guides