코드를 직접 치는 일이 줄고 있다. dev.to의 시니어 엔지니어 David Lozzi는 "최근 9개월간 직접 작성한 코드가 거의 없다"고 고백한다. 에이전트가 그 자리를 채웠기 때문이다. 이 발언이 불편하다면, 그 불편함이 지금 우리가 다뤄야 할 핵심이다.
더 흥미로운 역설은 다른 곳에서 온다. David Whitney는 같은 시기에 정반대처럼 보이는 주장을 내놓는다. "AI가 코드를 쓸모없게 만들었다는 생각은 완전히 틀렸다. 오히려 컴퓨터가 처음으로 코드에 의존하게 됐다." 두 주장을 나란히 놓으면 모순처럼 보이지만, 실제로는 같은 방향을 가리킨다. AI가 코드를 쓰는 시대일수록 어떤 코드를 쓰게 할 것인가에 대한 인간의 판단이 더 중요해진다는 것.
역할의 이동: 코더에서 디렉터로
Lozzi가 제시하는 패러다임 전환의 핵심은 '디렉터'라는 개념이다. 과거의 개발자가 컴포넌트를 직접 조립하는 장인이었다면, 지금의 개발자는 에이전트에게 무엇을 만들지 지시하고 결과물을 검증하는 연출자에 가깝다. 영화 감독이 카메라를 직접 들지 않아도 장면의 품질에 책임지는 것처럼.
이 전환이 시니어 엔지니어에게 상대적으로 자연스러운 이유가 있다. 이미 설계 언어로 생각하고, 큰 그림을 먼저 그린 뒤 세부 구현으로 내려가는 훈련이 돼 있기 때문이다. 반면 주니어 엔지니어는 이 지점에서 더 크게 흔들린다. 구현 경험 없이 에이전트를 지휘하려면, 본인이 뭘 모르는지조차 모르는 상태에서 방향을 잡아야 한다. Lozzi의 조언은 명확하다. "5단계 앞을 내다보는 사고 자체를 지금 당장 훈련하라." 이것이 AI 시대의 주니어에게 요구되는 새로운 근육이다.
좋은 설계가 더 중요해지는 이유
Whitney의 분석은 여기서 결정적인 뒷받침을 제공한다. 언어 모델은 인간이 작성한 코드베이스로 훈련됐다. 즉, 모델이 코드를 잘 이해하고 잘 생성하는 이유는 그 코드가 인간이 읽고 유지보수하기 위해 설계된 구조를 갖고 있기 때문이다. 기계는 원래 코드를 '읽지' 않는다. 컴파일러와 인터프리터가 기계어로 변환할 뿐이다. 그런데 LLM은 인간처럼 코드를 문맥으로 읽는다.
이 사실이 실무에 시사하는 바는 단순하다. 설계가 나쁜 코드베이스에서 에이전트를 돌리면 결과물도 나쁘다. Whitney는 이를 '바이브 코딩'의 한계로 설명한다. 방향 없이 프롬프트만 던지면 시스템은 빠르게 유지보수 불가능한 상태로 무너진다. 반대로 구조적 설계가 잘 잡힌 코드베이스 위에서 에이전트를 운용하면, 결과물이 인간이 작성한 것처럼 일관되고 확장 가능하다. 모델은 설계의 신호를 읽고 그 방향으로 확장하기 때문이다.
판단의 자리를 설계하라
두 기사를 합치면 AI-First 팀의 개발자에게 남는 작업이 선명해진다. 코드를 덜 치는 게 아니라, 더 중요한 것을 치게 된다는 뜻이다. 아키텍처 결정, 모듈 경계, 네이밍 컨벤션, 추상화 레벨—이것들이 에이전트의 출력 품질을 결정하는 입력값이 된다. 도메인 모델을 명확히 설계할수록 에이전트는 더 정확한 코드를 생성한다. 시스템 경계를 흐릿하게 두면 에이전트는 임의의 방향으로 발산한다.
팀 리빌딩 관점에서 보면, 이 전환이 요구하는 것은 역할 재정의보다 판단 프로세스의 명문화다. 에이전트에게 던지는 프롬프트 이전에 팀이 합의해야 할 것들—설계 원칙, 아키텍처 가이드라인, 코드 품질 기준—이 에이전트 운용의 실질적인 거버넌스가 된다. CLAUDE.md나 커스텀 인스트럭션이 단순한 설정 파일이 아니라, 팀의 판단 기준을 인코딩한 문서가 돼야 하는 이유다.
전망: 설계 판단력이 새로운 희소 자원
Lozzi는 "프롬프트만으로 시니어 엔지니어가 될 수는 없다"고 못박는다. Whitney는 "뛰어난 프로그래머가 모델을 운용하면 인간이 작성한 것처럼 보이는 결과물이 나온다"고 보완한다. 둘의 교차점에서 나오는 결론은 하나다. AI 시대에 희소해지는 자원은 코딩 속도가 아니라 설계 판단력이다.
에이전트가 코드를 빠르게 생성할수록, 무엇을 만들게 할지·어떤 구조로 만들게 할지·결과물의 어디를 검증할지를 결정하는 판단의 무게는 개발자 쪽으로 이동한다. 이 판단을 잘 내리는 사람이 AI-First 팀에서 가장 필요한 사람이 된다. 코드를 치지 않아도 시스템을 설계하는 사람, 에이전트에게 올바른 방향을 주는 사람. 그 자리는 자동화되지 않는다.