AI의 가능성과 불가능성

March 16, 2026

AI에 대해서 이야기를 하지 않는 사람들이 없다. 특히나 개발 쪽에 있는 사람들은 모두 적지 않은 충격을 받은 것 같다. 나의 SNS 피드는 온통 어떻게 AI를 사용하고 있는지, AI를 사용하지 않으면 뒤쳐질 것이기 때문에 어떻게 해야 한다던지, 나의 일자리가 없어 질것 같다던지, 그런 말들은 모두 공포 마케팅이라던지 하는 말들로 가득하다.

2025년 말 부터 개발자 커뮤니티가 많이 바뀐 것 같다. Claude Code의 성능도 좋아지고 ClawdBot 과 같은 툴들도 등장 하면서 개발 업무 자체는 상당히 많은 부분이 자동화가 가능해 지기 시작 한 것 같다. 이런 상황에서 최근에 만난 서로 다른 두 친구가 나에게 100% AI로 개발을 하라고 강하게 권유를 하였다. 본인들도 더 이상 직접 코딩을 하지 않는다고 했다. 처음에는 머뭇 거렸지만 서로 다른 두 명이 나에게 강하게 권유를 하니 한번 해보자는 생각이 들었다. 나 역시 이제는 직접 코딩을 하지 않는다.

개발과 무관한 곳에서도 AI에 대한 관심은 점점 많아지고 있다. 다양한 매체에서 장강명 작가의 ‘먼저 온 미래’를 추천 하였다. 내가 최근에 참여하고 있는 북클럽에서도 ‘먼저 온 미래’를 읽고 있다. 이 책을 읽으면서 느끼는 놀라움은 바둑과 코딩의 유사성이 꽤나 많다는 것이다. 이 책이 출판 될 때 까지도 AI의 습격은 바둑계에만 해당되는 이야기 였을 것이다. 하지만 지금 시점에서 책을 읽으면 바둑 기사가 아니라 소프트웨어 개발자로 바꿔서 읽어도 전혀 위화감이 없는 이야기로 다가온다.

이러한 일련의 사건들이 나로 하여금 AI에 대한 여러가지 생각을 하게 되었다. 이러한 생각을 기록하고 공유 하고자 이 글을 쓴다. AI는 바둑, 문학 등 광범위하게 영향을 미치지만 일단 이 글은 대체로 소프웨어 엔지니어링에 대한 이야기만 한다. 현재 내가 인식하고 있는 상황을 정리 해 보고, 과거에 이미 이루어졌던 담론들과 새롭게 우리가 생각해 봐야 할 것들이 무엇인지, 앞으로 어떻게 될 것 같은지 나의 생각을 정리 한다.

나 스스로 질문을 던지는 방식으로 내 생각을 정리 했는데 왠지 모르게 이번에는 그 방식이 편했다. 나도 지금의 상황이 혼란스러워서 그런 것 같다.

용어에 대해 먼저 잠깐 이야기 하자면, 이 글에서는 코딩, 프로그래밍, 소프트웨어 엔지니어링을 같은 의미로 혼재해서 사용한다. 이 용어들을 구분해서 쓰는 사람들도 있다는 것을 알지만 이 글에서는 편의상 혼재해서 사용한다.

현재: 내가 인식하는 지금 AI의 상황

AI를 활용한 코딩은 나는 그래도 꽤 했다고 생각 한다. 자동 완성 기능은 계속 사용해 왔었고 AI에게 코드 리뷰를 항상 받아 왔었다. AI agent에게 코딩을 시켜 본 것도 간간히 해 왔다. 아예 모든 코딩을 AI에게 시키고 내가 코딩을 직접 하지 않은 것이 얼마 되지 않은 것이다. 본격적으로 AI를 coding agent로 사용 한 것은 얼마 안되었다고 볼 수 있다. 지금도 Coding agent를 여러개 돌리지 않는다. 하나만 사용하며 AI가 작성한 모든 코드를 체크한다. 이 정도로 AI를 활용하는 사람의 생각이라는 것을 염두하길 바란다.

