Reese-log
  • About
  • Blog

© 2026 Reese. All rights reserved.

2026년 3월 11일

AI 시대에도 프로그래밍을 계속 해도 될까요? (번역)

#Etc

번역에 앞서

이 글은 htmx 창시자 Carson Gross가 쓴 에세이 “Yes, and…” 를 한국어로 옮긴 글입니다.

요즘 개발 관련 글이나 커뮤니티를 보다 보면 AI 때문에 진로를 고민하는 이야기를 자주 보게 됩니다.

“이제 프로그래머라는 직업 자체가 예전 같지 않은 것 아닐까?”

“지금 열심히 공부하는 게 과연 의미가 있을까?”

“AI가 점점 더 잘하는데, 앞으로 나는 어떤 개발자가 되어야 할까?”

특히 주니어 개발자나 취업 준비생이라면 이런 질문이 더 크게 다가올 수밖에 없다고 생각합니다.

이 글은 그런 불안을 무작정 달래기보다, 지금 왜 여전히 프로그래밍을 배울 가치가 있는지, 그리고 AI 시대에 무엇을 더 중요하게 봐야 하는지를 차분하게 이야기합니다.

읽는 동안 꽤 인상 깊어서, 한국어로 옮겨 공유해 보면 좋겠다는 생각이 들어 번역해 보았습니다.


1. AI 시대에도 프로그래밍을 해도 될까요? — “Yes, and…”

저는 몬태나 주립대에서 컴퓨터 과학을 가르치고 있으며, 세 아들의 아버지이기도 합니다. 아이들도 제가 프로그래머라는 사실을 알고 있고, 그중 적어도 한 명은 프로그래밍에 관심을 가지고 있습니다.

저는 프로그래밍을 정말 사랑합니다.

그리고 그 즐거움을 아들들과 학생들, 그리고 관심 있는 누구에게든 전하고 싶습니다.

요즘 들어 친척, 친구, 학생들에게서 점점 더 자주 듣는 질문이 있습니다.

“AI 때문에 이제 프로그래머라는 직업은 사라지는 것 아닐까요?”

제 대답은 항상 같습니다.

“그래도 괜찮습니다. 그리고…”


2. “Yes” — 그래도 여전히 할 만한 일입니다

컴퓨터 프로그래밍의 본질은 두 가지라고 생각합니다.

하나는 컴퓨터를 사용해 문제를 해결하는 일, 다른 하나는 그 과정에서 생기는 복잡성을 다루는 방법을 배우는 일입니다.

어떤 미래가 오더라도 컴퓨터로 문제를 해결할 수 있는 사람의 가치가 크게 떨어질 것이라고는 생각하기 어렵습니다.

그래서 AI가 발전하더라도 프로그래밍은 여전히 생계를 유지할 수 있는 직업일 가능성이 높습니다.


2-1. 직접 코드를 작성해야 합니다

다만 저는 AI가 주니어 개발자에게는 위험할 수도 있다고 생각합니다.

AI는 많은 문제에 대해 그럴듯한 코드를 만들어낼 수 있습니다.

하지만 주니어 개발자가 직접 코드를 작성하지 않고 AI가 만든 코드만 사용한다면, 코드에 대한 현장감 있는 이해를 쌓을 기회를 잃게 됩니다.

그래서 저는 학생들에게 항상 이렇게 말합니다.

“AI가 과제 코드를 전부 만들어 줄 수 있습니다. 하지만 그러지 마세요. 직접 코드를 작성해야 합니다.”

직접 코드를 작성하지 않으면 코드를 읽는 능력도 제대로 길러지지 않습니다.

그런데 AI 시대에는 오히려 코드를 읽는 능력의 중요성이 더 커질 가능성이 있습니다.

코드를 읽을 수 없다면 마법사의 견습생 함정에 빠질 수 있습니다.

즉, 자신이 이해하지도 못하고 통제할 수도 없는 시스템을 만들어 놓고 그 시스템에 끌려다니게 되는 상황입니다.


2-2. “프롬프트가 새로운 고수준 언어다?”라는 주장에 대해

어떤 사람들은

“코드를 작성하는 시대에서 프롬프트를 작성하는 시대로 바뀌는 것은 과거 어셈블리에서 고수준 언어로 넘어간 것과 같다”

라고 말합니다.

하지만 저는 이 비유에 동의하지 않습니다.

컴파일러는 대부분의 경우 결정적(deterministic) 입니다.

