1. 개발자는 원래 직없을 없애는 직군이었다.
누군가의 밥벌이를 코드로 치환하는 것.
그것이 개발자가 지금껏 해온 일이다.
회계사가 밤을 새워 장부를 맞추던 시절이 있었다.
숫자 하나 틀리면 처음부터 다시, 연필과 계산기 사이에서 수천 줄의 거래 내역을 눈으로 훑던 시절.
ERP 시스템이 그 자리를 가져갔다.
은행 창구에 줄을 서서 통장에 도장을 찍던 시절이 있었다.
인터넷 뱅킹이 그 줄을 없앴다.
공장에서 사람이 육안으로 불량품을 골라내던 시절이 있었다.
자동화 검수 시스템이 그 눈을 대체했다.
그 뒤에는 항상 개발자가 있었다.
개발자는 이 과정을 "비효율의 제거", "자동화", "혁신"이라고 불렀다.
틀린 말은 아니다. 실제로 비효율적이었고, 실제로 자동화가 되었고, 실제로 혁신이었다.
다만 그 혁신의 이면에는 항상 누군가의 자리가 사라지고 있었다는 사실을, 개발자들은 크게 신경 쓰지 않았다.
아니, 신경 쓸 이유가 없었다.
그건 "시대의 흐름"이었고, 자신들은 그 흐름을 만드는 쪽에 서 있었으니까.
수십 년간 개발자는 안전했다.
자동화의 칼날은 항상 바깥을 향했다.
코드를 짤 수 있는 사람은 자동화를 당하는 쪽이 아니라 자동화를 시키는 쪽이었고, 그 기술적 장벽은 견고해 보였다.
프로그래밍은 아무나 하는 게 아니었다.
수년간의 학습이 필요했고, 논리적 사고력이 필요했고, 끊임없는 기술 갱신이 필요했다.
그 진입 장벽이 곧 개발자의 성벽이었다.
그래서 개발자는 편안했다.
남의 직업을 없애면서도.
2. 그리고 자기 차례가 왔다.
개발자는 본질적으로 "귀찮음"을 싫어하는 사람들이다.
반복적인 작업을 보면 참지 못한다.
같은 코드를 두 번 작성하는 것을 혐오한다.
수동으로 할 수 있는 일을 수동으로 하는 것을 견디지 못한다.
그래서 프레임워크를 만들고, 라이브러리를 만들고, 빌드 자동화를 만들고, CI/CD 파이프라인을 만들었다.
어쩌면 전부 "귀찮으니까"라는 동기에서 출발했을 수도 있겠다.
아이러니한 건, 그러면서도 기술 탐구 자체에는 한없이 비효율을 감수한다는 점이다.
새로운 언어가 나오면 밤을 새워 공부하고, 더 나은 아키텍처가 있다면 기존 코드를 전부 갈아엎는 것도 마다하지 않는다.
아직 확실하게 개념이 확립되지도 않은 트렌드로 뒤덮어버리고 이직해버리기도 하고, 여러모로 아이러니한 인간들이다.
비효율을 제거하기 위해 비효율을 감수하는 모순, 하지만 그 모순이야말로 기술을 전진시켜 온 동력이었다.
그리고 그 동력이 결국 자기 자신에게까지 도달했다.
생각해보면 당연하다.
개발자가 세상의 모든 비효율을 자동화하겠다는 집념을 가진 사람들이라면, 자기 업무의 비효율도 당연히 자동화 대상이 된다.
코드 리뷰? 자동화하자.
테스트 작성? 자동화하자.
버그 수정? 자동화하자.
그리고 이제는 "코드 작성? 그것도 자동화하자."
자신들이 그토록 좋아하던 "코드를 작성한다"는 행위마저도, 결국 "딸깍" 한 번으로 처리하고 싶어진 것이다.
남의 일을 딸깍으로 만들어왔던 사람들이, 자기 일도 딸깍으로 만들고 싶어하는 건 지극히 자연스러운 귀결이다.
이건 위기가 아니라, 예정된 수순이었다.
개발자라는 직군은 태생적으로 자기 자신을 포함한 모든 것을 자동화하도록 설계된 사람들이다.
지금 일어나고 있는 일은 배신이 아니라 완성에 가깝다.
3. "도메인을 이해하는 개발자는 살아남는다"는 말
요즘 가장 많이 들리는 말 중 하나다.
"코드만 잘 짜는 시대는 끝났다. 비즈니스를 이해하고, 도메인 지식을 갖춘 개발자만이 살아남을 것이다."
맞는 말이다. 코드를 작성하는 것은 개발자 업무의 일부에 불과하다.
요구사항을 분석하고, 문제를 정의하고, 아키텍처를 설계하고, 기술적 의사결정을 내리고, 이해관계자와 소통하는 것 등.
모든 것이 개발자의 일이었고, AI가 코드 생성을 대체한다 해서 이 역할들이 한순간에 사라지지는 않을 것이다.
문제는 이 주장이 "그러니까 개발자는 괜찮다"는 결론으로 이어질 때 발생한다.
한 발만 더 나가보자.
"문제를 정의하고 구조화하는 역량이 중요해진다."
동의한다.
그런데 그 역량이 가장 뛰어난 사람이 누구인가?
도메인을 가장 깊이 이해하는 사람은 개발자가 아니라, 그 도메인에서 수십 년을 일한 종사자들이다.
금융을 가장 잘 아는 건 금융인이고, 의료를 가장 잘 아는 건 의료인이고, 물류를 가장 잘 아는 건 물류 전문가다.
개발자가 필요했던 이유는 이들에게 프로그래밍 역량이 없었기 때문이지, 개발자가 도메인을 더 잘 이해해서가 아니었다.
개발자는 어디까지나 번역가였다.
인간의 의도와 기계의 언어 사이를 중개하는 사람.
한국어를 영어로 옮기는 번역가가 존재했던 이유는, 두 언어를 모두 구사하는 사람이 드물었기 때문이다.
번역이라는 행위 자체가 고귀했기 때문이 아니다.
번역의 수요가 있었고, 번역할 수 있는 사람이 적었기 때문에 직업이 된 것이다.
개발자도 마찬가지다.
"비즈니스 요구사항"이라는 인간의 언어를 "코드"라는 기계의 언어로 옮기는 사람.
그 중개가 필요했던 이유는 기계의 언어가 어려웠기 때문이다.
그런데 지금, 자연어로 말하면 코드가 나오는 시대가 오고 있다.
중개 비용이 0에 수렴하면, 중개인은 필요 없어진다.
즉 "도메인을 이해하는 개발자가 살아남는다"는 말의 진짜 의미는 개발자로서 살아남는 게 아니라, 도메인 전문가로서 살아남는 것이다.
"개발자"라는 타이틀이 남는 게 아니라, "문제를 정의하는 사람"이라는 역할이 남는 것이다.
그리고 그 역할은 굳이 개발자가 아니어도 수행할 수 있다.
누구나 인스턴트 식품처럼 프로그램을 만들어낼 수 있는 시대에서 "문제를 정의하고 구조화하는" 역량은 더없이 중요해질 것이다.
하지만 그 역량의 주인이 반드시 "개발자"여야 할 이유는 점점 희미해지고 있다.
4. 직업은 사라지지 않고, 변형될 뿐이라구요?
이 말을 처음 들었을 때는 나도 고개를 끄덕였다.
산업혁명 때 방직공이 사라졌지만 공장 노동자가 생겼고,
마차꾼이 사라졌지만 택시 기사가 생겼고,
타자수가 사라졌지만 비서직이 생겼다.
거시적으로 보면 직업의 총량은 줄지 않았고, 형태만 바뀌었다.
경제학 교과서가 가르치는 기술적 실업의 역사다.
은행 창구 직원이 줄었지만 금융 상담사가 생겼다.
전화 교환원이 사라졌지만 통신 엔지니어가 생겼다.
맞다. 틀린 말이 아니다.
그런데 은행 창구 직원이었던 그 사람은 어떻게 되었나?
30년간 창구에서 일하며 가정을 먹여 살리던 사람에게, "당신의 직업은 사라진 게 아닙니다, 변형된 겁니다"라고 말할 수 있는가?
"금융 상담사라는 새로운 직업이 생겼으니 괜찮습니다"라고?
그 사람이 금융 상담사가 될 수 있었나? UX 디자이너가 될 수 있었나?
후대의 사람들은 변형된 직업에 적응할 수 있다.
처음부터 그 직업을 목표로 교육받고, 준비하고, 진입하니까.
하지만 이미 구시대의 직업에 생계를 의탁하고 있던 사람에게 "변형"이라는 단어는 아무런 위안이 되지 않는다.
그건 그냥 해고다.
"직업은 사라지지 않는다, 변형될 뿐이다"는 말은 역사를 요약할 때는 유용하다.
하지만 그 역사의 한가운데 서 있는 사람에게는 폭력적이다.
50년 뒤의 경제학자가 "2020년대에 소프트웨어 개발자가 줄었지만 AI 오케스트레이터라는 직업이 생겼다"고 서술할 수 있을 것이다.
그 문장은 사실일 것이다.
그리고 그 문장은, 그 사이에 잘려나간 수만 명의 개발자에게는 아무런 의미가 없을 것이다.
교과서적 낙관을 해고 통보서 위에 올려놓지 말아야 한다.
거시적 관점이 틀렸다는 게 아니다.
역사가 그래왔듯이 장기적으로는 새로운 직업이 생기고, 경제는 적응하고, 인류는 전진한다.
하지만 그 "장기적"이라는 단어 속에는 한 세대의 고통이 뭉개져 있다.
방직공에서 공장 노동자로의 전환이 수십 년에 걸쳐 수백만 명의 빈곤과 고통 속에서 이루어졌다는 사실을, "변형"이라는 단어는 너무 깔끔하게 포장한다.
나도 얼마 전까지 같은 말을 했다.
"직업이 사라지는 게 아니라 바뀌는 거야."
얼마나 세상 모르는 소리였는지 이제야 조금 알 것 같다.
5. 그런데도
AI가 거품이라고 태평하게 말하는 사람들이 있다.
"지금 AI가 과대평가되어 있어", "결국 닷컴 버블처럼 꺼질 거야", "아직 개발자 대체하기엔 한참 멀었어."
틀릴 수도 있다. 진짜 거품일 수도 있다.
하지만 그 태평함의 근거가 분석이 아니라 안도라는 게 문제다.
현실을 직시한 뒤에 내린 판단이 아니라, 직시하기 싫어서 내린 결론이라는 게 문제다.
AI의 기술 트렌드를 쫓기 급급한 사람들이 있다.
새로운 모델이 나오면 벤치마크를 비교하고, 새로운 프레임워크가 나오면 튜토리얼을 돌리고, 새로운 논문이 나오면 요약본을 공유한다.
기술을 공부하는 것 자체는 나쁘지 않다.
하지만 "이 기술이 내 존재에 어떤 의미인가"를 묻지 않고 기술만 축적하는 것은, 무기가 자기에게 겨누어지는 줄 모르고 무기를 닦는 것과 다르지 않다.
특정 기술에 자신의 정체성을 묶어버리는 사람들이 있다.
"나는 자바 개발자입니다." "나는 리액트 전문가입니다." "나는 스프링 엔지니어입니다."
기술은 도구인데, 도구에 이름을 걸어버리면 도구가 필요 없어질 때 자기 자신도 같이 필요 없어진다.
목수가 "나는 망치 전문가입니다"라고 말하지 않는 것처럼, 개발자도 특정 기술이 아니라 해결하는 문제로 자신을 정의해야 하는데 그걸 못하는 사람들이 여전히 너무 많다.
이 세 부류는 방향이 다르다.
하나는 변화를 부정하고, 하나는 변화의 의미를 생각하지 않고, 하나는 변화 자체를 거부한다.
하지만 본질은 같다.
자기가 서 있는 자리를 직시하지 않는다는 것.
환멸이라고까지 말하면 과할지 모르겠다.
하지만 "코딩을 좋아한다"고 말하면서 정작 코딩이라는 행위의 의미가 바뀌고 있다는 사실에는 눈을 감는 사람들에 대한 답답함을 느낀다.
나도 코딩이 좋았다.
하지만 돌이켜보면 코딩 자체가 좋았던 건 아닌 것 같다.
남들이 못하는 걸 내가 할 수 있다는 우월감이 좋았던 것이다.
코드를 작성한다는 행위가 주는 "나는 특별하다"는 감각.
그게 코딩에 대한 애정의 실체였다면 AI가 누구에게나 그 능력을 나눠주는 순간, 그 "애정"은 증발할 것이다.
진짜 코딩을 사랑한 게 아니라, 코딩이 만들어준 위치를 사랑한 것이었으니까.
6. 아무도 괜찮지 않다.
어쩌면 AI에 또 한계가 찾아올 수도 있다.
지금의 대규모 언어 모델이 천장에 부딪히고, "생각보다 별거 아니었네"라는 반응과 함께 다시 AI 겨울이 올 수도 있다.
그러면 개발자는 다시 잠깐동안 숨을 돌릴 수 있을 지도 모르겠다.
어쩌면 AI는 직업을 없애는 게 아니라, 엑셀이 그랬던 것처럼 기대치를 올리는 도구가 될 수도 있다.
엑셀이 등장했을 때 사무직 노동자의 업무량은 줄지 않았다.
"이 정도는 당연히 처리해야지"라는 기준선만 올라갔을 뿐이다.
AI도 그렇게 될 수 있다.
개발자가 사라지는 게 아니라, "혼자서 열 명 몫을 해야 하는 개발자"가 표준이 되는 미래가 열릴 수도 있을 것이다.
아니지, 그 때는 10명의 몫이 1인분이 되는 건가.
그게 어쩌면 "직업이 사라지는 것"보다 더 잔인할 수도 있다.
직업은 남아 있는데, 사람의 가치가 희석되는 것이니까.
열 명이 하던 일을 한 명이 하게 되면, 아홉 명은 어디로 가는가?
남은 한 명은 열 배로 행복해지는가? 아니면 열 배로 지치는가?
확실한 건 하나뿐이다.
개발자는 원래 직업을 없애는 직군이었고, 그 칼날이 마침내 자기 자신에게 도달했다는 것.
이것이 완전한 소멸인지, 변형인지, 아니면 그저 과도기의 착각인지는 아직 모른다.
다만 이것만큼은 말할 수 있다.
"괜찮을 거야"라는 말은, 적어도 지금은, 아무에게도 도움이 되지 않는다.
이 글은 저와 AI의 대화에서 시작되었고, AI가 모든 내용을 구조화하고 집필했음을 밝힙니다.
여기서부턴 직접 쓴 글.
전 딱히 AI가 개발자의 자리를 대체하는 것에 부정적인 입장이 아닌 사람입니다.
원래 제가 만들려던 세상을 진짜로 만들어버린 인간들이 존재했을 뿐이라, 선수를 빼앗겼다? 정도의 느낌.
최근 다양한 직군의 사람들과 대화하고, 같은 개발자끼리도 많은 대화를 나누다보니 생각이 복잡해졌습니다.
그래서 LLM한테 구조화해보라고 시켰더니 굉장히 염세주의적인 글이 탄생했네요.
제 평소 페르소나를 반영했다는데, 대체 저의 어떤 면을 메모리에 적재해둔 건지 모르겠습니다.
그리고 본문에서는 현실에 안주하거나, 트렌드를 좇는 이들에게 답답함을 느낀다고 적혀있지만, 저는 저런 표현을 쓴 적이 없는데 좀 억울하네요. (번역가란 표현도 제가 먼저 쓰지 않았는데;;)
최근 블로그 포스팅을 "딸깍"해보고 싶어져서 이런저런 시도를 해보는 중입니다.
기술적인 내용은 아직 업로드하기 처참한 수준이라 어렵고, 이번 글도 솔직히 별로 마음에 안 드는데 최근 포스팅을 거의 못해서 그냥 올렸습니다.