AI가 코딩을 잘 하는가?

코딩 또는 프로그래밍의 실력이라는 것이 절대적으로 평가가 가능하다고 생각 할 수 있는데, 사실 굉장히 주관적인 평가만이 가능한 분야이다. 실력을 논하려면 좋은 코드의 기준이 있어야 하는데 이것이 너무 모호하다. 제대로 실행이 되는 것은 기본인데 그 외의 요소들은 주관적일 수 밖에 없다. 팀마다 다른 기준을 가지고 있을 수 있고, 목표하는 것이 무언가인가에 따라도 달라 질 수 있다. 누군가는 가독성을 최우선으로 생각하고 누군가는 간결함을 최우선으로 둔다. 누군가는 긴 변수명을 선호하고 누군가는 짧은 변수명을 선호한다.

그래서 AI가 코딩을 잘 하는지 잘 못하는지 이야기를 하는 것이 나는 큰 의미가 없다고 생각한다. AI가 작성한 코드들을 보면서 대체 왜 이렇게 하는지 이해가 안되는 경우도 있다. 분명히 내 기준에 나쁜 방식으로 코드를 짜는 경우도 있다. 확실히 말 할 수 있는 것은 AI가 문제 없이 동작하는 코드를 작성하기 시작 했다는 것이다. 불과 1년 전만 해도 이 수준이 아니었다. 그리고 이 정도만으로도 충분한 경우가 많이 있기 때문에 많은 사람들이 유용하게 사용 하는 것이 아닐까?

나의 경험으로서 이야기 해보자면 AI가 잘 하는 것은 인간의 인지 능력 (사고 능력이 아니다)의 한계가 큰 영향을 미치는 것들이다. 예를 들어서 대량의 로그를 보고 문제를 찾아 낸다던지 (인간은 눈으로 보더라도 그냥 지나치기 쉽다) 코드 구석 구석 수정 해야 할 부분들을 꼼꼼하게 찾아 낸다던지 하는 것들을 확실히 잘한다. AI가 또 잘 하는 것은 정해진 방법이 있는 것들을 잘 한다. 지금 이 블로그도 AI가 만들었다. 원래는 워드프레스에 있었는데 개인 홈페이지로 옮겨왔다. 데이터 변환도 다 AI가 했다. 블로그라는 것은 이미 어떤 기능이 필요하고 어떻게 만들어야 하는지 뻔하기 때문에 AI와 거의 대화를 하지 않아도 원하는 대로 만들 수 있었다.

AI가 아직 잘 못한다고 생각하는 것은 구조를 짜는 것이다. 제로 베이스에서 구조를 만들라고 하면 잘 만드는것 같긴 한데, 이미 존재하는 코드 베이스에서 어떤 기능을 추가 하기 위해서 구조를 변경 해야 할 때 플랜을 짜라고 하면 꽤나 자주 별로인 구조를 제안했다. 보통은 무언가를 빼먹기 보다는 지나치게 복잡한 구조를 만든다. 그 구조가 틀리거나 동작을 안 할 것 같지는 않았다. 하지만 더 간단한 방법이 분명 있는데 그 길을 가지 않는다.

그래서 AI가 코딩을 잘 하는가에 대한 대답을 하긴 어렵다. AI가 좋은 소프트웨어 엔지니어가 될 수 있는가에 대한 나의 대답은 아직은 아니다. 그렇다고 AI가 유용하지 않다는 것은 아니다. 매우 유용하다고 생각 한다. 이는 생산성에 대한 이야기로 이어진다.

AI가 생산성을 높이는가?

이 질문에는 확실하게 그렇다고 말 할 수 있다. 목적이 뚜렷한 구현을 굉장히 빠르게 할 수 있다. AI가 생각이나 추론을 덜 하게 할 수록 빠르고 만족스러운 결과를 얻는 것 같다. 그래서 점점 task를 설명 할 때 자세하게 작성을 하게 된다.