예를 들어 for 문이나 if 문을 작성하면 어떤 어셈블리가 생성될지 어느 정도 예측할 수 있습니다.

하지만 LLM 기반 시스템은 그렇지 않습니다.

고수준 언어는 텍스트는 적게 쓰면서도 문제를 정확하게 지정하는 방법입니다.

그리고 어셈블리 수준에 존재하던 많은 우발적 복잡성(accidental complexity) 을 제거했습니다.

반면 LLM이 생성한 코드는 우발적 복잡성을 줄이기는커녕, 오히려 더 얹는 경우가 많습니다. 엉뚱한 접근을 고르거나 편법을 쓰면서, 불필요한 복잡성을 덧붙이기도 합니다.

그런데 코드를 읽을 줄 모른다면, 이런 차이를 어떻게 알 수 있을까요?

그리고 코드를 읽고 싶다면 먼저 많이 작성해 봐야 합니다.


2-3. AI는 잘만 사용하면 아주 훌륭한 조교가 될 수 있습니다

학생들에게 저는 또 이렇게 이야기합니다.

AI는 코드 생성기가 아니라 훌륭한 조교로 사용할 수 있습니다.

프로그래밍을 처음 배울 때 가장 어려운 점 중 하나는 막혀 버리는 순간입니다.

예를 들어 어디서부터 시작해야 할지 모르거나, 핵심 아이디어가 떠오르지 않거나, 개발 환경 때문에 막히는 순간들이 있죠.

특히 툴체인을 어떻게 쓰는지, 프로그램을 어떻게 실행하는지 같은 건 실제 학습과는 관계없는 환경 문제일 뿐입니다.

이런 문제들은 많은 사람들을 컴퓨터 과학에서 떠나게 만들었습니다.

저 역시 버클리에서 독학으로 유닉스를 배우려다 막혀 결국 CS 과정을 중퇴한 경험이 있습니다.

AI는 이런 불필요한 막힘을 해결하는 데 매우 큰 도움이 될 수 있습니다.

저는 학생들에게 코드를 대신 작성하는 에이전트가 아니라 좋은 조교처럼 행동하도록 설정된 AI 에이전트를 사용하도록 권장합니다.

AI는 잘 사용하면 프로그래머로 성장하는 데 방해물이 아니라 촉매가 될 수 있습니다.


3. “And…” — 프로그래밍은 바뀔 것입니다

AI는 분명 프로그래밍을 변화시킬 것입니다.

다만 사람들이 말하는 것처럼 완전히 뒤집힐 정도로 극적인 변화는 아닐 것이라고 생각합니다.

하지만 몇 가지는 분명히 달라질 것입니다.


3-1. 손으로 코딩하는 능력의 상대적 가치 하락

미래에는 코드를 직접 작성하는 능력의 상대적 가치가 지금보다 낮아질 가능성이 있습니다.

저는 개인적으로 코드를 직접 작성하는 일을 매우 좋아합니다.

코드를 작성해 무언가를 작동하게 만드는 일은 매우 즐겁습니다.

코딩은 일종의 예술이며, 곳곳에 미적인 선택이 존재합니다.

하지만 순수한 타이핑 능력 자체는 중요도가 낮아질 가능성이 있습니다.

그 대신 다른 능력이 더 중요해질 것입니다.


3-2. 커뮤니케이션 능력

앞으로 더 중요해질 능력 중 하나는 명확하게 생각하고, 글로 표현하고, 다른 사람과 소통하는 능력입니다.

LLM과 소통할 때도, 사람과 협업할 때도 이러한 능력은 매우 중요합니다.

책을 읽고 글을 쓰는 습관은 이러한 능력을 키우는 데 도움이 됩니다.


3-3. 비즈니스 이해

프로그래밍은 결국 컴퓨터로 문제를 해결하는 일입니다.

비즈니스 세계에는 문제도 많고, 컴퓨터도 많습니다.

어떤 사람들은 AI를 보고 “이제 프로그래머는 필요 없겠네”라고 말합니다.

하지만 프로그래머도 똑같이 “이제 비즈니스 사람도 필요 없겠네”라고 말할 수 있죠.

두 생각 모두 단견입니다.

하지만 AI 덕분에 프로그래머는 비즈니스 문제를 이해하는 데 더 많은 시간을 쓰게 될 가능성이 있습니다.


3-4. 소프트웨어 아키텍처

앞으로 더 중요해질 능력은 큰 시스템을 조직하고 복잡성을 관리하는 능력입니다.

