Martin Fowler는 이 인터뷰에서 AI가 소프트웨어 엔지니어링에 미치는 영향을 단순한 “생산성 향상”이 아니라, 사고 방식 자체의 전환으로 규정한다.
그의 결론은 명확하다.
AI의 등장은 어셈블리 → 고급 언어 전환에 필적하며,
그 본질은 결정론(determinism) → 비결정론(non-determinism) 으로의 이동이다.
1. AI는 추상화의 도약이 아니라, 결정론의 붕괴다
많은 사람들은 AI를
코드 → 자연어라는 또 하나의 추상화 단계로 해석한다.
Martin Fowler의 관점은 다르다.
- 고급 언어의 핵심은 추상화 + 결정성
- AI의 핵심 변화는 비결정성 도입
즉,
| 기존 소프트웨어 | AI 기반 소프트웨어 |
|---|
| 동일 입력 → 동일 출력 | 동일 입력 → 다른 출력 가능 |
| 테스트로 완전 검증 가능 | 테스트로 “확률적 신뢰”만 가능 |
| 기계적 신뢰 | 통계적 신뢰 |
이 변화는 도구 사용법이 아니라 공학적 태도를 바꾼다.
2. 비결정적 시스템을 다루는 새로운 공학적 감각
Fowler는 이를 토목·구조 공학의 ‘허용 오차(tolerance)’ 개념에 비유한다.
- 재료는 항상 동일하지 않다
- 최악의 경우를 가정한다
- 여유 계수(safety margin)를 둔다
AI 시스템에서도 동일하다.
- “항상 맞다”는 가정은 파괴됨
- 보안·안정성 영역에서 사고 가능성 급증
- 엣지에 너무 가깝게 설계하면 붕괴
→ AI 시스템 설계의 핵심은
정확성 최적화가 아니라 실패 확률 관리
3. Vibe Coding에 대한 명확한 선 긋기
Fowler가 정의하는 vibe coding:
생성된 코드를 거의 보지 않고
“되는 것”만으로 만족하는 방식
그의 평가는 단호하다.
- ✅ 탐색·프로토타입·일회성 도구에는 유효
- ❌ 장기 유지·확장·운영 소프트웨어에는 치명적
가장 큰 문제: 학습 루프 붕괴
- 코드를 읽지 않으면
- 이해하지 않으면
- 수정·진화가 불가능
결국:
“vibe coding은 소프트웨어를 키우는 것이 아니라, 매번 폐기하는 방식이다.”
4. LLM이 실제로 잘하는 영역들
Fowler와 Thoughtworks의 실무 경험 기준, 이미 효과가 검증된 영역은 명확하다.
1️⃣ 프로토타이핑 & 탐색
- 수일 걸리던 시도를 수시간 내 반복
- 아이디어 검증 속도 급상승
2️⃣ 레거시 코드 이해
- 코드 → 의미 그래프
- 데이터 흐름·의존성 질의
- Thoughtworks Radar의 Adopt 항목으로 격상
3️⃣ 낯선 환경 학습
- 새로운 언어 / 프레임워크 / 도메인 진입
- “빈 프로젝트 스켈레톤 생성”에 매우 강력
👉 공통점: ‘이해를 돕는 도구’로 사용
5. LLM과 함께하는 새로운 워크플로우 감각
Fowler가 반복해서 강조하는 운영 원칙:
🔹 얇은 슬라이스(thin slice)
- 한 번에 조금만
- 항상 PR 단위로
- “의심스러운 협업자” 취급
🔹 인간 검증 필수
- LLM은 자주, 당당하게 거짓말함
- “테스트를 통과했다” → 실제로는 실패
🔹 테스트의 중요성 증폭
- 비결정성 환경에서 테스트는 생명선
- 테스트 없는 AI 코드는 관리 불가
6. Refactoring은 AI 시대에 더 중요해진다
Refactoring 저자인 Fowler의 판단:
- AI는 코드를 더 많이, 더 빠르게 만든다
- 즉, 품질이 낮은 코드의 양이 폭증
해결책은 예전과 같다.
아주 작고, 합성 가능한 리팩토링
AI는 리팩토링을 “대신” 해주지 못한다.
하지만 리팩토링의 필요성은 훨씬 커진다.
7. 패턴과 아키텍처가 사라진 이유, 그리고 AI 이후
2000년대 초반:
- GoF 패턴
- 엔터프라이즈 아키텍처 패턴
- 공통 언어 형성
2010년대 이후:
- 클라우드 매니지드 서비스
- “이미 잘 설계된 블록” 사용
- 패턴 담론 약화
Fowler의 관점:
- 패턴은 “설계 강요”가 아니라 의사소통 도구
- AI 시대에는 정확한 언어·DSL·유비쿼터스 언어가 다시 중요해짐
→ LLM과 협업하려면
사람–사람, 사람–AI 간 공통 언어가 필수
8. 주니어 엔지니어에게 AI는 독인가, 약인가
Fowler의 조언은 일관된다.
- AI 사용 자체는 필수
- 하지만 판별 능력 없는 의존은 위험
핵심 전략
- 좋은 시니어 멘토를 찾아라
- AI에게 “왜?”를 계속 물어라
- 출력 결과를 항상 검증하라
AI는 조수이지, 교사가 아니다.
9. Agile과 AI: 여전히 답은 피드백 루프
AI로 더 많은 것을 “한 번에” 만들 수 있다.
하지만 Fowler의 답은 변하지 않는다.
- 더 큰 배치 ❌
- 더 빠른 사이클 ✅
- 더 잦은 피드백 ✅
AI의 가치는:
사이클 타임을 줄이는 것
10. 지금 이 산업을 어떻게 봐야 하는가
Fowler의 현실 인식은 냉정하다.
- 현재의 위기는 AI 때문이 아님
- 제로 금리 시대의 종료가 본질
- AI는 별도의 버블로 공존 중
그럼에도 불구하고:
- 소프트웨어 수요는 줄지 않는다
- 개발자는 사라지지 않는다
- 커뮤니케이션 능력 + 문제 정의 능력은 더 중요해진다
결론
AI는 소프트웨어 엔지니어를 대체하지 않는다.
하지만 소프트웨어 엔지니어링을 재정의한다.
- 결정론 → 확률
- 코드 작성 → 문제 이해
- 구현 속도 → 학습 속도
- 자동화 → 판단
그리고 이 변화는 이미 시작되었다.