AI가 엔지니어를 대체할 것이라는 담론은 추상화 수준이 잘못됐다
The "AI will replace engineers" discourse has the abstraction level wrong
핵심 요약
AI는 코드 작성은 자동화하지만, 제품을 출시하고 판단하는 엔지니어의 핵심 역량은 대체하기 어렵다는 분석.
- 코드 작성 자동화 — AI는 명세에 따른 코드 생성에는 탁월하지만, 제품 기획과 의사결정은 여전히 인간의 영역임.
- 엔지니어 역할 변화 — 단순 코딩 비중은 줄고 제품에 대한 판단과 아키텍처 설계 등 고차원적 업무 비중이 커짐.
- 주니어 인력 위기 — AI가 주니어의 단순 코딩 업무를 대체하면서 신입 엔지니어의 성장 경로가 위협받고 있음.
- 핵심 역량 강화 — AI가 할 수 없는 아키텍처 리뷰, 고객 소통, 장애 대응 등 판단 중심의 업무 역량이 중요해짐.
몇 달마다 이 논쟁이 다시 불거지는데, 항상 같은 차이를 간과하고 있어. 코드를 작성하는 것과 소프트웨어를 출시하는 것은 서로 다른 직무이며, AI는 그중 하나는 매우 잘하지만 다른 하나는 거의 건드리지도 못하고 있어.
코드를 작성하는 것 — 지정된 문제를 작동하는 문법으로 번역하는 것 — 은 확실히 자동화되고 있어. Cursor, Claude Code, Copilot은 이 분야에서 정말 뛰어나고 빠르게 발전하고 있지. 만약 당신의 업무가 티켓을 받아 잘 정의된 명세에 따라 PR을 생성하는 것이라면, 생산성 곡선은 실재하며 당신은 매일 이런 도구들을 사용해야 해.
소프트웨어를 출시하는 것은 나머지 80%의 업무야. 무엇을 만들지 결정하는 것. 무엇을 만들지 않기로 결정하는 것. 기능이 과연 타당한지 제품 팀과 논쟁하는 것. 3개월 전 슬랙 스레드를 읽으며 왜 무언가가 지금처럼 되어 있는지 이해하는 것. 버그 리포트가 사실은 UX 문제임을 깨닫기 위해 고객과 한 시간 동안 앉아 있는 것. 새벽 2시에 장애를 책임지고 롤백할지 패치할지 결정하는 것. 이 중 어떤 것도 'X를 수행하는 함수를 작성하라'처럼 보이지 않아.
'대체'라는 프레임이 계속 빗나가는 이유는, 가장 눈에 띄는 업무의 얇은 조각인 '코드 출력'만을 보고, 특정 코드베이스, 팀, 제품에 걸쳐 축적된 판단력이라는 두꺼운 부분을 무시하기 때문이야. 그 부분은 자동화하기에 충분히 명확하지 않기 때문에 자동화되지 않아. 그것은 사람들의 머릿속과 반쯤 기억나는 설계 문서 속에 존재하거든.
빠르게 변하고 있는 것은 그 비율이야. 예전에 업무 시간의 60%를 코딩에, 40%를 판단 업무에 썼던 엔지니어들이 20/80으로 이동하고 있어. 판단 업무가 이제는 전체 업무가 된 거지. 이에 적응하는 팀은 더 적은 인원으로 더 많이 출시해. 적응하지 못하는 팀은 시니어 엔지니어들이 조용히 더 가치 있어지는 반면 주니어 파이프라인은 말라가는 것을 보게 될 거야. 왜냐하면 주니어의 입문 자리는 '시니어가 명시한 코드를 작성하는 것'이었는데, 그 자리를 AI가 실제로 차지하고 있기 때문이지.
실제로 내가 효과를 본 방법은 다음과 같아: 기계적인 부분에는 AI를 공격적으로 사용하고, 자동화되지 않는 부분인 아키텍처 리뷰, 사고 사후 분석, 고객 대화, 물려받은 코드베이스 읽기 등에 열심히 투자해. 3년 뒤에 AI가 이미 더 빠르게 할 수 있는 일밖에 못 하는 엔지니어들은 비싼 인력이 될 거야.
'AI가 엔지니어를 대체한다'는 말의 솔직한 버전은 'AI가 엔지니어들이 예전에는 시간의 절반을 쏟았던 특정 활동 하나를 대체한다'는 거야. 이건 엄청난 일이지. 하지만 헤드라인과는 매우 달라. 실제로 이 구조에 맞춰 팀을 재편한 사람이 있다면, 무엇이 바뀌었고 무엇이 무너졌으며, 무엇을 더 일찍 했어야 했다고 생각하는지 듣고 싶어.
