다른 강의는 핵심 20%를 골라 관통하는 방식이 통한다. 넓은 지식 체계에서 자주 쓰이는 부분만 먼저 익혀도 나머지는 나중에 채울 수 있기 때문이다.
면접 준비는 그렇지 않다. 면접관은 내가 준비한 곳만 골라서 묻지 않는다. 안 본 섹션이 정확히 그날의 질문이 될 수 있고, 그 한 번을 못 넘기면 나머지를 아무리 잘해도 만회가 안 된다.
그래서 나누는 축이 "중요도"가 아니라 "몇 번 볼 것인가"다.
🔁 반복 — 면접 직전까지 계속 볼 것. LP 15개 원문 어구(§3) · 번역 치트시트(§4) · 3층 사다리(§5) · 답변 설계 전부(§6) · 앵커 표(§7) · 카드 매칭(§8) · 채우기 목록(§9) · 직전 1장(§10). 그리고 §2의 결정들.
🧩 1회독 — 이해하면 다시 안 봐도 됨. 개념 비유들(의사 두 명, 준비물 알림 문자)과 LP 5묶음 지도. 아래에 🧩 롱테일 배지로 표시해 뒀다. 버리라는 뜻이 아니라, 시간이 없을 때 여기부터 건너뛰라는 뜻이다.
1. 이 면접은 무엇이 다른가
리크루터 안내문이 진행 방식을 "프로젝트 중심 Deep Dive"라고 명시했다. 일반 면접과 모양이 다르다. 넓게 훑지 않고, 하나를 붙잡고 계속 내려간다.
가이드가 검증하겠다고 명시한 3축
안내문이 예시로 든 키워드 넷 — Customer Obsession · Bias for Action · Earn Trust · Learn and Be Curious — 은 쿠팡 LP 15개에 하나도 없다. 전부 아마존 LP 이름이다.
"이런 결의 이야기를 하라"는 뜻이지 그 단어를 쓰라는 게 아니다. 면접장에서 아마존 용어를 내가 먼저 꺼내면 "쿠팡 LP를 안 찾아봤구나"로 읽힌다.
단, 면접관이 먼저 그 표현을 쓰면 그냥 받아서 답한다. 안내문에 있으니 면접관도 쓸 수 있다. "그건 아마존 LP인데요"라고 정정하면 재수 없게 들리고 얻는 것도 없다.
2. 지금 결정해야 할 4가지 + 즉시 액션 2가지
준비가 멈추는 지점들이다. 이것들이 안 정해지면 그 아래 작업을 시작할 수 없다. 그리고 상당수는 내가 정하는 게 아니라 확인해야 정해진다.
④와 ⑥은 결정이 아니다. ④(이력서에 이미 쓴 숫자)는 선택지가 없다 — 물으면 답해야 하니 근거를 확보하는 일이다. ⑥(면접 형식 문의)도 답이 이미 "물어본다"로 정해져 있으니 그냥 하는 일이다.
진짜 갈림길이 있는 건 ①②③⑤ 넷이다. 액션과 결정을 섞어 세면 "여섯 개나 정해야 하네"라는 부담만 생기고 실제로 뭘 골라야 하는지는 흐려진다.
결정 ① — Deep Dive 앵커 프로젝트
가장 중요하다. 면접관이 "그 얘기를 좀 더 해봅시다" 하고 붙잡는 순간, 그 프로젝트 안에서 모든 질문 유형에 답해야 한다.
| 후보 | Wow the Customer | Think Systematically | 갈등·실패·지연 재료 |
|---|---|---|---|
| 마이데이터 | 강함 — 없던 걸 만듦 | 있음 — 실패 계측 | 미확인 |
| 안정성 3단계 | 보통 — 방어에 가까움 | 가장 강함 | 미확인 |
| 회원가입 재구축 | 가장 강함 — 직접 화면 | 보통 | 미확인 |
"그 프로젝트 안에서 갈등·실패·지연·트레이드오프를 지금 당장 말할 수 있는가." 이게 유일한 기준이다. Wow가 아무리 강해도 후속 질문 네 개에서 막히면 그 프로젝트로 시작한 게 손해가 된다.
결정 ② — Q1 오프닝을 🅰️로 열 것인가 🅱️로 열 것인가
결정 ③ — Wow the Customer 주력 카드
Q3의 실패 계측 수준이 B(개발자 계측)로 확정되면서, 마이데이터에서 사용자에게 직접 간 부분은 "서비스 자체"뿐이 됐다. 그런데 마이데이터는 2022년 제도라 다들 만들었다 — "그거 다 하지 않았나요?"를 한 번 맞고 시작한다.
~/Desktop/Finda git 이력 확인: MyData 모듈 커밋 534개 중 430개(80%)가 본인 작업이고, 2023-10에 시작해 2026-07 현재까지 계속이다. 최근 티켓은 VENUS-1571 카카오 마이데이터 통합인증 앱투앱 — 네이버 인증서 앱투앱을 통합인증 4화면으로 확장하는 작업.
→ 오프닝을 바꿀 수 있다. "런칭했습니다"가 아니라 "3년째 이 도메인을 맡고 있습니다"로. 이력서 한 줄보다 실제가 세다.
→ 통합인증 앱투앱 자체가 Wow the Customer 재료다. 인증서 앱을 따로 열고 돌아오던 걸 앱 안에서 끝나게 만든 일이라, 고객이 밟던 번거로운 절차를 없앤 이야기다. [채우기 — 전/후 단계 수]
git 이력상 회원가입 재구축(2026-03 VENUS-835)의 동기는 고객 지표가 아니라 ①반복 버그 ②디자인 시스템 전환 ③레거시 정리로 보인다.
2024-12에만 같은 계열 버그 5건 — APP-292 이름 입력 후 안 넘어감 · APP-315 주민번호 뒷자리 2개 입력 · APP-359 화면이 우상단부터 그려짐 · APP-453 약관 갔다 오면 스크롤 튐 · APP-463 붙여넣기 가능. 이후 2025-01~2026-03 디자인 시스템 순차 마이그레이션.
→ Jira VENUS-835 배경에 고객 지표가 없으면, 이건 Wow the Customer가 아니라 Think Systematically 카드다. 그 경우 이렇게 말한다:
"같은 계열 버그가 한 달에 다섯 건씩 났습니다. 하나씩 고쳐도 계속 나왔고, 그건 개별 버그가 아니라 구조가 그런 버그를 계속 만들어내는 상태라는 뜻이었습니다. 그래서 패치를 멈추고 갈아엎었습니다."
→ §1의 "누가 실수했느냐가 아니라 구조가 문제였다" 와 같은 사고라 한 세트로 읽힌다. 따라서 "회원가입 완료율이 최대의 한 방"이라는 이전 판정은 보류 — 그 숫자가 애초에 측정되지 않았을 수 있다.
결정 ④ — 이력서에 이미 쓴 숫자 중 근거가 약한 것을 어떻게 다룰까
다른 빈칸은 "없으면 그 카드를 안 내면 그만"이다. 그런데 이미 제출한 이력서에 적힌 숫자는 면접관이 물어볼 권리가 있고 나는 답할 의무가 있다.
대상: 디자이너 커뮤니케이션 20% 절감 · 이슈 분석 30분→5분 · 크래시-프리 96→99%의 측정 도구
하나가 무너지면 나머지 숫자까지 같이 의심받는다. 이게 가장 무서운 부분이다.
정확한 근거가 없어도 "어떻게 나온 숫자인지 설명할 수 있으면" 통과다. "엄밀한 트래킹은 아니고 ○○를 세어본 값입니다"는 감점이 아니다. 모르는 게 감점이다.
결정 ⑤ — 못 채우는 항목이 나왔을 때의 포기 전략
Sentry 과거 데이터는 보관 기간이 지나 조회 자체가 안 될 수 있다. 퍼널 지표는 접근 권한이 없을 수 있다. 이때 매달리지 않고 넘어갈 대체 답변을 미리 정해둔다.
크래시 분포를 못 구했을 때의 대체 답변:
"당시 수치를 지금 다시 뽑을 수는 없습니다. 제가 방어할 수 있는 건 제가 고친 시그니처들이 그 뒤로 안 올라왔다는 것이고, 그건 시그니처 단위로 봤습니다."
이 문장이 준비돼 있으면 못 채워도 안전하다. 결정 ②는 자동으로 🅱️로 확정된다.
결정 ⑥ — 리크루터에게 면접 형식을 물어볼 것인가
답은 "물어본다"다. 몇 분인지 모르면 답변 분량 설계에 근거가 없다. 30분이면 질문 5~6개, 60분이면 10개 이상이라 준비 범위가 통째로 달라진다. 물어보는 것 자체는 감점이 아니다.
3. 쿠팡 Leadership Principles 15개
쿠팡은 이걸 액자에 걸어두지 않는다. 채용·평가·승진이 전부 이 15개로 돌아간다. 그리고 "리더십"이지만 팀장 얘기가 아니다 — 전 직원을 리더로 본다.
면접이 한국어로 진행되면 면접관 머릿속에 있는 건 한글판이다. 그런데 두 판본은 어디에 힘을 주는지가 다르다.
Ruthless Prioritization — 영문은 "give up what we want to do"(하고 싶은 걸 포기)에서 끝나지만, 한글은 여기까지 간다: "쉽고 잘 할 수 있는 일부터 하려는 유혹에서 벗어나 어렵고 불편해도 해야만 하는 일부터 우선한다."
Aim High and Find a Way — 영문은 "work backwards"지만, 한글은 "절충안 대신 근본적 해결책을 찾아내고… 합리적 목표는 변화를 겁내는 마음에서 태어난다." 완전히 다른 무게다.
15개 — 한글 원문의 결정적 어구 · 내 카드
| LP | 한글 원문에서 놓치면 안 되는 대목 | 내 증거 |
|---|---|---|
| Wow the Customer ⭐ | 고객의 삶을 더 좋게 변화시키기 위해 존재한다. 고객은 모든 결정의 시작과 끝 | 마이데이터 · 회원가입 재구축 |
| Ruthless Prioritization | 다른 전투는 포기할 줄 아는 자신감. "쉽고 잘 할 수 있는 일부터 하려는 유혹에서 벗어나 어렵고 불편해도 해야만 하는 일부터 우선한다" | 노이즈 제거(어렵고 티 안 남) · Rx 전환 포기 |
| Company-wide Perspective | 내 일이 전후 단계와 다른 조직에 미칠 영향까지. "'그건 내 일이 아닌데요'라는 말을 하지 않는다" | DSK 39개 모듈 확산 · FindaRabbit(타 팀 리뷰 공백) |
| Dive Deep | 완벽히 이해할 때까지 구석구석. "이를 통해 적절한 인재에게 권한을 주고" — 마이크로매니징이 아니라 위임의 근거 | 크래시 33건 근본원인 · actor 재진입 |
| Think Systematically ⭐ | "피드백을 빠르게 확인할 수 있는 메커니즘"을 통해 규모를 감당할 프로세스. 고치는 데 그치지 않고 반복되지 않도록 | 안정성 3단계 — 고침·막음·알아챔 |
| Simplify | 복잡함은 스케일·속도·고객경험을 망치는 주범. 광적으로 간소화 | 공용 컴포넌트 20종 · Braze 철수 |
| Disagree and Commit | "인간관계에 연연하여 타협하지 않는다" / 결정 후엔 "지지했던 사람과 반대했던 사람이 구분이 안 될 정도로" | 사례 없음 — 최우선 [채우기] |
| Hire and Develop the Best | 채용은 장기적 필요 기준. "내부 조직 이동을 통해 성장을 도모" — 채용만의 원칙이 아니다 | AI Agent 사내 교육 · TDD 전파 (채용 경험은 없음) |
| Deliver Results with Grit | "야근하고 열심히 일한 것을 일의 성과와 혼동하지 않는다" / 어떤 변명으로도 중단하지 않는다 | Braze 철수 후 대체까지 완주 |
| Influence without Authority | 데이터와 인사이트로 설득. "지위가 아닌 지식이 권위가 되는 환경을 만든다" | 모듈화를 빌드 시간 숫자로 관철 |
| Aim High and Find a Way | "절충안 대신 근본적 해결책" / 기대를 100배 뛰어넘을 때 고객감동 / "합리적 목표는 변화를 겁내는 마음에서 태어난다" | 노이즈 구조 제거 · Braze 자체 대체 · 디자인 시스템 (판정 상향) |
| Learn Voraciously | 자존심은 내려놓고 모든 곳을 뒤진다. "실수를 합리화하지 않고 스스로를 기꺼이 비판한다" | Braze 실패 — ⚠️ 합리화로 안 들리게 주의 |
| Demand Excellence | 괜찮은 정도로는 만족하지 않는다. 스스로에게나 다른 사람에게도 높은 기준 + 그 기준을 끊임없이 높인다 | 기준을 사람이 아니라 도구에 |
| Move with Urgency | 활동이 멈추면 생존의 위협. "실행 속에서 배우며 '완벽한' 정답을 찾겠다며 결정을 미루지 않는다" / 계산된 위험은 떠안는다 | 정식 정책 전에 위험부터 차단 |
| Hate Waste | 단순 삭감이 아니라 근본적 절감. "성과나 효율에 부정적 영향을 준다면 제대로 된 비용 절감이 아니다" / 푼돈 아끼려다 목돈 쓰지 않는다 | 빌드·용량 절반 · 노이즈 73%↓ — ⚠️ 다운샘플링 화질 사고가 반례 |
- Aim High 판정 상향 — 영문 "work backwards"만 보고 "약한 매핑"으로 버렸는데, 한글 "절충안 대신 근본적 해결책"으로 보면 최강 카드다. 개별 크래시 대응(절충) 대신 노이즈 구조 제거(근본), Braze 참고 쓰기 대신 걷어내고 자체 구축, 화면마다 버튼 복사 대신 디자인 시스템 — 전부 절충 대신 근본이다.
- Ruthless Prioritization 재해석 — "포기했다"보다 "쉬운 것 대신 어려운 것을 먼저 했다"가 강하다. 개별 이슈 잡기는 쉽고 눈에 띄지만, 노이즈 정리는 어렵고 티가 안 난다. 어려운 쪽을 먼저 골랐다는 이야기다.
- Company-wide Perspective 신규 — "'그건 내 일이 아닌데요'라는 말을 하지 않는다"는 구체적 행동 규범이다. "다른 팀 문제를 발견했을 때 어떻게 하셨나요?" 질문이 여기서 나온다. 지금 준비물에 답이 없다.
- Hire and Develop 하향 조정 불필요 — "내부 조직 이동을 통해 성장을 도모"가 명시돼 있다. 채용만의 원칙이 아니므로 "채용 경험 없다"고 먼저 사과할 필요가 줄었다.
① Braze 답변이 "합리화"로 들릴 수 있다. Learn Voraciously 원문이 "실수를 합리화하지 않고"다. 그런데 준비된 답이 "안 본 게 아니라 본 기준이 틀렸다"인데, 이게 변명으로 들릴 여지가 있다. → 앞에 "제 판단 미스였습니다"를 먼저 붙이고 기준 얘기로 간다. 순서가 중요하다.
② "야근하고 열심히"를 성과로 말하면 감점. Deliver Results with Grit 원문이 이걸 직접 배제한다. "33건을 다 잡았습니다"류의 투입량 자랑은 성과가 아니다. 반드시 결과 지표로 말한다.
Customer Obsession → Wow the Customer | Bias for Action → Move with Urgency | Earn Trust → Influence without Authority | Ownership → Company-wide Perspective | Learn and Be Curious → Learn Voraciously
LP끼리 충돌할 때 — 준비물에 없던 축
LP 면접의 고급 질문은 "두 원칙이 부딪힐 때 뭘 고르나"다. 15개를 각각 따로 외운 사람은 여기서 막힌다. 쿠팡 LP는 실제로 서로 충돌한다.
| 충돌하는 두 원칙 | 왜 부딪히나 | 내가 실제로 겪은 것 |
|---|---|---|
| Ruthless Prioritization ↔ Demand Excellence | 버리라는데, 버린 영역은 평범해진다 | 테스트를 주담대 245케이스에만. 나머지는 그 수준을 못 챙긴다는 걸 받아들였다 |
| Move with Urgency ↔ Demand Excellence | 지금 당장 하라는데, 급하면 수준이 떨어진다 | 재시도 — 정식 정책을 기다리지 않고 안전한 상한만 임시로 먼저 걸었다 |
| Simplify ↔ Think Systematically | 단순하게 하라는데, 프로세스·검증을 붙이면 복잡도가 는다 | 컨벤션 하네스 — 사람의 부담을 줄이려고 시스템의 부담을 늘린 거래 |
| Move with Urgency ↔ Dive Deep | 빨리 움직이라는데, 끝까지 파려면 시간이 든다 | 크래시 — 재현 안 되는 건 파는 대신 리포트로 바꿔 데이터를 쌓으며 동시에 진행 |
| Wow the Customer ↔ Hate Waste | 고객 감동에는 돈과 시간이 든다 | [채우기] — 고객을 위해 비용을 더 쓰기로 한 판단이 있나 |
충돌을 인식하고 판단한 사례가 있으면 LP를 외운 사람과 체화한 사람이 갈린다.
답변 형태: "두 원칙이 부딪혔습니다. ○○를 택했고, 대신 △△를 포기했습니다. 그 대가는 □□였고, 지금도 그 판단이 맞았다고 봅니다."
"둘 다 지켰습니다"는 최악의 답이다. 충돌을 못 본 사람이거나 거짓말이다.
4. 겨냥 ① Wow the Customer
"We exist to transform customers' lives for the better. The customer is the beginning and the end in every decision we make."
단어 하나하나가 의도적이다. improve(개선)가 아니라 transform(변형)이고, 경험이 아니라 삶이고, 시작이자 끝이다. 그리고 satisfied가 아니라 Wow — 기대를 충족하는 게 아니라 넘어서는 것.
흔한 오해 — 답변으로 바로 이어지는 둘
지표는 고객이 아니다. 고객이 남긴 그림자다. 설명은 여기서 끝내고, 실제로 뭐라고 말할지는 바로 아래 번역 치트시트를 쓴다. 같은 얘기를 두 번 쓰지 않는다.
번역 치트시트 — 모든 숫자를 사람으로
| 내 지표 | 이러면 진다 | 이렇게 말한다 |
|---|---|---|
| 크래시-프리 96→99% | "3%p 올렸습니다" | "하려던 일을 마지막에 못 끝내는 사건을 4분의 1로 줄였습니다" |
| 앱 용량 211→101MB | "절반으로 줄였습니다" | "설치 화면에서 포기하는 사용자를 줄였습니다. 셀룰러로 200MB를 받으라는 건 그 자리에서 그만두라는 말이니까요" |
| Sentry 1,500→400건 | "노이즈 73% 감소" | "사고가 났을 때 고객이 그 상태에 머무는 시간을 줄였습니다" |
| 이슈 분석 30→5분 | "리드타임 83% 단축" | "같은 문제를 겪는 다음 고객의 수를 줄였습니다" |
배달은 "배고픈 지금"이라는 시간 압박이 있는 서비스다. 밖에서 급하게 깔아야 하는데 셀룰러로 200MB는 사실상 못 깐다. 주문 확정 직전에 죽으면 배고픈 채로 처음부터 다시 한다. 점심 피크에 문제가 나면 25분은 수천 명의 주문이다.
5. 겨냥 ② Think Systematically
"리더는 피드백을 빠르게 확인할 수 있는 메커니즘을 통해 큰 규모를 감당할 수 있는 프로세스를 만든다. 단순히 결함을 고치는데 그치지 않고, 비슷한 결함이 반복되지 않도록 한다."
영문: "We build scalable processes with prompt feedback mechanisms. We take measures not only to fix defects, but also to prevent them in the future."
영문 "prevent them"은 같은 결함을 막는 것처럼 읽히는데, 한글은 "비슷한 결함"이다. 이게 크래시 33건을 유형별로 묶어 같은 계열을 선제 수정한 것과 정확히 맞는다. 하나를 고치는 게 아니라 계열을 고치는 것이 이 LP다.
이건 "설계를 잘한다"는 뜻이 아니다. 그건 그냥 아키텍처 실력이다. 이 LP가 묻는 건 하나다 — 문제를 하나의 사건으로 보느냐, 패턴으로 보느냐.
의사 A — 배 아픈 환자가 오면 약을 준다. 하루 50명을 낫게 한다. 훌륭한 의사다.
의사 B — 환자들이 다 같은 동네에서 왔다는 걸 알아챈다. 그 동네 우물을 검사하고, 오염된 걸 찾아 우물을 막는다. 그 뒤로 환자가 안 온다.
A는 열심히 일했고, B는 문제를 없앴다. 실제로 1854년 런던에서 존 스노우가 콜레라 환자 분포를 지도에 찍어 한 우물을 찾아냈고, 손잡이를 떼자 전염이 멈췄다.
여기에도 3층이 있다
"노이즈를 73% 줄였습니다"로 말하면 그냥 청소다. 그런데 쿠팡 원문에 "prompt feedback mechanisms"가 있다. 노이즈 제거는 감지 장치를 되살린 것이다.
→ "문제가 나도 우리가 못 보는 상태였던 거죠. 노이즈를 걷어내 신호가 보이게 만들었습니다." 같은 사실인데 LP 적중이 완전히 달라진다.
"scalable"이 무슨 뜻이냐면 🧩 롱테일
반에서 준비물을 자꾸 잊는 애가 있으면 선생님이 매번 챙겨줄 수 있다. 30명이니까. 그런데 학교 전체 1,000명이면 못 한다. 그래서 "준비물 알림 문자"라는 구조를 만든다.
그래서 이 LP는 자연스럽게 이 질문으로 이어진다 — "당신이 없어도 그게 돌아갑니까?" 내가 계속 붙어 있어야 돌아가는 건 scalable이 아니다.
가장 결정적인 한 문장
| ❌ 사람을 탓함 | ✅ 구조를 봄 |
|---|---|
| "그 코드 짠 사람이 실수한 거라, 다시 안 그러기로 했습니다" | "그렇게 짜도 통과되는 구조가 문제였습니다. 실수해도 안 터지게 바꿨습니다" |
사람을 탓하면 같은 일이 또 난다. 구조를 보면 안 난다. 이 관점이 답변 어딘가에 반드시 한 번은 드러나야 한다.
6. 답변 설계 — C-B-I × 4칸
가이드가 지정한 형식은 Context → Behavior → Impact다. 두 LP를 동시에 맞추려면 여기에 4칸을 겹쳐 쓴다.
보강 ① — Context에서 KPI를 먼저 선언한다
가이드가 Context에 "KPI 및 주요 지표"를 명시했다. 숫자가 Impact에서만 나오면 사후에 갖다 붙인 것처럼 들린다.
"제가 이 일에서 본 지표는 크래시-프리 세션율이었습니다."
그러면 Impact가 "그 지표가 이렇게 됐습니다"로 자연스럽게 닫힌다. 같은 숫자인데 설득력이 달라진다.
보강 ② — Impact에 비즈니스 영향을 붙인다
| 내 지표 | 비즈니스 언어로 |
|---|---|
| 크래시 세션 75%↓ | 대출 중개는 신청 완료가 곧 수익. 신청 중간에 앱이 죽으면 그 건은 사라진다 |
| 빌드 600→300초 | 개발자 시간 = 인건비. 300초 × 인원 × 하루 빌드 횟수 × 연 240일 |
| Braze 철수 | 구독 비용 직접 절감 — 가장 깨끗한 비용 임팩트 |
| 이슈 분석 30→5분 | 25분 × 이슈 건수 = 대응 인력 절감 |
"크래시 75%↓ = 매출 75%↑"로 말하면 끝이다. 죽던 세션이 전부 신청 플로우였던 게 아니기 때문이다.
비즈니스 연결은 방향으로 말하고, 등치는 거부한다. 그 거부가 오히려 데이터 감각으로 읽힌다.
보강 ③ — 모든 판단에 데이터 근거를 붙인다
가이드의 세 번째 검증 축이 "데이터 기반 의사결정"이다. 지금 내 답변의 결정들은 상당수가 판단이지 데이터가 아니다.
| 결정 | 지금 (판단) | 붙여야 할 것 (데이터) |
|---|---|---|
| 노이즈 제거 우선 | "끝이 안 난다고 봤습니다" | "1,500건 중 자동캡처가 차지하는 비중을 보고" |
| 유형별 선제 수정 | "유형이 반복되더라" | "33건을 원인별로 분류했더니 서너 개에 몰려 있었습니다" |
| Rx 전환 포기 | "회귀 위험이 크다고 봤습니다" | "Rx 코드가 코드베이스에 __만큼 있었고" |
| 테스트를 주담대에만 | "틀리면 비용이 크니까" | "금액 계산 로직의 분기 조합이 245개였습니다" |
"그건 데이터 없이 판단했습니다"라고 정직하게 말하고, 대신 어떤 근거로 위험을 낮췄는지를 말한다. 없는 데이터를 지어내는 것보다 낫다.
답변 길이 — 3층 규칙
| 층 | 길이 | 내용 |
|---|---|---|
| 1층 · 첫 답변 | 60~90초 | Context 2문장 + 액션 3문장 + Impact 숫자 2개. 여기서 멈춘다 |
| 2층 · 첫 꼬리질문 | 각 1분 | 면접관이 고른 지점만 펼침 |
| 3층 · 파고들 때 | 무제한 | 기술 디테일 — 상대가 팔 때만 |
면접관이 "그래서 어떻게 했는데요?"를 묻게 만드는 게 Deep Dive에서 이기는 방식이다. 다 말하면 대화가 아니라 발표가 된다.
그리고 네 답변을 다 같은 순서로 말하면 틀이 들킨다. 4칸은 체크리스트지 대본 모양이 아니다 — 어떤 답변은 숫자부터, 어떤 답변은 장면부터, 어떤 답변은 원칙부터 연다.
7. Deep Dive 앵커 전략
면접관이 다른 프로젝트를 팔 수도 있다. 억지로 앵커로 끌고 오지 말 것. 다만 Wow the Customer가 한 번도 안 나온 채 면접이 끝나가면 이렇게 연다:
"그 얘기와 이어지는 건데, 사용자 쪽에서 제가 제일 오래 붙들었던 게 하나 있습니다 —"
8. 답변 카드 8장
| 질문 | 꺼낼 카드 | 겨냥 LP |
|---|---|---|
| 가장 기여도 높았던 프로젝트 | 안정성 3단계 (고침→막음→알아챔) | Think Systematically · Dive Deep |
| 가장 큰 규모 | 디자인시스템 + 57모듈 리아키텍처 | Company-wide Perspective · Simplify |
| 어려운 고객 요구 / 고객을 위해 한 일 | 마이데이터 또는 회원가입 (결정 ③) | Wow the Customer |
| 고객 요구 vs 회사 요구 | 무제한 재시도를 먼저 차단한 판단 | Move with Urgency |
| 팀 내 갈등 | 모듈화를 빌드 시간 숫자로 관철 | Influence without Authority |
| 실패 경험 | Braze 도입했다가 직접 걷어내고 대체 | Learn Voraciously · Grit |
| 품질 vs 속도 | 테스트를 주담대 245케이스에만 집중 | Ruthless Prioritization |
| 하고 싶었지만 포기한 것 | RxSwift 전면 전환 포기 | Ruthless Prioritization |
| 의견이 안 받아들여졌을 때 | 사례 없음 | Disagree and Commit — 최우선 [채우기] |
에러 클렌징만 단독으로 꺼내면 "노이즈 정리했습니다"로 들려서 규모가 안 산다. 크래시와 하나로 묶어서 연 다음 안으로 내려간다.
"앱 안정성을 맡았던 일인데, 크게 두 갈래였습니다. 하나는 크래시를 근본원인까지 파서 크래시-프리를 96에서 99%로 올린 거고, 다른 하나는 그러면서 관측 자체가 망가져 있다는 걸 발견해서 에러 클렌징을 Big Rock으로 제안한 겁니다. 어느 쪽부터 말씀드릴까요?"
→ 마지막 한 마디로 면접관이 고르게 하면, 어느 쪽을 골라도 준비된 이야기가 나온다.
🥇 스토리 ① 에러 클렌징 Big Rock — 오늘 먼저 꺼낼 카드
Influence without Authority · Company-wide Perspective · Think Systematically · Ruthless Prioritization · Hate Waste · Wow the Customer
제안 당시 발표 자료에 "고객 경험 개선"이 이미 들어 있었다 → "사후에 갖다 붙인 거 아닌가요" 반격이 통하지 않는다.
4단 구조로 말한다: ①노이즈가 신호를 가림 → ②Big Rock으로 제안·설득 → ③실행(1,500→400건) → ④AI 모니터링 + Issue Analyzer로 사람 의존까지 제거(30분→5분)
1️⃣ Sentry에 iOS 에러가 주간 1,500건씩 쌓여 있었는데, 상당 부분이 우리가 이미 처리한 실패 HTTP를 Sentry가 자동으로 잡아 올린 거였습니다. 진짜 장애가 나도 그 안에 묻혀서 안 보이는 상태였습니다.
2️⃣ 개별 이슈를 하나씩 잡는 건 끝이 없다고 봤습니다. 그래서 에러 클렌징 자체를 Big Rock으로 제안했습니다. 혼자 조용히 고칠 수도 있었는데, 그러면 제 작업으로 끝나고 조직 기준은 안 남으니까요.
3️⃣ 설득할 때 개발자 관점으로만 말하지 않았습니다. 운영자는 의미 없는 로그를 분석하느라 장애 복구가 늦어지고, 모니터링 지표는 실제 서비스 품질을 반영하지 못하고, 사용자는 자기한테 영향 주는 문제가 늦게 해결됩니다. 각자에게 뭐가 걸려 있는지 정리해서 올렸습니다.
4️⃣ 팀 발표였는데 VP를 통해 전사에 공유됐습니다. 실행 결과는 주간 1,500건이 400건이 됐습니다.
그런데 여기서 끝내면 결국 사람에 의존합니다. 400건도 누군가 하나씩 훑어야 하니까요. 그래서 두 개를 더 만들었습니다. 하나는 Sentry AI 모니터링으로, 에러를 사람이 들여다보지 않아도 계속 감시하게 했습니다. 다른 하나는 AI Issue Analyzer인데, 크래시나 에러가 올라오면 AI가 스택트레이스와 브레드크럼을 읽어서 원인 진단과 해결 방안까지 붙여줍니다. 이슈 하나 원인 파악이 30분에서 5분이 됐고, Sentry 전체 이슈를 커버합니다.
쿠팡 원문은 "큰 규모를 감당할 수 있는(scalable) 프로세스" 다. 사람이 하나씩 보는 방식은 사람 수에 묶여서 규모를 못 감당한다.
| 단계 | 한 일 | 남은 한계 |
|---|---|---|
| 1 | 개별 크래시를 근본원인까지 수정 | 새 이슈는 계속 나온다 |
| 2 | 유형을 정의해 전수조사로 계열 제거 | 모르는 유형은 못 막는다 |
| 3 | 에러 클렌징 — 노이즈를 걷어 신호가 보이게 | 남은 400건도 사람이 봐야 한다 |
| 4 | AI 모니터링 + Issue Analyzer → 팀이 쓰고 있음 | 사람 수에 안 묶인다 → scalable 만든 게 아니라 쓰이는 것으로 증명됨 |
💬 이렇게 닫으면 강하다: "제가 30분씩 직접 스택트레이스를 훑던 걸 충분히 해봤으니까 그 1차 훑기를 넘긴 겁니다. AI가 줄여준 건 반복이지 판단이 아닙니다. 어려운 판단은 여전히 제가 하고, 도구가 틀리면 원본 이슈가 그대로 남아 있어서 제가 다시 팝니다."
"AI한테 맡기면 본인 분석력이 떨어지지 않나요?" → 위 💬 문장 그대로.
"그 도구 지금 팀이 실제로 씁니까? 본인만 쓰는 거 아닌가요?" ← ✅ 답이 있다. 세게 답한다
"팀이 쓰고 있습니다. 저는 만든 것보다 그게 더 중요하다고 봅니다. 사내 도구는 만들었다는 것과 쓰인다는 게 전혀 다른 얘기라서요. 안 쓰이면 그건 제 취미지 조직 자산이 아닙니다."
→ 이 답이 Company-wide Perspective를 닫는다. 그리고 앞서 말한 scalable 주장이 말이 아니라 사실이 된다 — 사람 수에 안 묶인다는 걸 팀이 쓰고 있다는 것으로 증명하는 것.
→ 여유가 있으면 일관성을 드러낸다: "디자인 시스템도 같은 생각으로 만들었습니다. 남이 저한테 안 물어보고도 쓸 수 있게 인터페이스를 분리하고 예제 앱을 붙였고요. 제가 붙들고 있어야 도는 건 잘 만든 게 아니라고 봅니다."
"AI가 원인을 틀리게 진단하면요?"
"틀릴 수 있습니다. 그래서 원본 이슈를 지우거나 닫지 않습니다. 분석 결과는 먼저 볼 실마리지 결론이 아니고, 최종 판단은 사람이 합니다. 도구가 하는 일은 어디서부터 볼지를 정해주는 것까지입니다."
여기서 막히면 "관측을 개선했다"가 "관측을 껐다"로 뒤집힌다. 코드 확인 결과 답은 명확하다 — 끈 건 자동 캡처 하나뿐이고 신호는 다 남겼다.
"관측을 없앤 게 아니라 노이즈만 골라서 버리고 신호는 남겼습니다. 세 가지로 나눠서 했는데요 —
하나, 자동 캡처만 껐습니다(enableCaptureFailedRequests = false). 이미 우리가 처리한 실패까지 전부 이벤트로 올라와서 신호를 가렸으니까요.
둘, 우리 API 요청은 브레드크럼으로 그대로 남깁니다. 대신 우리 서버가 아닌 도메인은 걸렀고요. 그래서 크래시가 났을 때 직전에 어떤 API가 실패했는지는 지금도 보입니다.
셋, 에러도 전부 버리는 게 아니라 무시할 코드 목록만 정해서 버립니다. 요청 취소, 인터넷 끊김, 연결 유실, 타임아웃 네 가지요. 이건 사용자 네트워크 상황이지 우리 버그가 아니라서 걸렀습니다. 서버 5xx 같은 진짜 실패는 그대로 올라옵니다."
→ 덧붙이면 강해진다: "오히려 스크린샷과 뷰 계층을 붙이고 브레드크럼을 200개로 늘려서 남은 이슈는 더 잘 보이게 했습니다."
"MTTR은 얼마나 줄었나요?" (실측 없음 — 절대 지어내지 말 것)
"MTTR은 기대 효과로 제시했고 실제로 측정하지는 못했습니다. 제가 방어할 수 있는 건 노이즈 건수와 원인 파악 시간까지입니다. 돌아보면 제안할 때 지표를 걸어놓고 측정 체계까지 같이 만들었어야 했다는 게 아쉬운 부분입니다."
→ 마지막 문장이 Learn Voraciously("실수를 합리화하지 않고 스스로를 기꺼이 비판한다")를 그대로 친다. 약점을 LP로 바꾸는 자리다.
"팀 발표가 어떻게 전사로 갔나요?"
"제가 전사에 뿌린 게 아니라 VP가 보시고 공유하셨습니다. 팀 문제로만 쓰지 않고 운영과 고객까지 영향을 정리해서 올린 게 그 이유였다고 생각합니다."
→ Influence without Authority 원문이 "지위가 아닌 지식이 권위가 되는 환경을 만든다". 정확히 이 이야기다.
스토리 ② 크래시 96 → 99%
"특정 금융사를 가진 유저만 앱을 켜면 죽는 이슈가 있었습니다. 그 금융사가 없는 사람은 멀쩡했고요. 그래서 저희 계정으로는 재현이 안 됐습니다.
파보니 홈 화면에서 금융사 로고 URL을 배경용 이미지 URL로 바꾸는 코드가 있었습니다. logo.png를 logo_bg.png로요. 그런데 그걸 문자열 끝에서 네 칸 앞으로 인덱스를 옮겨서 그 자리에 '_bg'를 끼워 넣는 방식으로 하고 있었습니다. '.png'가 네 글자니까요.
그 금융사는 로고 URL이 네 글자보다 짧았습니다. 그러니까 네 칸 앞으로 가는 순간 문자열 범위를 벗어나면서 그냥 죽은 겁니다.
고칠 때 가드만 하나 넣고 끝낼 수도 있었습니다. 그런데 그러면 같은 코드가 또 다른 조건에서 죽습니다. 그래서 위치를 계산하는 방식 자체를 버렸습니다. 문자열 치환으로 바꾸고, 빈 문자열이면 nil을 반환하고, .png로 끝나지 않으면 원본을 그대로 돌려주게요. 그리고 그 함수 위에 어떤 입력에 뭐가 나오는지 예시를 다 적어뒀습니다. 다음 사람이 같은 실수를 안 하도록요.
여기까지가 그 버그고, 그다음이 중요합니다. '문자열이나 배열의 위치를 계산해서 접근한다'는 패턴이 여기만 있을 리가 없다고 봤습니다. 그래서 인덱스 기반 접근을 코드베이스 전체로 전수조사했습니다. 홈, 자산관리, 마이데이터, 대출신청, 알림, 설정, 회원가입, 디자인시스템까지 18개 모듈에서 27건이 나왔고 한꺼번에 걷어냈습니다."
→ 이게 Think Systematically의 완성형이다. 쿠팡 원문: "단순히 결함을 고치는데 그치지 않고 비슷한 결함이 반복되지 않도록 한다." 한 건에서 패턴을 정의하고 전수조사로 계열 전체를 없앤 것이 정확히 그것.
"재현이 안 됐다면서 어떻게 원인을 찾았나요?"
"Sentry 스택트레이스에 문자열 인덱스 연산이 찍혀 있었고, 그 지점이 홈 화면 로고 URL 변환 함수였습니다. 거기서부터는 '어떤 입력이 들어오면 이 연산이 실패하는가'를 거꾸로 좁혔습니다. 네 칸을 빼는데 문자열이 네 글자보다 짧으면 되겠더라고요. 그 조건에 맞는 금융사가 실제로 있는지 데이터로 확인했습니다."
"가드 하나면 끝날 일 아니었나요?"
"가드를 넣으면 그 크래시는 멈춥니다. 그런데 왜 네 칸인지를 아는 사람이 저밖에 없는 코드가 그대로 남습니다. 확장자가 .jpeg로 바뀌면 또 틀리고요. 위치를 세는 방식이 문제라서 방식을 바꿨습니다."
"27건을 어떻게 다 찾았나요?"
"유형을 먼저 정의했습니다. 배열에 첨자로 바로 접근하는 지점, 빈 배열에 [0]이나 removeLast를 쓰는 지점, 컬렉션뷰에서 섹션 인덱스를 이중으로 첨자하는 지점, 문자열 범위 연산. 유형이 정해지고 나니 기계적으로 훑을 수 있었습니다. 어려운 건 찾는 게 아니라 찾아야겠다고 마음먹는 것이었습니다."
1️⃣ 제가 이 일에서 본 지표는 크래시-프리 세션율이었습니다. 제가 붙었을 때 96%였는데, 100세션 중 4개가 죽고 있었다는 뜻입니다. 돈이 걸린 앱에서 세션이 죽는다는 건 사용자가 뭘 하다가 중간에 끊겼다는 거고요. 대출 신청이든 인증이든, 하려던 걸 못 끝낸 겁니다.
2️⃣ 크래시 33건이랑 메모리 릭 25건을 근본원인까지 파서 고쳤습니다. 3️⃣ 그런데 파보니 33개의 개별 사고가 아니라 서너 가지 유형이 반복되는 거였습니다. 누가 실수했느냐가 아니라, 그렇게 짜도 통과되는 구조가 문제였습니다. 그래서 유형별로 같은 계열을 선제적으로 걷어냈고, 크래시-프리가 99%가 됐습니다.
그다음에 본 게 관측입니다. Sentry에 주간 1,500건이 쌓여서 진짜 문제가 노이즈에 묻혀 있었습니다. 문제가 나도 우리가 못 보는 상태였던 거죠. 노이즈를 걷어내 400건으로 줄여서 신호가 보이게 만들었습니다.
4️⃣ 결과적으로 앱이 죽어서 사용자가 하려던 걸 못 끝내는 세션이 4분의 1로 줄었습니다.
"그 세 개가 하나의 프로젝트인가요?" → 마스터플랜인 척하면 사후 서사화로 읽혀 신뢰도가 날아간다. "처음부터 3단계로 계획한 건 아닙니다. 1단계를 하다 보니 노이즈가 병목이라는 게 보여서 2단계로 간 겁니다." — 연쇄로 말하는 게 오히려 "prompt feedback mechanisms"에 정확히 맞는다.
"96에서 99가 정말 본인 덕인가요?" → "전부 제 덕이라고 말씀드리지 않겠습니다. 제가 방어할 수 있는 건 제가 고친 33건의 시그니처가 실제로 사라졌다는 것이고, 시그니처 단위로 추적했습니다."
"클린 빌드가 왜 반으로 줄죠?" → 클린 = 병렬 컴파일 + 중복 제거 / 증분 = 바뀐 것만 재빌드. 절대 섞지 말 것. 여기서 꼬이면 다른 숫자 신뢰도까지 흔들린다.
스토리 ③ 모듈화 — "반대는 없었는데 아무도 안 했다"
1️⃣ 반대는 없었습니다. 다들 필요하다고는 알고 있었는데, 작업이 너무 커서 아무도 선뜻 시작을 못 하는 상태였습니다.
2️⃣ 저는 아무도 시작하지 않는 게 제일 위험하다고 봤습니다. 매일 개발자 전체가 빌드로 시간을 버리고 있었으니까요.
3️⃣ 크기가 문제였으니 크기를 줄였습니다. 한 번에 안 가고 화면 20개 이상을 PR 26건으로 쪼개서 하나씩 독립 모듈로 뺐습니다.
4️⃣ 앱이 57개 모듈 체계가 됐고 클린 빌드가 600초에서 300초가 됐습니다.
Ruthless Prioritization 원문: "쉽고 잘 할 수 있는 일부터 하려는 유혹에서 벗어나 어렵고 불편해도 해야만 하는 일부터 우선한다"
Move with Urgency: 아무도 안 움직이는 상태 자체를 위협으로 본 것.
"클린 빌드는 정의상 다 처음부터 짓는 건데 왜 반으로 줄죠?"
클린 = 병렬 컴파일 + 중복 제거 / 증분 = 바뀐 것만 재빌드. 절대 섞지 말 것. 여기서 꼬이면 다른 숫자 신뢰도까지 흔들린다.
스토리 ④ 디자인 시스템 — 기여 경계를 정확히
"지금 57개 모듈 중 39개, 387개 파일이 씁니다. 다만 제가 혼자 퍼뜨린 건 아니고, 디자인시스템 TF에서 이걸 표준으로 쓰기로 함께 정했습니다. 제 몫은 설계와 구축, 그리고 남이 저한테 안 물어보고도 쓸 수 있는 구조로 만드는 거였습니다 — 인터페이스와 구현 분리, Example 앱."
부풀리지 않는 게 낫다. 기여 경계를 정확히 그으면 나머지 숫자의 신뢰가 올라간다.
스토리 ⑤ 앱 용량 절반 — 사고 없었음
"미사용 리소스를 지우는 건 잘못 지우면 크래시입니다. 그래서 참조 추적으로 후보를 뽑고 빌드와 QA로 검증한 뒤 지웠습니다. 실제로 잘못 지워서 문제가 난 적은 없습니다."
Hate Waste 원문: "성과나 효율에 부정적 영향을 준다면 제대로 된 비용 절감이 아니다." 검증하고 지웠다는 게 정확히 그 얘기다.
9. 채워야 할 것 — 등급별
빈칸에는 성격이 다른 두 종류가 있다. 이걸 구분 못 하면 우선순위가 거꾸로 간다.
🚨 0등급 — 이미 제출해서 물러설 수 없는 것
- "디자이너 커뮤니케이션 20% 절감" — 이 숫자가 어디서 나왔나. 가장 위험
- "이슈 원인 파악 30분→5분" — 몇 건 기준의 평균인가
- "크래시-프리 96→99%" — 어느 도구 기준인가 (Sentry / Firebase)
🔴 1등급 — 없으면 답변 자체가 무너지는 것
- 앵커 프로젝트 안에서의 갈등 · 실패 · 지연 · 트레이드오프 — 지금 네 칸이 비어 있다
- 내가 반대했지만 팀 결정에 온전히 붙은 사례 (Disagree and Commit — 유일하게 통째로 빈 카드)
- 동료와 부딪혔는데 내가 틀렸던 사례 — 없으면 "사람 문제는 회피하는 사람"으로 읽힌다
- 쿠팡이츠 실사용 후기 — 좋은 점 1 + 구체적 아쉬움 1. "안 써봤다"는 즉사
🟡 2등급 — 있으면 이기고 없어도 죽지 않는 것
- 회원가입 완료율 Before→After — 있으면 이번 면접 최대의 한 방
- 회원가입 재구축에서 실제로 바꾼 것 2~3개
- 마이데이터 연동 완주율 / Braze 월·연 구독료 / 자체 구축 기간
- APP-2812를 언제 시작했나 — "진행 중"이 6개월째면 방치로 읽힌다
⚫ 3등급 — 못 채울 가능성이 높다. 조회 가능 여부부터 확인
- 크래시 33건이 전체의 몇 % / 화면별 크래시 분포 — 몇 년 전 데이터라 보관 기간이 지났을 수 있다
- 퍼널 지표 — 접근 권한이 없으면 데이터팀·PM에게 요청해야 하고, 그러면 오늘 요청해야 면접 전에 온다
"남에게 요청해야 하는가"다. 내가 혼자 볼 수 있는 건 언제든 볼 수 있지만, 남이 개입하는 건 오늘 안 시작하면 면접 전에 안 온다.
⚪ 버려도 되는 것
LRUCache OSS 기여 내용, Tuist Collaborator 역할 — 4차는 LP 면접이지 기술 면접이 아니다. 나올 확률이 낮다.
10. 면접 직전 1장
| 결정 | 확정 | 이유 |
|---|---|---|
| ① 앵커 프로젝트 | 에러 클렌징 Big Rock | LP 6개가 한 번에 걸리고, 제안 발표 자료라는 물증이 있다. VP를 통해 전사 공유까지 됨 |
| ② Q1 오프닝 | 🅱️ 96%로 열기 | Sentry 조회할 시간 없음. 🅰️안 폐기 |
| ③ Wow 주력 | 마이데이터 | 회원가입은 Jira 확인을 못 했으니 근거 없이 못 쓴다 |
| ⑤ 포기 전략 | 전면 발동 | 미확인 숫자는 전부 "지금 다시 뽑을 수는 없습니다"로 |
회원가입은 Wow 카드로 쓰지 않는다. 물어보면 Think Systematically로 답한다 — "같은 계열 버그가 한 달에 다섯 건씩 났고, 그건 구조가 그런 버그를 계속 만들어내는 상태였습니다."
📊 숫자
96→99% (크래시 세션 ¼) · 1,500→400건 · 30분→5분 · 18모듈 27건 · 39모듈·387파일 · 600→300초 · 211→101MB
🪤 순간적으로 헷갈리는 함정 3개
| 질문 | 답 |
|---|---|
| "클린 빌드가 왜 반으로?" | 클린 = 병렬 컴파일 + 중복 제거 (증분 = 바뀐 것만. 절대 섞지 말 것) |
| "96→99가 본인 덕인가?" | "전부 제 덕이라 하지 않겠습니다. 제가 고친 시그니처가 사라진 것까지가 제가 방어할 수 있는 범위입니다" |
| "그게 매출로는?" | 방향만 말하고 등치는 거부 "크래시 75%↓가 매출 75%↑라고는 말씀 못 드립니다" |
⛔ 지어내지 말 것
MTTR · 회원가입 완료율 · 크래시 화면별 분포 → 전부 "측정하지는 못했습니다"
숫자 근거를 물으면 → "엄밀하게 트래킹한 수치는 아니고, ○○를 기준으로 본 값입니다." 모르는 게 감점이지 정성적인 게 감점이 아니다.
⛔ 내가 먼저 꺼내지 말 것
Customer Obsession · Bias for Action · Earn Trust · Ownership · Learn and Be Curious
전부 아마존 용어. 단, 면접관이 먼저 쓰면 그냥 받아서 답한다.
⛔ 내가 먼저 꺼내지 말 것
Customer Obsession · Bias for Action · Earn Trust · Ownership · Learn and Be Curious — 전부 아마존 용어. 단, 면접관이 먼저 쓰면 그냥 받아서 답한다.
🎯 오늘 두 번 이상 나와야 하는 것
Wow the Customer → 앵커 프로젝트의 고객 스토리 | Think Systematically → 고친다 / 막는다 / 빨리 알아챈다
🗂 오늘 꺼낼 순서
① 에러 클렌징 Big Rock (먼저) → ② 크래시 96→99% (로고 사례로 내려감) → ③ 모듈화 (아무도 안 하던 일) → ④ 디자인 시스템 (TF, 경계 정확히) → ⑤ 앱 용량
⚠️ 위 다섯은 전부 기술 스토리다 — Wow the Customer가 안 나온다
고객·사용자 쪽으로 질문이 오면, 또는 면접이 절반을 넘겼는데 고객 얘기가 한 번도 안 나왔으면 내가 꺼낸다:
"그 얘기와 이어지는 건데, 사용자 쪽에서 제가 제일 오래 붙들었던 게 하나 있습니다 — 마이데이터를 3년째 맡고 있는데, 사람들이 자기 돈이 어디 얼마나 있는지 모른 채로 삽니다. 은행 앱을 대여섯 개 열어야 아니까요…"
→ 이력서에 한 줄뿐이라 안 꺼내면 안 나온다.
🔑 오늘의 문장 5개
① "혼자 조용히 고칠 수도 있었는데, 그러면 제 작업으로 끝나고 조직 기준은 안 남으니까요"
② "특정 금융사를 가진 유저만 앱을 켜면 죽었습니다"
(로고URL 끝 4칸 인덱스 → 4글자보다 짧음 → 방식 교체 → 전수조사 27건)
③ "안 쓰이면 그건 제 취미지 조직 자산이 아닙니다" — AI 도구를 팀이 쓴다
③ "반대는 없었습니다. 다들 필요한 건 아는데 커서 아무도 시작을 못 하고 있었습니다"
④ "관측을 없앤 게 아니라 노이즈만 골라 버리고 신호는 남겼습니다" — 자동캡처만 off, 우리 API 브레드크럼 유지, 무시할 에러코드 4개만 제외
⑤ "측정 체계까지 같이 만들었어야 했다는 게 아쉽습니다" — 약점을 Learn Voraciously로
📐 답변 구조
Context(목적 + KPI 선언) → Behavior(액션 + 판단 근거 데이터) → Impact(지표 + 비즈니스). 첫 답변은 90초. ⚠️ 지표를 매출로 등치시키지 말 것 — 방향만 말하고 등치는 거부한다.
🗣️ 말투
"A가 아니라 B" 구문은 오늘 최대 3번. 답변마다 정리 경구로 닫지 말 것. 끊기면 그 질문 먼저 답하고 "방금 게 첫 단계였고, 그다음에—"로 복귀.
11. 길을 잃었을 때
말하다 막히면 "내가 몇 번 칸까지 말했지?"만 확인하고 안 말한 칸으로 간다.
| 칸 | 말할 것 | 안 했으면 |
|---|---|---|
| 1️⃣ | 고객이 뭘 못 하고 있었나 | 여기 빠지면 기술 자랑으로 들림 |
| 2️⃣ | 내가 어떻게 고쳤나 | 보통 여기는 다 말함 |
| 3️⃣ | 다시 안 생기게 뭘 했나 | 여기가 Think Systematically |
| 4️⃣ | 그래서 고객이 뭘 하게 됐나 | 여기 빠지면 마무리가 안 됨 |
스토리 6개 — 한 줄 뼈대
| 스토리 | 여는 말 | 중심 | 닫는 말 |
|---|---|---|---|
| ① 에러 클렌징 Big Rock |
"주간 1,500건이 쌓여서 진짜 장애가 묻혀 있었습니다" | Big Rock 제안 → 운영자·지표·사용자 3자로 정리 → 팀 발표가 VP 통해 전사 | 400건 → AI 도구까지, 팀이 씁니다 |
| ② 크래시 96→99% |
"특정 금융사 유저만 앱을 켜면 죽었습니다" | 로고URL 끝 4칸 인덱스 → 그 URL이 4글자보다 짧음 → 가드 대신 방식 교체 | 전수조사 18모듈 27건 |
| ③ 모듈화 600→300초 |
"반대는 없었는데 아무도 시작을 못 하고 있었습니다" | 크기가 문제라 크기를 줄임 → PR 26건으로 쪼갬 | 57모듈, 클린빌드 절반 (클린=병렬+중복제거) |
| ④ 디자인시스템 39모듈 |
"화면마다 버튼을 각자 만들고 있었습니다" | 20종 독립 모듈 + Interface/구현 분리 + Example 앱 | 39모듈 387파일 TF에서 함께 표준으로 정함 |
| ⑤ 앱 용량 211→101MB |
"셀룰러로 200MB를 받으라는 건 그만두라는 말입니다" | 모듈 경계를 그으니 안 보이던 중복 리소스가 드러남 | 절반. 잘못 지운 적 없음 (참조추적→빌드→QA) |
| ⑥ 마이데이터 Wow 카드 |
"사람들이 자기 돈이 어디 얼마나 있는지 모른 채 삽니다" | 3년째 오너. 기관 연동은 실패 지점이 많아 어디서 왜 끊기는지 계측 | "궁금할 때 찾아보는 게 아니라 열면 보이는 상태" |
복귀 문장 — 그대로 쓰면 된다
| 상황 | 이렇게 말한다 |
|---|---|
| 말하다 머리가 하얘짐 | "잠깐 정리하고 말씀드리겠습니다." 3초 침묵이 어색한 답변보다 낫다 |
| 딴 길로 샜다 싶을 때 | "말씀드리다 보니 옆으로 샜네요. 원래 질문으로 돌아가면—" |
| 질문을 잊음 | "질문을 다시 확인해도 될까요? ○○를 여쭤보신 게 맞을까요?" |
| 너무 길게 말함 | "여기까지가 큰 그림이고, 더 궁금하신 부분 있으실까요?" |
| 모르는 걸 물음 | "안 해봤습니다. 다만 이 문제라면 이렇게 접근할 것 같습니다—" 아는 척보다 훨씬 강하다 |
| 숫자가 기억 안 남 | "정확한 수치는 지금 확실하지 않은데, 대략 절반 정도 줄었던 걸로 기억합니다." 틀린 숫자를 확신하는 것보다 낫다 |
| 답변 중 끊김 | 그 질문 먼저 답하고 → "방금 게 첫 단계였고, 그다음에—" |
① 화면을 뒤지지 말 것. 스크롤하면 티가 난다. 이 표 하나만 보고 안 나오면 그냥 말로 푼다.
② 빈칸을 채우려고 지어내지 말 것. MTTR·완주율·크래시 분포는 없는 게 맞다. "측정하지는 못했습니다"가 정답이다.
③ 사과하지 말 것. "죄송합니다, 제가 준비를 못 해서…"는 답변 하나를 인상 전체로 번지게 한다. 담담하게 넘어가면 그 질문 하나로 끝난다.