60분 Q&A · 문제 클리닉 — 진행 치트시트

개발자 대상 · 현장 문제 → 내 경험으로 즉답 → 토론 → action 1줄. 정답 주는 자리 아님, 같이 푸는 자리.

진행 타임박스 표류 방지: 각 테마 타이머 ON

0–5′ 프레이밍
안전한 분위기
5–15′ 문제 수집
각자 막힌 것 1개
15–20′ 클러스터링
3–4 테마로 묶기·투표
20–55′ 테마별 논의 (테마당 8–10′)
구체화 → 내 경험 즉답 → 방에 열어 토론 → action 1줄
55–60′ 랩업
공통 패턴 3 + 각자 1개
오프닝(그대로): "정답을 드리는 시간이 아니라, 여러분이 지금 막혀 있는 걸 제 경험에 비춰 같이 푸는 시간입니다. 틀린 질문 없어요. 지금 AI 코딩에서 제일 막히는 것 하나씩 꺼내주세요."

탄약 ① — "과하게 설계하라"의 3기둥 깊은 질문 나오면 여기로

1. 아키텍처 (DDD+FC/IS)

  • 도메인 = pure function → LLM drift↓ + unittest 전 케이스
  • BC 격리 = 병렬 개발 = 속도 (AI 빨라도 직렬이면 병목)
  • 스펙 = 모든 결과물의 SSoT

2. Lint + hook (집행)

  • layer·BC leak 차단
  • cyclomatic 등 비효율 차단
  • 도메인 건드렸는데 스펙 안 고치면 빌드 깸
  • 사람엔 과하지만 LLM엔 일관성의 유일한 길

3. 테스트 피라미드 6단

  • 격리 도메인 unittest
  • stub integration (빠름)
  • full integration CI
  • FE UI smoke
  • fake server e2e
  • full e2e: 시나리오+PM AC+예외 CI

탄약 ② — 실패담 3개 (즉답에 끼워넣기)

A. green은 거짓말

AI가 짠 e2e가 fake(통과하지만 검증 0). stage happy-path QA에서 평범한 기능이 터짐.

→ Q2·Q3 답에

B. 각자 green인데 통합 깨짐

FE/BE 따로 → 필드·타입·null·에러코드 전부 어긋남. 단위테스트 다 green인데 통합 망가져 딜레이.

→ Q4 답에

C. AI는 빠른데 병목

코드 쏟아지니 멀쩡했던 아키텍처가 병목. 핵심 로직 의존성 껴서 e2e만 믿어 불안.

→ Q1·Q8·Q11 답에

예상 문제 12 → 즉답 [ ]=연결할 탄약

1레거시에 어떻게 적용? 숨은 의존성을 AI가 건드린다
BC로 경계 긋고 write-scope를 가둔다. AI가 만질 표면을 좁힌다. 레거시일수록 과하게 설계. 현 동작은 characterization test/e2e로 박제.
[기둥1 · 스카C]
2LLM 리뷰를 어떻게 믿나?
dev/review 모델 분리. 신뢰 단위는 코드 라인이 아니라 스펙↔테스트 gap. 사람은 경계·계약·마이그레이션·보안만 본다.
[스카A]
3테스트 green인데 틀리면?
관측 가능한 모든 시나리오를 e2e로, gap 0. AI가 짠 테스트는 fake일 수 있다 → 시나리오·AC는 사람이 정의한다.
[스카A · 기둥3]
4FE/BE 통합에서 LLM drift
contract-first. 계약부터 합의하고 양쪽 구현. 사람이 짤 때도 같은 원리.
[스카B]
5팀 도입 저항 (시니어 불신 / 주니어 의존)
말 말고 더미 MVP로 보여준다. 주니어는 모호함 제거(스펙·아키텍처 사고)를 훈련 — 타이핑이 아니라.
6토큰/구독 비용이 정당화되나?
"의도한 거 아닌데" 재작업 비용과 비교하라. 더미 MVP가 없애는 합의 비용이 토큰비보다 훨씬 크다.
7보안/기밀 — 회사 코드를 LLM에?
정책 먼저. 무엇을 컨텍스트에 넣고 뺄지 경계를 정한다. (우리 팀 실제 기준 공유)
8컨텍스트 한계 — 큰 변경 일관성 깨짐
BC 단위로 쪼개면 컨텍스트도 BC 안으로 제한된다. 과한 설계 = 컨텍스트 관리.
[기둥1 · 스카C]
9언제 AI를 쓰지 말아야 하나?
경계 불명확 / 진짜 새 아키텍처 결정 / 한번 틀리면 비싼 마이그레이션. 사람이 모호함을 먼저 지운 뒤 AI.
10생산성이 진짜 늘었나? 측정?
리드타임·재작업률·의도 불일치 빈도로 본다. 숫자 있으면 정직하게, 없으면 없다고.
11lint 과하게 = 마찰 아닌가?
AI가 lint를 다 맞춰주니 사람 마찰은 오히려 준다. layer/BC leak·cyc·"도메인 건드렸는데 스펙 안 고침"까지 빌드 깸.
[기둥2]
12우리 스택/도메인에도 되나?
원칙(모호함 제거·write-scope 격리·계약 우선)은 이식 가능. 도구(DDD)는 선택지일 뿐.
랩업(55–60′): 오늘 나온 문제를 관통하는 공통 패턴 3개를 내가 짚는다(보통: ① green ≠ correct ② 사람은 코드가 아니라 시나리오·계약·구조를 책임진다 ③ AI 시대엔 과한 규율이 일관성의 수단). → 각자 월요일에 시도할 것 1개씩 말하고 끝.