메인 콘텐츠로 건너뛰기
page thumbnail

2025년, 코딩과 AI 사이에서 무엇을 배워야 할까

DODOSEE
DODOSEE
조회수 26
요약

클립으로 정리됨 (생성형 AI 활용)

출처 및 참고 : https://www.youtube.com/watch?v=PZ_ebxkNZmo

AI가 코드를 대신 써준다는데, 코딩을 왜 배워야 하나

많은 개발 지망생이 요즘 이런 고민을 합니다. "챗GPT가 이렇게 코드를 잘 쓰는데, 지금 와서 언어 문법 외우는 게 의미가 있나?" WIRED 인터뷰 속 버클리 교수의 답은 의외로 단순합니다. 여전히 코딩은 배울 가치가 있고, 생각보다 덜 수학적이며, AI는 아직 사람 대신 전체 프로그램을 설계해 줄 수준은 아니라는 점입니다.

코딩의 본질은 '문법'이 아니라 '분해 능력'이다

교수의 설명에서 가장 공감되는 대목은 문제를 잘게 쪼개는 능력입니다. 거대한 요구사항을 둘, 셋으로 나누고, 다시 그걸 함수 몇 줄로 떨어질 만큼 세분화하는 과정이 곧 프로그래밍의 핵심이라는 지적입니다. 이 부분은 대형 언어 모델이 가장 약한 지점이기도 합니다. 모델은 "그럴듯한 코드 조각"을 만들지만, 어떤 조각이 어디에 들어가야 하는지에 대한 전체 구조는 결국 사람이 책임져야 합니다.

저라면 코딩을 새로 배우는 사람에게 문법 책보다 작은 문제를 스스로 정의해 보는 연습부터 권하겠습니다. 웹에서 버튼 하나를 누르면 텍스트가 바뀌게 한다든지, CSV 파일에서 조건에 맞는 줄만 골라낸다든지, 이런 아주 구체적인 목표를 세우고 쪼개는 과정 자체가 AI 시대에 더 큰 자산이 됩니다.

디버깅이 더 힘든 이유, 그리고 AI가 도와줄 수 있는 지점

버그 잡기가 코드 쓰기보다 더 고통스러운 이유도 여기에서 나옵니다. 머릿속에서 상상한 프로그램의 동작과 실제로 돌아가는 동작이 어긋나는 순간, 개발자는 두 개의 세계를 동시에 추적해야 합니다. 특히 남이 쓴 코드를 읽을 때는 애초에 머릿속 모델조차 없기 때문에 더 고됩니다.

여기서 많이들 놓치는 부분이 있습니다. AI가 디버깅도 해줄 거라는 순진한 기대입니다. 실제로는 오류 메시지를 읽고, 어떤 입력에서 어떤 출력이 나왔는지 맥락을 설명해 줄 조수 역할 정도에 그칩니다. 제 기준에서는 "AI가 버그를 대신 잡아준다"기보다 "버그 재현 과정을 한글로 설명하면, 그걸 코드 코멘트 수준의 텍스트로 정리해 주는 도구"에 가깝습니다. 디버깅의 방향을 정하는 나침반은 여전히 사람 손에 있습니다.


어떤 언어를 배울 것인가: 파이썬, C++, 러스트, 그리고 자바스크립트

새로 시작하는 사람들에게 언어 선택은 늘 큰 고민입니다. 특히 국내 환경에서는 "그래도 C++은 배워야 하지 않나", "백엔드 하려면 자바 아니면 망한다" 같은 말이 아직도 강하게 돌고 있습니다.

파이썬과 자바스크립트, '두 번째 좋은 선택'의 장점

인터뷰 속 교수는 파이썬을 "거의 모든 일에 두 번째로 좋은 언어"라고 표현합니다. 이는 곧 특정 분야에서 최고의 효율을 내는 언어는 따로 있을 수 있지만, 파이썬은 어디에 가져다 놔도 크게 틀리지 않는 선택이라는 뜻입니다. 라이브러리 생태계, 문법의 단순함, 커뮤니티의 방대함을 생각하면, 처음 프로그래밍을 접하는 사람에게는 여전히 최선에 가깝습니다.

