도메인 전문성만이 진짜 해자다
에이전트 AI의 등장으로 소프트웨어 개발의 핵심 제약은 '만들 수 있는가'에서 '옳은 것인지 검증할 수 있는가'로 이동했습니다. 이제 코드 생성은 AI가 대신하지만, 비즈니스 도메인에 대한 깊은 이해와 진짜와 가짜를 구분하는 능력은 도메인 전문가만의 무기입니다. 결과적으로 실무 도메인 지식과 엔지니어링 감각을 모두 갖춘 인재가 새로운 시대의 가장 중요한 자원이 됩니다.
2026년 5월 30일 — 소프트웨어 엔지니어링 AI — 도메인 전문성만이 진짜 해자(Moat)다
소프트웨어를 작성하는 일에서 진짜 어려운 부분은 코드를 타이핑하는 게 아니었다. 먼저 머릿속에 해당 도메인의 작동 모델을 구축하는 것이었다. 급여 시스템을 개발하려면 급여 공제(Garnishments)와 세전 공제 항목이 무엇인지, 직원의 급여 지급 주기가 급여 인상 시점에 걸쳐 있을 때 어떤 일이 발생하는지 이해해야 했다. 대중교통 앱을 출시하려면 GTFS 피드가 무엇인지, 왜 '트립(Trip)'과 '노선(Route)'이 다른 개념인지, 그리고 '제시간에 도착한' 버스가 왜 여전히 오답일 수 있는지 배워야 했다. 코드는 그렇게 쌓인 이해의 산물이었다. 그 이해를 습득하는 것 자체가 개발자의 본질적인 일이었다.
에이전트 AI(Agentic AI)는 이 둘 사이의 연결고리를 끊어버렸다. 이제는 머릿속에 도메인 모델을 구축하지 않고도 소프트웨어를 만들어낼 수 있게 되었고, 이는 우리 직업 전체가 기반하고 있던 전제를 무너뜨렸다. 작년에 내가 주장했던 것을 포함한 일반적인 견해는, 시니어 엔지니어들이 판단력을 갖추고 있기 때문에 이러한 AI 도구가 그들의 능력을 극대화해 준다는 것이었다. 사실이긴 하지만, 불완전한 진실이다. 내가 그 이후로 지켜본 변화는 훨씬 더 구체적이고 흥미롭다. 즉, 핵심적인 제약 조건이 '이것을 만들 수 있는가'에서 '이것이 올바른지 판별할 수 있는가'로 이동했다.
이런 도구를 실제로 능숙하게 다루는 사람이 누구인지 생각해 보라. 두 부류의 사람을 상상해 보자.
첫 번째는 소프트웨어 배경지식이 거의 없는 도메인 전문가다. 물류 디스패처, 임상 코더(Clinical coder), 보험 계리인 등이 있다. 이들은 스택 트레이스(Stack trace)를 읽지 못하고, 해시맵(Hash map)과 리스트(List)의 차이도 모른다. 하지만 에이전트가 생성한 배차 일정을 보고 그 어느 운전사도 법적으로 그 시간에는 일할 수 없다는 것을 즉시 알아채거나, 저 청구 코드들이면 결코 보상받을 수 없다는 것을 직관적으로 안다. 이들은 수많은 인풋과 아웃풋을 10년 동안 다뤄왔기 때문에, 주어진 인풋에 대해 어떤 아웃풋이 정확한지 알고 있다. 이들에게 에이전트를 쥐여주면 놀랍도록 효과적으로 일한다. 그들이 가장 필요로 했던 능력, 즉 코드를 생산하는 능력을 에이전트가 정확히 제공하기 때문이다. 그리고 그들이 가져오는 것은 에이전트가 결코 가질 수 없는 '실재하는 진실(Ground truth)'이다.
두 번째는 해당 도메인에서 일해본 적이 없는 뛰어난 일반적인(Generalist) 엔지니어다. 이들은 무엇이든 아키텍처링할 수 있고, 시스템 안정성과 테스트 방법, 그리고 새벽 2시에 시스템이 다운되지 않도록 유지하는 방법을 알고 있다. 하지만 이들을 임상 코딩 업무에 투입하면, 그럴듯해 보이는 오답과 실제 정답을 구별하지 못한다. 에이전트는 기쁘게 결제 규칙 코드를 생성할 것이고, 그 코드는 컴파일도 되고 엔지니어가 작성한 테스트도 통과하겠지만, 미묘하고도 비용이 크게 발생하는 치명적인 오류를 품고 있을 것이다. 엔지니어에게는 정답을 알려주는 신탁(Oracle)이 없다. 소프트웨어가 튼튼하게 잘 만들어졌는지는 검증할 수 있다. 하지만 그것이 '올바른지(Correct)'는 검증할 수 없는데, 여기서 '올바름'의 기준은 엔지니어의 머릿속에 없는 도메인 규칙에 의해 전적으로 결정되기 때문이다.
이 변화가 어느 방향으로 향하는지 주목하라. 에이전트가 등장하기 전, 엔지니어에게는 디스패처에게 없는 경로가 하나 있었다. 바로 도메인을 배우는 것이다. 천천히, 그리고 고통스럽게, 전문가를 관찰하고 스펙 문서를 읽고 프로덕션 환경에서 실수를 반복하며, 마침내 도메인에 대한 멘탈 모델을 구축하고 시스템을 개발할 수 있었다. 이 길이야말로 수많은 산업 분야에서 엔지니어의 커리어 사다리였다. 반면, 도메인 전문가에게는 이에 상응하는 경로가 없었다. 안정적인 소프트웨어를 구축하는 법을 배우는 데는 수년이 걸리며, 그들이 결코 하지 않을 일이었기 때문이다.
에이전트 도구는 이 두 경로 중 하나를 무너뜨렸다. 엔지니어의 강점이었던 '도메인 모델을 작동하는 코드로 번역하는 능력'은 이제 저렴해졌다. 하지만 도메인 전문가의 강점인 '무엇이 옳은지 아는 능력'은 여전히 저렴하지 않다. 프롬프트를 입력한다고 해서 그 지식에 도달할 수 없다. 수천 건의 급여를 조정하면서 체득한 암묵적인 지식이 담긴 스킬 파일(Skill file) 같은 것은 존재하지 않는다.
따라서 새로운 세상에서 가장 가치 있는 사람은 두 가지 기술을 모두 갖춘 사람이다. 왜냐하면 그들은 두 레이어에서 모두 결과를 검증할 수 있기 때문이다. 생성된 코드가 튼튼한지(Sound) 알고, 그 코드가 만들어낸 답이 진실인지(True) 안다. '운전사는 11시간을 초과할 수 없다'는 규칙을 알기 때문에 그것을 코드로 녹여낸 테스트를 작성할 수 있고, 자신이 무엇을 테스트하고 있는지 정확히 알기 때문에 그 테스트 자체가 의미 있는 것임을 판단할 수 있다. 에이전트는 번역(코드 작성)을 수행한다. 그리고 그들은 두 번에 걸쳐 판단(Judging)을 내린다.
만약 당신이 숙련된 엔지니어라면, 앞으로 몇 년 동안 어디에 시간과 노력을 투자할지 신중하게 베팅해야 할 것이다.