12P by flowkater 3시간전 | ★ favorite | 댓글 5개

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명 이상 회사라면 대부분 개발 조직이 있음
  • 코스트코 본사 사례: 가족 인맥으로 들어가서 분석가로 시작, 프로그래밍 능력을 얹으면 매우 가치 있어짐

결론

프로그래밍의 기본, 특히 좋은 코드를 작성하고 복잡도를 통제하는 능력은 영원히 중요할 것. 취업 시장 침체는 일시적. 그리고 회사들에게: 주니어들이 코드를 직접 쓸 수 있게 해달라.

개인의 이런 노력도 중요하지만 국가 단위 구성원들의 논의를 통해 사회적 시스템에 대한 지원이 필요합니다.

저도 아주 동의하는 내용입니다. 후배들에게 많이 이야기 하는데, 그냥 꼰대같은 말로 느껴질까 고민할 때가 많아요.

너무 공감가는 내용입니다.

다들 이 과도기를 잘 이겨내셨으면 좋겠어요.

  • 복잡도를 통제하는 능력은 영원히 중요할 것