AI에게 일을 시키면서 내가 논문을 쓰던 과정에서 습득한 능력이 유용하다고 느꼈다. 공학 논문을 쓰다 보면 내가 만든 시스템을 자세하게 말로 설명해야 하는 경우가 많다. 내가 대학원에서 배운 것 중에 하나는 생각보다 자세하게 설명해야 사람들이 이해를 한다는 것이다. 그 전에는 ‘이 정도만 설명해도 알아 듣겠지’ 라고 생각 했었는데 논문을 쓰면서 추상적인 시스템을 자연 언어로 어떻게 설명해야 하는지 배웠다.

AI에게 일을 시키는 과정도 똑같다. 내가 시스템을 짜고 이걸 말로 잘 설명해야 한다. 그래야 AI가 잘 동작하고 결과적으로 생산성이 높아지는 것 같다.

점점 직접 코딩을 하는 것 보다 AI에게 일을 시키는 양이 더 많아질 것이고 그러면 머리속에 있는 것을 코드로 표현 하는 것 보다 자연언어로 표현 하는 것이 더 중요해 지게 된다. 이것이 코딩을 하는 것과 크게 다르지는 않은 것 같다. 단순히 사용하는 언어가 달라지는 것이라고 나는 느껴진다. 물론 AI가 코딩을 하게 하면 정말 디테일한 부분을 내가 입력 할 필요는 없다. 예를 들어서 반복문이나 조건문을 내가 직접 입력하지는 않기 때문이다. 하지만 알고리즘 또는 시스템에서 세세한 부분들을 설명 해야 하는 것은 맞다.

이렇게 본다면 개발자, 다른 말로는 소프트웨어 엔지니어가 하는 일의 모습은 많이 바뀔 것 임을 알 수 있다. 업무의 본질이 바뀐 것 같지는 않다. 결국 시스템을 만드는 주체는 인간이기 때문이다. 하지만 이러한 변화로 인해서 많은 개발자들은 개발 관련 일자리가 줄어들 것을 염려하는 것 같다. 이와 관련된 이야기를 해보겠다. 사실 이 이야기는 이미 논의가 되고 있던 이야기였다. 살짝만 과거로 가보자.

과거: 이미 하던 이야기들의 반복

앞으로 개발자는 덜 필요해 질까?

결론부터 말 하자면 나는 그렇지 않다고 생각 한다. 이미 어떤 기사들을 보면 소프트웨어 엔지니어 일자리가 늘어나고 있다는 기사들도 있는데, 나의 견해도 같다. 앞으로 개발자는 더 많이 필요해 질 것 이라고 생각 한다.

Ghost Work 라는 책을 보면 The paradox of automation’s last mile이라는 개념이 나온다. 이 개념은 아무리 자동화를 해도 인간의 일은 줄어들지 않는다는 개념이다. 쉽게 이야기 하면 이렇다. 초기 AI 모델들을 만들기 위해서는 데이터를 라벨링 하는 일을 많이 해야 했다. AI 모델이 발전 하면서 라벨링을 하는 일은 쉬워졌다. 하지만 그렇다고 해서 인간의 노동이 줄어 들지는 않았다. 하나의 데이터에 대한 라벨링을 하는 것은 쉬워 졌더라도 그만큼 더 많은 데이터를 라벨링 해야 한다. 더 나은 모델을 위해서는 더 많은 데이터가 필요하기 때문이다. 지금 LLM들을 생각해 보자. LLM을 만드는 회사들이 더 이상 데이터에 관심이 없을까? 아니다 그들은 더 많은 데이터를 원한다. 스케일이 커질수록 성능이 증가하는한, 모델이 발전하더라도 더 많은 데이터를 원한다. AI를 학습 하는 과정에서 사람의 인풋도 들어간다. 사람의 일은 줄어 들지 않는다.