웹 쪽으로 눈을 돌리면 자바스크립트와 타입스크립트가 자연스럽게 떠오릅니다. 자바스크립트의 설계적 결함을 불평하는 개발자가 많지만, 브라우저라는 런타임을 독점하고 있다는 현실은 바뀌지 않았습니다. 저라면 순수 자바스크립트 문법을 깊게 파고들기보다는, 기본만 익힌 뒤 바로 타입스크립트로 옮겨가는 전략을 쓰겠습니다. 타입 정보가 붙는 순간, 나중에 AI에게 코드를 맡길 때도 훨씬 덜 위험한 환경이 되기 때문입니다.

C++와 러스트, 그리고 메모리 안전이라는 단어

보다 하드코어한 세계에서는 여전히 C++가 강력한 도구입니다. 하지만 새 프로젝트를 시작한다면 "정말 C++여야 하는가"를 한 번 더 물어야 하는 시점이 왔습니다. 러스트는 메모리 안전과 성능을 동시에 노리는 언어로, 요즘 개발자 설문조사에서 가장 "사랑받는 언어"로 반복해서 등장합니다. 언어가 개발자의 등 뒤를 지켜 주느냐, 아니면 모든 책임을 개발자에게 떠넘기느냐, 이 철학의 차이가 중요합니다.

국내에서 시스템 프로그래밍이나 인프라 개발을 꿈꾸는 사람이라면, 기존 대형 코드베이스를 유지보수하는 팀에 들어갈 계획이라면 C++ 경험이 여전히 유리합니다. 반면, 스타트업에서 새 서버, 새 내장형 시스템을 설계하는 위치라면 러스트를 알아두는 편이 장기적으로 더 큰 기회를 줄 가능성이 큽니다. 저라면 커리어 초반에는 C나 C++로 메모리 모델을 몸으로 익힌 뒤, 러스트를 "안전장치가 붙은 후속 언어"로 받아들이는 경로를 선택하겠습니다.


AI 코딩 도구, '바이브 코딩' 환상과 현실

AI가 옆에서 코드를 대신 쳐 주는 시대, 많은 개발자가 "바이브 코딩"에 끌립니다. 대충 설명을 던져놓고, 생성된 코드를 훑어보며 느낌대로 수정해 나가는 방식입니다. 겉으로 보기에는 생산성이 폭발적으로 오른 것처럼 보입니다.

실제 생산성은 20% 느려졌다는 연구

흥미로운 점은, 일부 연구에서 LLM 기반 도구를 쓴 개발자들이 스스로는 "코딩이 빨라졌다"고 느끼지만, 실제 측정된 속도는 20% 가까이 느려졌다는 결과가 나왔다는 부분입니다. 이 현상은 생각보다 설명이 간단합니다. AI가 내놓는 코드가 왜 동작하는지, 어디까지 믿어도 되는지 검증하는 데 들어가는 인지 비용이 만만치 않기 때문입니다. 코드 몇 줄을 받는 대신, 그 줄들이 함축한 장애 가능성을 모두 떠안을 준비가 되어 있어야 합니다.

여기서 페르소나가 갈립니다. 이미 해당 언어와 도메인을 깊게 이해하고 있는 시니어 개발자라면, AI 도구는 타이핑을 덜어주는 강력한 부가 수단이 됩니다. 반대로 기초가 부족한 초보자에게는, 이해하지 못한 코드를 복사해 붙여 넣는 위험한 지름길이 될 수 있습니다. 겉으로는 진도가 빨리 나가는 것처럼 보여도, 결국 문제를 분해하는 능력과 디버깅 감각이 자라지 않아 중급 단계에서 성장이 멈추기 쉽습니다.

AI를 쓰려면, 오히려 더 정밀한 사고가 필요하다

교수가 제안한 방법도 흥미롭습니다. 자연어 설명 대신 의사코드로 문제를 잘게 쪼개고, 한 조각이 대략 다섯 줄 이내가 되도록 축소한 뒤, 그 각각을 AI에게 구현하게 하라는 것입니다. 그리고 반드시 테스트 계획, 리뷰 계획을 먼저 세우라고 강조합니다. 이 방식은 "문제를 설계하고 검증하는 능력은 사람 몫"이라는 전제를 깔고 있습니다.

