AI시대: 코딩은 진화 중, 사라지지 않는다.

최근 생성형 AI의 발전으로, AI가 코딩을 대신할 수 있다는 이야기가 들려옵니다.

앤트로픽의 최근 보고에 따르면, 컴퓨터 프로그래머가 AI에 가장 많이 노출되었으며(노출도 약75%), 신입 진입 장벽이 높아지고 있으며 향후 고용 성장 속도가 둔화될 가능성이 큰 직군으로 분석되었습니다.

​또, 대학에서 전산학과 지원자 수가 줄었다는 소식도 들립니다.

​하지만, 제가 바라보는 관점은 조금 다릅니다.
AI가 코드를 대신 작성해 주는 시대에, 역설적으로 코딩의 본질은 더욱 선명해지고 있기 때문입니다.

코딩의 본질은 추상과 논리다.
코딩에서 ‘특정 언어의 문법에 따라 손가락으로 키보드를 두드리는 행위’는 지엽적 일부에 불과하다.
반면, 추상과 논리는 기술 습득과 무관한 본질적 능력이다.

출처: [삼성전자 뉴스룸] 바보야-문제는-코딩이-아니야 by 임백준

​본 포스팅에서는 AI시대에 우리가 집중해야 할 코딩의 본질과 개발자의 역할에 대해 정리해 보았습니다.


목차


코딩은 사라지지 않는다.

요즘 기사만 보면, 사람이 말하듯이 자연어로 필요한 것을 이야기 하면, 소프트웨어가 뚝딱 만들어질 것 같습니다.
실제로 비 전공자가 AI를 이용해서 몇시간 만에 앱을 만들고, 개발 시간이 획기적으로 단축되었다는 이야기를 심심치 않게 들을 수 있습니다.

​하지만, 이러한 관점은 ‘코딩’이라는 행위를 아주 단순하게 축약해버렸을때의 이야기 입니다.
코딩을 좁게만 보면 단순히 프로그래밍 언어 문법에 맞춰서 로직을 코드로 변환하는 행위로 볼 수도 있지만,
실제 코딩은 필요한 로직을 논리적이고 오류없이, 효율적으로 설계하는 과정 전체를 의미합니다.

​코딩, 혹은 소프트웨어 개발의 역사를 살펴보면, 점점 더 추상화 되는 방향으로 발전을 해 왔습니다.

  • 천공카드, 어셈블리에서 하이레벨 언어 (HIgh level language)로의 변화
  • 절차형(Procedural) 에서 객체지향(Obect-oriented), 함수형(Functional)로의 변화
  • 소프트웨어 플랫폼의 등장 및 수많은 프레임워크들의 등장

​새로운 방법론이나 도구, 기술이 등장할때 마다. 코딩은 쉬워질 것이고, 과거 기술은 사라질 것이라는 예측은 늘 있어왔으나, 현실은 전혀 그렇지 않았습니다.

AI를 이용한 ‘바이브 코딩(Vibe Coding)’은 하이레벨 언어의 등장에 버금가는, 혹은 그 이상의 의미가 있을 것입니다.
자연어 인터페이스라는 최상위 수준의 추상화 계층이 등장한 것이죠.

​하지만 하이레벨 언어가 코딩 자체를 없애지 않았듯, AI 역시 코딩의 형태를 변화시킬 뿐 그 본질을 대체할 수는 없습니다.
AI가 구현(Implementation)의 속도를 비약적으로 높여준 것은 사실이지만, 무엇을 어떻게 만들지 결정하는 논리적 설계의 책임은 여전히 인간에게 남아 있으니까요.

​그런 의미에서 코딩이 사라진다는 것은 말이 안되고, 오히려 코딩의 형태가 변하고 있다고 보는 것이 정확합니다.

 


충분히 상세한 명세는 곧 코드다

생성형 AI의 본질은 결국 정보를 부풀리는(Generation) 것에 있습니다.
적은 양의 정보(프롬프트)를 입력받아 많은 방대한 양의 결과물(글, 코드 등)로 변환하는 과정이죠.​

​채워야 할 정보가 AI의 기존 학습 데이터 내에 있거나, 학습 데이터로부터 추론 가능하다면 다행이지만,
그렇지 않다면 AI는 그럴싸한 오답(Hallucination)을 내놓거나 뻔한 답변만 반복하게 됩니다.

​결국, 좋은 결과를 얻기 위해서는, 필요한 맥락(Context)과 지식을 충분히 제공하여, AI의 고민을 줄여주어야 합니다.

​이런 관점에서 볼 때, AI가 원하는 코드를 작성하게 하기 위해서 전달해야 하는 가장 완벽한 명세는,
결국 ‘코드’에 준하는 구체적인 정보가 되어야 합니다. 

​예외 상황을 고려하고 비즈니스 규칙을 명확히 정의하며 데이터의 흐름을 상세하게 기술한 명세가 있다면,
그것은 이미 실행 가능한 코드의 논리 구조를 모두 갖춘 셈입니다.


AI 시대, 개발자의 새로운 역할

이제 개발자는 단순히 구문을 작성하는 사람이 아니라,
시스템이 반드시 지켜야 할 원칙과 논리를 설계하는 ‘아키텍트’로서의 역량이 더욱 중요해졌습니다.

​이제 엔지니어링의 영역은 프롬프트와 컨텍스트 엔지니어링을 넘어,
AI의 결과물을 시스템에 안전하게 결합하고 검증하는 하네스 엔지니어링(Harness Engineering)으로 확장되고 있습니다. 

하네스 엔지니어링(Harness Engineering)

AI 에이전트가 안정적으로 작동할 수 있도록 환경·제약·피드백 루프를 설계하는 것.
프롬프트를 잘 쓰는 것을 넘어, 에이전트가 일하는 시스템 전체를 설계하는 작업

앞으로 개발자에게 요구되는 핵심 역량은 다음과 같습니다.

  • 비즈니스 로직을 AI가 오해 없이 이해할 수 있도록 구조화하는 능력
  • 요구사항을 AI가 실행 가능한 단위로 쪼개고 유기적으로 결합하는 능력
  • AI가 알 수 없는 특수한 예외 케이스와 도메인 지식을 주입하는 능력
  • AI가 생성한 결과물이 명세와 일치하는지 확인하고 최종 품질을 책임지는 능력

개발자의 본업은 ‘코딩’이 아니고 ‘사유(Reasoning)’이다.

코딩의 역사에서 ‘코딩’의 도구는 늘 변해왔습니다.
AI 역시 새로운 형태의 추상화된 고도로 발전된 도구이자, ‘자연어’를 인터페이스로 하는 도구 일 뿐입니다.​

코드를 작성하는 방법(How), 즉 도구와 방식은 시대에 따라 변해왔습니다.
하지만, 무엇(What)을 만들지 요구사항을 정리하고 방향을 결정하는 일은 바뀐적이 없습니다.

최종 결정과 책임은 여전히 인간의 몫이죠.

​이제 우리는 질문을 바꿔야 합니다.
‘AI가 코딩을 대신할 수 있는가?’라는 물음은 더 이상 중요하지 않습니다.

본질적인 질문에 집중해야 합니다.

​​개발자의 본업은 타이핑이 아니라 사유(Reasoning)에 있습니다.

ChulJoo Kim (김철주).

※ 관련 글

ckarch.kr © 2026 is licensed under CC BY-NC-SA 4.0 CC BY NC SA

댓글 남기기