위에서 이야기 한, AI를 열심히 쓴다는 친구들의 이야기를 들어보면 정신적으로 더 힘들어 졌다고 말 한다. 업무의 수준과 강도는 더 많이 늘어났다. 왜냐면 코딩을 안 할 뿐이지 AI의 결과물을 확인하고 판단하는 일은 계속 되기 때문이다. 쉴세없이 AI가 내뿜는 결과물들을 사람이 처리해야 하는데 그 업무강도가 상당하다는 것이다. 이 친구들 모두 굉장히 소수로 이루어 진 팀에서 일을 하고 있다. 만약 AI가 인간이 해야 하는 일을 줄여준다면, 내 친구들의 삶은 더 편해져야 할 것이다. 나의 친구들의 사례를 보면 개발자의 할 일은 앞으로 더 늘어났으면 늘어났지 줄어들지는 않을 것이라는 증거이다. 개발자들이 해야하는 일이 줄어들지 않는데, 개발자가 줄어들까? 단지 개발자가 하는 일이 달라지는 것일 뿐이다.

먼저 온 미래에도 비슷한 이야기가 나온다. 바둑 인공지능이 나오고 나서 바둑 기사들의 삶은 전혀 나아지지 않았다. 그들이 공부해야 하는 양과 경쟁 강도는 그대로다. 단지 공부를 하는 과정에서 인공지능을 활용하고 바둑을 두는 방식이 바뀌었을 뿐 그들의 삶은 비슷하게 힘들다. 왜냐면 그들은 인간과 경쟁하기 때문이다. 나의 경쟁 상대가 노력을 하는 만큼 나도 노력을 해야 하는것이지 인공지능의 존재는 큰 변화를 가져오지 못한다. 사회의 시스템이 변하지 않는한 인공지능은 사람들의 삶을 나아지게 하지 않는다. 소프트웨어 업계도 마찬가지다.

우리의 노동 시간을 줄이는 것은 기술이 아니라 사회 운동과 정치다. 이것은 산업 혁명 때 부터 그랬다. 기계가 등장했지만 우리는 아이들을 노동 시장에 투입했고 하루에 10시간이 넘는 노동을 해야 했다. 이것을 멈춘것은 정치지 기술이 아니다.

소프트웨어는 없어지는가?

어떤 사람들은 앞으로 소프트웨어를 모두가 만들어서 쓸 것이라는 논리로 개발자가 필요 없어 질 것이라고 이야기 한다. 비슷한 담론이 있었던 분야가 있는데 바로 3D 프린팅 분야이다. 3D 프린터가 나오면서 기술 옹호론자들은 앞으로 사람들이 온라인 쇼핑몰에서 물건을 사지 않고 직접 만들어 쓸 것이라고 이야기 했다. 하지만 그렇지 않았다. 3D 프린팅을 활용하면 배송 보다 훨씬 빠르게 물건을 사용 할 수 있음에도 말이다. 물론 3D 프린터를 사고 셋팅하는 과정이 번거롭기 때문에 대중화가 안된 점이 분명 있다. 하지만 동시에 나는 사람들이 직접 무언가를 만드는 것을 그다지 좋아하지 않는다고 생각 한다. 이미 내 목적을 달성 할 수 있는 도구가 있는데 왜 굳이 내가 다시 무언가를 만들어야 하는가? 배달 음식이 먹고 싶으면 배달의 민족을 사용하지 내가 배달 앱을 만들지는 않을 것이다. 아무리 to-do 리스트 앱을 뚝딱 만들 수 있다고 해도 아이폰 기본 리마인더 앱을 쓰는게 훨씬 편하다. 잘 만들어진 소프트웨어의 가치는 굉장히 크다.