이것을 흔히 소프트웨어 아키텍처라고 부릅니다.

하지만 좋은 아키텍트가 되는 길은 원래 작은 프로그램을 만들어 보고, 실패도 해보고, 점점 개선하는 과정을 통해 이루어졌습니다.

그래서 저는 다시 강조합니다. 직접 코드를 작성해야 합니다.


3-5. LLM을 잘 사용하는 능력

앞으로 중요해질 또 하나의 능력은 LLM을 효과적으로 사용하는 능력입니다.

다만 이 능력은 경력 단계에 따라 조금 다르게 나타납니다.


시니어 개발자

시니어 개발자들은

  • 좋은 코드가 무엇인지 알고
  • 큰 시스템을 만들어 본 경험이 있으며
  • 무엇이 중요한지 감을 가지고 있습니다.
  • 그래서 LLM을 잘 활용할 수 있는 위치에 있습니다.

    다만 시니어에게도 위험은 있습니다. 아예 코딩을 멈추고 프롬프트만 던져 놓은 채 결과만 기다리다 보면, 생각하는 힘이 조금씩 무뎌질 수 있습니다.

    저는 보통 LLM을 기존 코드 분석, 프로젝트 아이디어 정리, 작은 코드 조각 생성(정규식·CSS 같은 것 포함), 실험용 코드 생성, 테스트 아이디어 얻기 같은 용도로 씁니다.

    하지만 저는 전체 시스템 구현을 LLM에게 맡기지 않습니다.

    그리고 특히 API 설계를 LLM에게 맡기지 않습니다.


    주니어 개발자

    주니어 개발자에게는 상황이 더 어렵습니다.

    다시 강조합니다.

    “직접 코드를 작성해야 합니다.”

    AI에게 맡기고 넘어가고 싶은 유혹이 강할 것입니다.

    하지만 그 유혹을 견뎌야 합니다.

    회사 문화도 영향을 줍니다.

    속도를 지나치게 중시하는 조직에서는 “바이브 코딩”이 장려될 수도 있습니다.

    하지만 결국 기업들은 깨닫게 될 것입니다.

    “빠른 바이브 코딩이 깊이 이해하고 작성한 코드보다 복잡성을 훨씬 더 빠르게 키운다는 사실을.”


    4. 지금 취업은 어떨까요?

    많은 사람들이 궁금해하는 것은 결국 이것입니다.

    “지금도 개발자로 먹고 살 수 있을까요?”

    현재 개발자 채용 시장이 좋지 않은 것은 사실입니다.

    하지만 저는 이것이 영구적인 변화라고 생각하지 않습니다.

    개발자 시장은 원래 호황과 불황을 반복해 왔습니다.


    4-1. 네트워크 전략

    주니어 개발자에게 온라인 채용 사이트는 사실상 복권에 가깝습니다.

    무료이니 아예 쓰지 말라는 뜻은 아니지만, 거기에 너무 많은 시간을 쏟을 필요는 없다는 이야기입니다.

    더 좋은 전략은 다음입니다.

    4F 네트워크(Family, Friends, Family of Friends) — 즉 가족, 친구, 친구의 가족을 뜻합니다.

    회사 내부에 아는 사람이 있는 경우 입사 확률이 훨씬 높아집니다.


    5. 결론

    저는 여전히 프로그래밍을 직업으로 선택하는 것은 좋은 선택이라고 생각합니다.

    프로그래밍 방식은 변화하고 있습니다. 그래서 앞으로 프로그래머에게는 커뮤니케이션 능력, 비즈니스 이해, 시스템 설계 능력 같은 것들도 중요해질 것입니다.

    하지만 좋은 코드를 작성하는 능력과 복잡성을 관리하는 능력 같은 근본적인 기술은 앞으로도 중요할 것입니다.

    마지막으로 회사들에게도 한 가지 부탁을 하고 싶습니다.

    주니어 개발자들이 직접 코드를 작성할 기회를 주세요.

    그것이 결국 회사에도 도움이 됩니다.


    번역을 마치며

    AI 이야기가 커질수록, 지금도 이 길을 계속 가도 될지 스스로 묻게 되는 순간이 있는 것 같습니다.

    이 글은 그 질문에 대해 쉽게 단정하지 않고, 오히려 프로그래밍의 본질이 무엇인지 다시 생각해 보게 만드는 글이었습니다.

    이 글이 비슷한 고민을 하고 있는 분들에게 작은 위로가 되었으면 합니다.