프로덕션 백엔드 API 캡스톤 · 운영 학습과 포트폴리오 · 이론
결정과 사고를 비밀 없는 포트폴리오로 바꾼다
한 줄 요약
ADR은 결정을 내릴 당시의 맥락·대안·선택·결과를 보존하고, 사고 보고서는 실제 영향·타임라인·근본 원인·탐지·담당자가 있는 교정 조치를 남긴다. 포트폴리오는 이 원본을 복사하지 않고 허용된 요약만 발행한다.
왜 코드만으로 판단을 설명할 수 없는가
ON CONFLICT 구문은 무엇을 선택했는지는 보여 주지만 왜 클라이언트 전용 중복 제거보다 데이터베이스 경계를 택했는지 말하지 않는다. ADR은 당시 제약과 비교한 대안, 예상한 비용을 기록한다. 사고가 나면 설계의 가정이 실제로 맞았는지 사고 보고서로 되돌아본다. 비난할 사람을 찾는 문서가 아니라 시스템의 다음 안전장치를 만들기 위한 학습 기록이어야 한다.
사고 보고서의 corrective action은 “주의한다”가 아니라 소유자와 기한, 검증 가능한 완료 조건을 가져야 한다. 타임라인은 UTC처럼 시간대를 포함하고, 영향과 탐지와 복구를 구분한다. 근본 원인은 마지막으로 실수한 사람보다 왜 한 실수가 사용자 영향으로 이어질 수 있었는지를 설명한다.
현장에서 공개 증거를 만드는 법
채용 포트폴리오에는 원본 Authorization 헤더, 토큰, 비밀번호, 사설 IP, 내부 .svc.cluster.local 주소, 터미널 전체 출력을 넣지 않는다. 대신 “HTTP 행동 테스트 6개 통과”, 메트릭 이름 목록, “non-root digest-pinned deployment”, ADR와 사고의 한 문장 요약처럼 허용된 증거만 JSON으로 만든다. 스키마 버전을 고정하고 알 수 없는 필드는 거부해 후속 도구가 원본 비밀을 실수로 추가하지 못하게 한다.
실무 판단 기준
좋은 포트폴리오는 화려한 스크린샷보다 재현 가능한 계약과 판단 능력을 보여 준다. 어떤 실패 반례를 테스트했는지, 데이터 경계와 권한 경계를 어떻게 나눴는지, 장애에서 무엇을 바꿨는지를 짧고 정확하게 연결한다. 이 코스의 마지막 퀴즈에서는 구현·운영·문서 증거가 하나의 이야기로 이어지는지 확인한다.