54P by flowkater 25일전 | ★ favorite | 댓글 31개

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

결론

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

아키텍처를 이해못하면 바이브코딩 의미없음..

누구나 케찹 바른 파스타를 만들수있음

이탈리안 파스타는 아무나 못만듬

이탈리안 파스타가 $20, 케찹 바른 파스타가 $2라면 전 후자를 먹겠습니다만...

유저는 2달러 짜리에 돈을 지불하지않습니다

이야기의 핀트를 이해 못하신듯 하네요

네, 본문도 읽지 않고 댓글달았음을 고백합니다;;

호텔이나 전문 음식점에서는 케첩 바른 파스타가 존재 자체가 가능하지 않죠.

집에서 대충 때운다고 생각하면 케첩 바른 파스타가 의미가 있지만요...

저는 특별한 날 셰프가 만든 이탈리안 파스타 먹고싶음

파스타가 문제가 아니고 저급와인이 2$일 때 고급 와인은 몇천만원씩하는데 수요가 꾸준히 있음

저도 특별한 날 이라면 이탈리안 파스타를 먹겠습니다만... 평시(?) 라면...

멋진 멘트시네요. 단 3줄로 깔끔하게 요약됩니다.

우리는 엔지니어입니다. 내가 다루고 제안하는 것들을 이해하고 책임지는 게 바로 엔지니어에요. 그런 게 필요하지 않다고 주장하는 건 그냥 본인이 그런 환경에서 일하고 있는 것뿐입니다. AI는 그 본질을 바꾸는 게 아니라, 오히려 극단적으로 드러낼 뿐입니다. PR을 이해하지 못해도 전혀 문제 없다면, 그건 더이상 PR이 아니겠죠.

회사에서 상사가 부하의 일을 이해하지 못하면 일을 시킬 수 있을까요
이해하지 않아도 해준다? 무엇을 하는지 감당할 수 있을까요

인간의 산물은 언제나 대체로 '인간의 의도'가 중요했습니다. 구현 자체가 아니라

계산기가 나왔다고 수학을 공부 안하는건 아닌것처럼...

내 영역은 대체 될 수 없기를 바라기보단, 되도록 빠르게 다같이 대체 되기를 바라는게 현실적이라고 봅니다. 다들 어렴풋이 느끼고는 있을거에요.

어셈블리어를 몰라도 코딩이 가능하듯
rust를 몰라도 코딩은 가능해질 것 같은데요.
어차피 사람도 코딩 할때마다 코드가 달라지는걸요. 사람마다도 다르구요.
하지만 모두 러스트 개발자죠.

Ai의 복잡도 문제는 결국엔 ai가 해결할 거라고 생각합니다. 인간만이 할 수 있다는 착각과 자존심을 버려야 합니다.

현재같은 LLM 구조에서는 불가능합니다. 전혀다른 패러다임이 필요합니다.

그래도 그 사이에 인간은 먹고 살아야하니까요 ㅠ

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

AI의 발전으로 프로젝트에서도 사람을 실제 줄이고있어요 한명이 줄어들면서 관리자는 비즈니스와 더불어 AI를 잘 사용하지못하면 정리대상이 되는것같습니다

무조건 줄일려고 하기 보다는 그 인원을 다른 쪽으로 돌려서 새로운 일이나 그동안 못하던 일을 시키는 편이 좋을텐데요. 갑자기 줄이는건 너무 근시안적이죠.

아직까지 LLM/Agentic Coding은 우수한 tool이지 우수한 Engineer는 아닙니다. Agentic coding에서 우수한 Plan이 중요한 것처럼 결국 사용자가 코드를 이해하고 판단할 능력이 있어야합니다. 예를 들어, fastrender, CCC 가 Agentic Coding의 가능성을 보여줬지만 동시에 명확한 한계점을 보여줬습니다.

다르게 질문하고 싶어요.... "우리 자식한테, 이 직업을 권할 것인가?"

제 주변에 많은 사람들이, 자식을 컴공에 보내는게 대세였습니다. 이제는 많이 바뀐것 같습니다.

바이브코딩 이후의 사람들은 개발 공부하기가 쉽지 않을 것 같아요. 공부가 너무 비효율적이게 돼서.... 딸깍으로 만족하기가 쉬워서.

바이브코딩은 그저 결과물을 만드는 것 뿐이고, 구현 결과물에 대한 이해가 있고 없고의 차이그 정말 클 것 같아요. 그 이해는 말씀하신 "개발 공부"를 통해 나온다고 생각하구요.

오히려 AI 발전으로 인해 무언갈 배우는 비용이 크게 절감돼서, 더 많은 것들을 배울 수 있는 좋은 시기인 것 같습니다.

바이브코딩으로 돌아가는 코드를 만들 순 있지만 그걸 결국 검수해야 하는 건 사람이고, 바이브코딩만으로 유지보수가 용이하고 확장성 있는 코드를 만들어내긴 쉽지 않죠.

그리고 결국 사람이 검수하는데 시간이 더 들어가서 생산성은 거기서 거기라는 연구 결과도 있습니다.

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

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

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

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