AI 시대에도 프로그래밍을 배워야 하는가
(htmx.org)Montana State University 컴퓨터공학과 교수이자 htmx 창시자인 Carson Gross가 "AI 시대에도 프로그래밍을 커리어로 추구해야 하는가?"에 대해 "Yes, and…(그렇다, 그리고…)"라고 답하는 에세이.
"Yes" — 그렇다
- 프로그래밍의 본질은 컴퓨터를 이용한 문제 해결 + 복잡도 통제. 이 능력이 덜 가치 있어질 미래는 상상하기 어려움
- 하지만 AI는 주니어에게 위험. 코드를 직접 쓰지 않으면 코드를 읽을 수도 없게 됨
- 코드를 읽지 못하면 "마법사의 제자 함정" — 이해도 통제도 못하는 시스템을 만들어내는 신세
코딩→프롬프팅은 어셈블리→고수준 언어와 다르다
- 컴파일러는 결정론적(deterministic)이지만 LLM은 아님
- 고수준 언어는 우발적 복잡도(accidental complexity)를 제거했지만, LLM 생성 코드는 오히려 우발적 복잡도를 추가하는 경우가 많음
AI는 코드 생성기가 아니라 훌륭한 조교(TA)
- 개념과 기법을 이해하는 데 도움을 주는 파트너로 활용하면 지적 성장에 효과적
- 우발적 복잡도 때문에 막히는 장벽을 넘는 데 특히 유용
- AGENTS.md 파일을 공유하여 AI가 코드 생성기가 아닌 조교 역할을 하도록 설정
"and…" — 그리고
순수 코딩 실력이 덜 중요해질 수 있다
- 대신 더 중요해질 기술들:
- 커뮤니케이션 능력 — LLM과도, 사람과도 명확하게 쓰고 소통하는 능력. 책을 읽고 에세이를 쓰는 것이 도움
- 비즈니스 이해 — "프로그래머 필요 없다"는 비즈니스 쪽 시각과 "비즈니스 사람 필요 없다"는 프로그래머 시각 모두 근시안적. AI가 현실 문제를 더 깊이 이해할 기회를 줌
- 시스템 아키텍팅 — 대규모 시스템의 복잡도를 통제하는 능력. 단, 나쁜 아키텍트 대부분은 코딩 경험이 부족했음
시니어 vs 주니어의 LLM 활용법
- 시니어: 코드 분석, 생각 정리, 작은 코드 조각 생성, 싫은 코드(정규식, CSS) 생성, 탐색용 코드, 테스트 제안 등에 활용. 완전한 솔루션 생성은 시키지 않음. API 설계는 절대 맡기지 않음
- 주니어: 바이브 코딩의 유혹에 맞서야 함. 속도보다 이해를 우선시하는 것이 장기적으로 이김. 곧 회사들도 바이브 코딩의 복잡도 폭발 문제를 깨달을 것
구직 조언 — 4F 전략
- 온라인 취업 사이트는 복권이나 다름없음
- 4F: Family(가족), Friends(친구), Family of Friends(친구의 가족)
- 대형 테크 기업이 아니어도 됨. 100명 이상 회사라면 대부분 개발 조직이 있음
- 코스트코 본사 사례: 가족 인맥으로 들어가서 분석가로 시작, 프로그래밍 능력을 얹으면 매우 가치 있어짐
결론
프로그래밍의 기본, 특히 좋은 코드를 작성하고 복잡도를 통제하는 능력은 영원히 중요할 것. 취업 시장 침체는 일시적. 그리고 회사들에게: 주니어들이 코드를 직접 쓸 수 있게 해달라.