비슷하게 SaaS들이 사라질 것이라는 이야기에도 나는 동의하지 않는다. 한번 만들어서 유지보수를 안 할것이라면 모를까 그것이 불가능하다는 것은 모두가 알고 있다. 유지 보수도 AI로 하면 되지 않느냐 생각 할 수 있는데 이것이 바로 위에서 말한 the paradox of automation's last mile이다. AI를 활용해서 누군가는 내부 툴을 계속 관리 해야 한다. 그걸 계속 하다 보면 사실상 본인이 SaaS 제품을 새로 하나 만들게 되는 꼴이 되는데, 본질과 관계없는 제품을 만드는게 회사 입장에서 좋을까?

미래: 어디로 수렴 하는가?

CS 전공을 하는 것은 의미가 없는가?

AI의 등장으로 학교에서 어떤 일이 일어나고 있는지 궁금했다. 컴퓨터 전공자들의 취업률이 떨어지고 있다는 기사가 나오는 것을 보면 과연 이 학과에 미래가 있는지 고민 하는 것은 당연해 보인다. 여기에는 두 가지 질문이 혼재 되어 있다.

  1. CS 전공을 해서 먹고 살 수 있는가?
  2. 학교에서 배우는 CS 지식이 의미가 있는가?

일단 1번에 대해서는 이미 위에서 이야기를 한 바가 있다. CS 전공자는 앞으로 더 많이 필요할 것 같기 때문에 먹고 살 걱정을 할 필요는 없을 것 같다. 2번에 대해서 이 섹션에서 좀 더 이야기를 해보고 싶다.

아마 학교에서 많은 학생들이 AI를 사용해서 과제를 하고 있을 것 같다. AI가 구현을 다 해주는데 수업에서 배우는 것이 의미가 있는가라는 질문을 던질 수 있다. 그럼에도 불구하고 나는 학교의 수업은 중요하다고 생각 한다. 학부 수준에서 배우는 것들은 모두 기술의 수준과 무관하게 필수적인 것들이다. 양자 컴퓨터가 나와서 아예 패러다임이 바뀌지 않는한 말이다. AI 수준의 변화로 CS 과정의 내용을 무의미하게 만들 수는 없다고 생각 한다. 이미 우리는 어셈블리 언어를 사용하지 않을 때 어셈블리어로 코딩을 하는 수업이 있었다. 그것은 우리가 어셈블리어를 사용해서 그런 수업을 한게 아니라 더 근원적인 원리를 배우기 위한 것이다. 초등학교에서 1+1=2 임을 배울 때 사과와 같은 실물을 가지고 예시를 들면서 배운다. 왜 바로 계산기를 알려주지 않을까? 그렇게 하면 원리를 이해하지 못하기 때문이다. 그러다가 큰 수의 덧셈으로 넘어가게 되면 기계적으로 덧셈을 하는 방법을 배운다. 그리고 나서 계산기를 사용하는 과정으로 넘어가는 것이다. CS 학부 과정도 이와 다를 것이 없다고 생각한다. 그렇기 때문에 학부 과정에서 특정 수업들에서는 AI 사용을 금지해야 하지 않나 싶다. 계산기를 의도적으로 사용하지 않아야 하는 시기는 분명 있다고 생각한다.

AI를 덜 사용 할 수록 도태 되는가?

인터넷에 보면 AI agent를 얼마나 많이 돌리는지 자랑하는 글들도 보이고, 바이브 코딩으로 얼마를 벌었다는 이야기도 심심치 않게 보인다. 이 모든 글들은 내가 AI를 사용하지 않으면 도태 될 것 같은 기분을 들게 만든다. 이런 이야기들은 보통 생산성이 높은 사람 또는 회사가 성공을 하고 그렇지 않은 쪽이 실패 한다는 가정을 하는데 이 가정 자체가 나는 틀렸다고 생각한다.