제 기준에서는, AI 코딩 도구는 "코드를 안 써도 되는 마법 지팡이"가 아니라 "잘 설계된 의사코드를 빠르게 문법에 맞는 코드로 바꿔주는 컴파일러 확장"에 가깝습니다. 결국 의사코드를 쓸 수 있을 만큼 구조화를 할 수 있어야 이 도구들이 제대로 된 힘을 발휘합니다. 구조화가 안 된 채로 질문만 늘어가면, 답변은 화려해지지만 프로젝트는 산으로 가기 쉽습니다.


시작 전 반드시 체크할 것

누구에게 중요한 선택인가

지금 시점에서 "무엇을 얼마나 깊게 배울 것인가"라는 질문은 단순 취미인지, 커리어 전환인지에 따라 무게가 달라집니다. 직업 개발자를 목표로 한다면, 언어 하나를 깊게 파는 것보다 문제 분해, 디버깅, 코드 읽기 같은 기초 기술을 AI보다 먼저 체화하는 편이 유리합니다. 반대로 기획자, 연구자, 비개발 직군이라면, 파이썬과 타입스크립트 수준의 실용 언어 두 개만 익혀도 AI와 협업하는 데 필요한 최소한의 문해력은 확보할 수 있습니다.

또 하나, 수학을 싫어한다는 이유로 프로그래밍을 포기할 필요는 없습니다. 교수의 말처럼 모든 코딩이 고급 수학을 요구하는 것은 아니고, 게임 엔진이나 그래픽스, 컴퓨터 과학 이론 연구 같은 특정 분야에서만 수학이 크게 작용하는 경우가 많습니다. 저라면 수학에 대한 두려움 때문에 코딩을 포기하기보다는, 우선 웹, 자동화 스크립트, 데이터 핸들링 같은 영역에서 작은 성공 경험을 쌓은 뒤, 필요해질 때 수학을 역으로 끌어들이는 전략을 택하겠습니다.

현실적 제약과 첫 행동

현실적으로 국내 환경에서는, 회사가 쓰는 언어와 기존 레거시 코드베이스가 개인의 선택지를 크게 제한합니다. 많은 조직이 여전히 자바, C++, PHP 등에 묶여 있고, 러스트나 최신 타입스크립트 스택은 일부 팀에만 열려 있습니다. 또한 AI 코딩 도구를 쓰고 싶어도, 보안 규정상 외부 서비스 사용을 막는 회사도 많습니다. 이런 제약 속에서 할 수 있는 첫 행동은 생각보다 소박합니다.

우선, 지금 관심 있는 분야 하나를 고르고, 그 분야의 대표 언어 한 개와 도구 체인 한 세트를 정해 3개월 정도만 깊게 파보는 것입니다. 웹 프론트라면 타입스크립트와 리액트, 데이터 분석이라면 파이썬과 주피터 노트북, 시스템 프로그래밍이라면 C와 러스트처럼 짝을 짓는 식입니다. 그다음 단계에서야 AI 도구를 붙여 "이 작업을 다섯 줄짜리 조각으로 나누면 어디까지 자동화할 수 있을까"를 실험해 보는 편이 안전합니다.

AI와 코딩의 관계를 너무 낭만적으로 볼 필요도, 지나치게 비관적으로 볼 필요도 없습니다. 언어 선택과 도구 선택은 결국 "내가 앞으로 5년간 어떤 문제를 풀고 싶은가"라는 질문의 파생물일 뿐입니다. 그 질문에 대한 감이 아직 없다면, 지금 당장 할 수 있는 가장 현실적인 행동은 브라우저를 열고 파이썬 튜토리얼 한 개를 끝까지 따라가 보는 일입니다. 그 과정에서 느껴지는 재미와 답답함이, AI 시대에도 여전히 유효한 당신만의 나침반이 되어 줄 것입니다.


출처 및 참고 :

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.