먼저 너무나도 단순하게 많은 코드를 작성 하는 것이 소프트웨어의 성공을 의미하지는 않는다. 인터넷에 너무나도 바이브 코딩 신봉자들의 이야기가 많기 때문에 그에 대한 반발인지 반대의 글들도 요즘 많이 보이기도 해서 이 관점에서의 의견은 동어 반복 같아 굳이 덧붙이지는 않겠다.

내가 가지고 있는 또 하나의 관점은, 속도 보다 방향이 중요하기 때문에 생산성은 성공을 담보하지 않는다는 것이다. 보통 스타트업계에 있는 사람들이 이야기 하는 것과는 다르다. 여러 스타트업들의 이야기를 보고 들은 나의 결론은 보통 스타트업들은 속도가 느려서 망하는건 아닌것 같다. 방향을 잘못 잡아서 망하는 것이지. 방향만 맞다면 느리게 가도 죽지는 않는것 같다. 속도가 느려서 망한다는 것은 다른 말로 하면 이미 선발 주자가 있는 경우에는 대부분 실패한다는 말과 같다. 하지만 그렇지 않은 경우를 우리는 많이 보았다. MP3 플레이어는 아이리버가 먼저 만들었지만 결국 애플이 승리 했고, 마이스페이스가 있었지만 페이스북이 나왔으며, 수많은 노트 앱이 있었지만 노션이 나왔다. 수십개의 agent와 일해도 방향이 틀리면 망하고, 내가 직접 코딩을 해도 방향이 맞으면 성공한다.

Fail fast를 하기 위해 속도가 빠른 것이 중요하다고 할 수 있다. 하지만 fail fast를 하는 과정에서는 오히려 생산성이 중요하지 않기 때문에 AI를 많이 쓰고 적게 쓰고는 큰 의미가 없다. 수십개의 agent를 사용하는 순간 fail fast, rapid prototyping 철학에 위배 된다고 생각 한다. 보통 하나의 가설을 검증 하기 위해서 만들어야 하는 artifact의 크기는 그리 크지 않다.

너무 회사의 관점에서 이야기 했는데 취업자의 관점에서 보아도 AI와 무관하게 CS에 대한 탄탄한 지식과 훌륭한 개발 능력이 있는 것은 매우 중요하다고 생각한다. 고용인의 입장에서 생각해 보자. 형편 없는 CS 지식과 개발 능력을 가지고 있지만 AI 활용을 잘 하는 사람과, AI 활용은 잘 못하지만 정말 능력이 뛰어난 개발자 중에 누굴 뽑고 싶을까? 전자는 뽑을 이유가 없다. 그냥 내가 하면 된다. 지식이 전혀 없어도 할 수 있다면 고용인도 충분히 할 수 있는 것이다. 후자의 경우 AI를 활용하는 방법을 알게 되면 더 뛰어나게 업무를 할 수 있다. 때문에 둘 중에 한 명을 꼭 뽑아야 한다면 후자를 뽑는 것이 회사에 더 유리할 것이다.

마치며

나의 의견들 중에 동의 하지 않는 부분들이 있을 수 있다. 그렇다면 이런 생각을 하는 사람도 있구나 정도로 이해해 주길 바란다. 너무 빨리 변하기 때문에 내가 한 모든 말들이 틀리다는 것을 불과 몇 달 뒤에 알게 될 수도 있다. 어쩌다 맞는게 있다면 운이 좋아서일 것이다. AI가 가져오는 변화는 매우 크다. 내가 일 하는 방식, 우리가 일하는 방식이 많이 바뀔 것 같다. 나 스스로도 혼란스러웠고 그로 인해서 많은 생각들을 했는데, 비슷한 고민과 생각을 하는 사람들에게 도움이 되면 좋겠다는 생각에 이 글을 쓰게 되었다. 비관과 낙관이 아니라 무엇이 바뀌고 무엇이 바뀌기 않는지 고민 한다면 우리의 불안감도 줄어들고 앞으로 미래를 더 잘 준비할 수 있지 않을까 생각 한다.