6P by GN⁺ | ★ favorite | 댓글 3개
  • 전문 프로그래머인 글쓴이는 자녀에게 코딩을 가르치려던 확신이 GPT-4 경험 이후 흔들렸고, 아이가 타자를 칠 나이가 될 때 코딩의 직업적 가치가 달라질 수 있다고 봄
  • 최신 코딩 경험이 거의 없던 친구 Ben은 ChatGPT Plus와 GPT-4로 명령줄 도구, iPhone 단어 평가 앱, 마이크로컨트롤러와 Firebase 연동 코드를 빠르게 만들어냄
  • 코딩은 오랫동안 인내, 반복 디버깅, 기계의 한계를 감각적으로 이해하는 mechanical sympathy를 요구했지만, AI 보조는 세부 구현과 난해한 지식의 일부를 자연어 대화로 대체하기 시작함
  • GPT-4는 아직 전문 프로그래머보다 못한 부분이 있고 일반인이 같은 방식으로 다루기도 어렵지만, 프로그래머와 AI가 결합한 centaur 형태는 단독 인간이나 단독 AI와 다른 생산성을 보임
  • 코딩 자체의 중요성이 줄어들수록 무엇을 만들지 판단하고, 사용자가 좋아할 것을 이해하며, 기술적으로도 인간적으로도 소통하는 능력이 더 중요해질 수 있음

GPT-4가 흔든 코딩의 직업적 확신

  • 글쓴이는 부모가 읽기와 쓰기를 가르친 것처럼 자신의 아이에게도 컴퓨터 프로그래밍을 가르치려 했음
    • 코딩은 영화 제작부터 물리학까지 포괄하는 새로운 기술이자 필수 역량으로 여겨졌음
    • 전문 코더인 그는 아이가 타자를 칠 수 있을 때쯤 코딩의 가치가 사라졌을 수도 있다고 느낌
  • 전환점은 친구 Ben과 함께 Times 스타일 크로스워드 퍼즐을 컴퓨터로 만드는 취미 프로젝트였음
    • 2018년에는 소프트웨어의 도움으로 토요일 퍼즐을 만들었고, 인간은 취향을 조금 적용하는 정도였음
    • 이번에는 인간의 손길 없이 퍼즐 제작 프로그램을 만들려 했음
  • Ben은 하드웨어에는 강했지만 전문 코딩 경험은 짧고 얕았으며, 거의 20년 전 수준에 머물러 있었음
    • 그러나 ChatGPT Plus에 가입해 GPT-4를 코딩 보조로 쓰기 시작함
    • 프로젝트에 필요한 작은 도구를 놀랄 만큼 빠르게 직접 만들어냄

취미 프로젝트에서 본 AI 코딩 보조의 성능

  • 사전 파일에서 무작위 100줄을 출력하는 명령을 만들 때, 글쓴이는 문제를 생각하고 검색하며 시행착오를 겪었음
    • Ben은 GPT-4에 원하는 것을 말했고, 실행되는 코드를 얻음
    • 글쓴이는 이런 명령은 원래 까다롭고 누구나 찾아보는 영역이라 “진짜 프로그래밍”은 아니라고 여김
  • 며칠 뒤 Ben은 사전 단어를 평가하는 iPhone 앱을 만들고 싶다고 했음
    • 글쓴이는 Apple의 프로그래밍 환경, 새 언어, UI 컴포넌트, 패키징 과정을 배워야 해서 iPhone 앱 제작을 부담스럽게 봄
    • 다음 날 Ben은 원하는 기능을 정확히 수행하고 귀여운 디자인까지 갖춘 앱을 보냄
    • Ben은 몇 시간 만에 만들었고, GPT-4가 대부분의 어려운 작업을 처리했다고 말함
  • Ben은 왕 Charles 초상화 프레임에 작은 스피커와 빨간 LED를 연결하는 프로젝트도 진행함
    • 웹사이트에 메시지를 입력하면 스피커가 음악을 재생하고 LED가 왕관 보석처럼 모스 부호를 깜빡이는 장치였음
    • 새 메시지를 가져오는 코드는 마이크로컨트롤러와 Firebase 지식이 필요해 Ben에게 어려웠음
    • GPT-4는 Firebase의 적절한 기능과 마이크로컨트롤러에서 쓸 수 있는 코드를 제안함
  • Ben은 GPT-4로 Nokia 휴대전화의 Snake 게임 같은 것도 만들었음
    • 짧은 대화 뒤, 패배 시 최적 경로에서 얼마나 벗어났는지 보여주는 기능까지 추가하게 함
    • 글쓴이는 이 수정 작업을 자신도 할 수 있을지 확신하지 못했음
    • GPT-4는 약 10초 만에 이를 수행함

코딩이 주던 매력과 숙련의 형성

  • 글쓴이가 컴퓨터에 처음 매혹된 계기는 1990년대 초 Montreal에서 형과 Mortal Kombat를 하던 경험이었음
    • 형은 MS-DOS 터미널에서 FTP 서버에 접속해 명령을 입력하고, 게임 속 모든 fatality 지시가 담긴 코드를 출력했음
    • 글쓴이는 형을 해커처럼 여겼고, 숨겨진 장소와 지식을 찾는 데 매력을 느낌
  • “The Hacker’s Manifesto”의 “내 범죄는 호기심”이라는 문장과 1995년 영화 “Hackers”는 지식이 힘이라는 감각을 강화함
    • 영화 속 Dade Murphy는 컴퓨터 책 표지만 보고 알아보며, 키보드 입력으로 학교 스프링클러와 유조선 평형을 제어함
    • 글쓴이에게 해킹은 파괴보다 숨겨진 것을 배우는 행위에 가까웠음
  • 고등학교 때 산 Ivor Horton의 “Beginning Visual C++”는 1,200쪽짜리 첫 입문서였음
    • 초반은 쉬웠지만 “Dynamic Memory Allocation” 부분에서 막힘
    • 그는 이를 중세 학생들이 어려운 첫 지점에 붙인 말인 pons asinorum, 즉 “당나귀의 다리”에 비유함
  • “Hello, world”를 실행하기까지의 경험은 프로그래밍이 지식이나 기술보다 인내와 집착에 가깝다는 느낌을 줌
    • Borland C++ 컴파일러를 작동시키려 여러 날 고생했고, 하나의 오류를 고치면 다른 오류가 나타났음
    • 마침내 “Hello, world”가 표시되자 컴퓨터가 자기 목소리로 깨어나 인사한 것처럼 느껴짐
  • 대학 시절에는 작은 프로그램을 만들며 코딩의 즐거움을 넓혀감
    • 2006 Masters Tournament에서 Tiger Woods가 버디나 보기를 할 때 문자 메시지를 보내는 프로그램을 만듦
    • “Ulysses”의 문장을 무작위로 뽑아 음절 수를 세고 하이쿠를 조립하는 프로그램도 작성함
    • 친구들과 즐긴 “Jimbo Jeopardy!”를 14시간 동안 만들며, 누군가가 자신이 만든 것을 즐기는 경험의 강렬함을 느낌

소프트웨어 엔지니어의 전성기와 자동화의 역설

  • 2009년 금융위기 속에서 2.9 GPA로 졸업했지만, 프로그래밍 실무 경험 덕분에 첫 정규직을 쉽게 얻음
    • 당시 기업들은 우수한 프로그래머를 두고 경쟁했고, 경험 있는 프로그래머에게 공격적으로 연락했음
    • 컴퓨터 과학 전공 인기는 폭발하기 시작했고, 코딩 부트캠프는 1년 안에 초보자를 고연봉 프로그래머로 만들 수 있다고 내세움
  • 저금리와 기술 섹터 성장 속에서 소프트웨어 엔지니어의 대우는 높아짐
    • Google 같은 회사는 무료 에스프레소, 케이터링 식사, 좋은 의료 복지, 육아휴직, 사내 체육관, 자전거 보관소, 캐주얼 복장, 20% time 같은 관행을 확산시킴
    • 코딩 작업은 언제든 버그가 드러날 수 있어 기간 추정이 어리석다고 여겨졌고, 마감은 금기처럼 다뤄짐
    • 압박이 심하면 “burnout”이라는 말만으로 몇 달을 벌 수 있다는 분위기도 있었음
  • 이런 대우가 계속될 수 있는지에 대한 의문도 커짐
    • 과거 웹디자인도 주말 작업으로 수천 달러를 벌 수 있을 만큼 수요가 컸음
    • Squarespace 같은 도구가 등장하면서 피자집 주인이나 프리랜서 아티스트도 클릭만으로 웹사이트를 만들 수 있게 됨
    • 전문 코더에게는 고수익·저노력 업무 일부가 사라짐
  • 프로그래머 커뮤니티의 대응은 더 어려운 기술을 계속 배워야 한다는 쪽에 가까웠음
    • 소프트웨어 엔지니어는 자동화를 좋아하고, 뛰어난 엔지니어는 다른 종류의 일을 쓸모없게 만드는 도구를 만듦
    • 코드 하나가 수백만 명의 작업에 영향을 줄 수 있다는 레버리지가 프로그래머 대우의 근거였음
    • 같은 자동화 본능은 프로그래머 자신의 일도 일부 대체함

AI 시대의 프로그래머, centaur와 남는 역량

  • 회사에서 AI 챗봇을 프로그래밍 보조로 사용할 수 있게 된 뒤, 글쓴이는 처음에는 의식적으로 피했음
    • 곧 동료 화면에서 AI 채팅의 질의응답 패턴을 자주 보게 됨
    • 동료들은 이런 도구가 생산성을 높이고, 어떤 경우 문제를 10배 빠르게 풀게 해준다고 말함
  • 글쓴이는 AI가 퍼즐을 푸는 즐거움과 스스로 해결했다는 만족감을 빼앗을까 걱정함
    • 일반적인 프로그래밍 결과물은 대개 흥미롭지 않고 때로는 우스울 만큼 평범함
    • 예컨대 중요한 문서의 테이블에 여러 열을 가로지르는 헤더를 추가하는 일은 결과만 보면 단순했음
    • 그러나 사용자 API를 어떻게 만들지, 데이터가 없는 열이 빠질 때 어떻게 처리할지 고민하는 과정이 즐거움의 핵심이었음
  • 결국 그는 업무 중 검색 결과에서 사용자 쿼리와 일치하는 부분을 강조하는 작은 도구를 만들며 GPT-4를 사용함
    • Edsger W. Dijkstra는 1978년 “On the Foolishness of ‘Natural Language Programming’”에서 자연어는 컴퓨터가 제공하는 정밀성을 버리는 방식이라고 봄
    • 실제 GPT-4 사용은 “문제를 풀어줘”라고 말하는 수준이 아니었고, 초보자에게 말하듯 원하는 것을 조심스럽게 지정해야 했음
    • 실패를 보며 프롬프트를 덜 야심적으로 바꾸고, 문제를 구체적이고 추상적이며 모호하지 않은 하위 문제로 나눠야 했음
  • 이후 작업 곳곳에서 GPT-4가 들어맞는 크기의 빈틈이 보이기 시작함
    • 크로스워드 출력 결과를 보기 좋은 웹페이지로 바꾸는 작업에서도 GPT-4와 대화함
    • 각 글자를 가로·세로 단어와 연결해야 하는 세부 문제가 있었지만, 예전처럼 숫자, 패턴, 루프를 머릿속으로 시뮬레이션하지 않음
    • Geoffrey Litt가 비슷한 경험 뒤 쓴 것처럼 “상세한 프로그래머 두뇌”를 쓰지 않았다는 감각이 남음
  • Go의 Lee Sedol과 체스 사례는 AI 이후에도 기술의 문화가 사라지지만은 않는다는 점을 보여줌
    • Lee Sedol은 2016년 AlphaGo에 패했고, 며칠간의 대국 끝에 한 판을 이긴 것을 자랑스럽게 여겼으며, 3년 뒤 은퇴함
    • 체스는 AI가 정복한 뒤에도 더 인기 있어졌고, 학습자는 AI 코치에게 자신의 수준 바로 위 문제와 패배 원인을 받을 수 있음
    • 최상위 그랜드마스터들은 컴퓨터가 제안한 수를 신의 석판처럼 연구함
  • GPT-4는 현재 글쓴이보다 못한 프로그래머이고, 일반인도 프로그래머처럼 다루기 어렵지만 centaur 방식은 이미 등장함
    • Ben 단독은 글쓴이보다 훨씬 못한 프로그래머이고 GPT-4 단독도 아직 글쓴이보다 못하지만, Ben과 GPT-4의 조합은 위협적인 생산성을 보임
    • 소프트웨어를 만들기 쉬워지면 더 많이 퍼지고, 프로그래머는 설계, 설정, 유지보수를 맡게 될 수 있음
    • 코딩 자체가 덜 중요해지면 무엇을 만들 가치가 있는지, 사용자가 무엇을 좋아하는지, 기술적으로도 인간적으로도 어떻게 소통할지가 더 중요해질 수 있음
  • 자녀에게 가르칠 것은 특정 기술보다 해킹의 정신일 수 있음
    • 미래에는 C++나 Python을 직접 입력하는 프로그래밍이 펀치카드에 이진 명령을 내리는 것처럼 우스워 보일 수 있음
    • 컴퓨터에게 원하는 일을 정확히 시키는 것이 공손히 요청하는 일이 될 수도 있음
    • 농경 시대의 코더는 물레방아와 작물 품종을 만졌고, Newton 시대에는 유리, 염료, 시간 측정에 집착했을 수 있음
    • 다음 세대는 부모가 블랙박스로 여겼던 AI의 내부를 파고들며 밤을 보낼 수 있고, 코딩의 시대가 저물어도 해킹은 계속됨

댓글과 토론

글의 뒷부분이 살짝 잘려서 요약되었는데, 마지막 문장이 중요합니다.

"I shouldn’t worry that the era of coding is winding down. Hacking is forever."
"코딩의 시대가 저물고 있다고 걱정할 필요는 없습니다. 해킹은 영원하니까요."

Bard도 통합 기능이 제공되자마자 바로 프롬프트 인젝션으로 정보 유출하거나 그런 게 가능한 거 보면
해킹은 영원한 것 같습니다.

Hacker News 의견들
  • GPT-4는 정말 인상적이지만, 내게 소프트웨어 개발의 핵심은 코딩 자체가 아니었음
    GPT-4는 자주 실패하고, 실패 방식도 명확하지 않으며, 학습 자료가 부족한 분야에서는 더 크게 무너짐
    설령 20배 좋아진다 해도 좋은 소프트웨어를 더 싸고 쉽게 만들 수 있다면 세상에는 좋은 일이라고 봄
    코딩을 진짜 취미로 즐기는 사람이라면 AI가 그걸 막지는 않으며, 설령 코딩이 사라진다 해도 소프트웨어 공학의 핵심은 원래 거기에 있지 않았다고 느낌

    • 온라인 선례가 없는 복잡한 고수준 문제의 해법을 도구가 스스로 고안하는 단계까지는 아직 꽤 멀다고 봄
      LLM은 빠르고 꽤 괜찮지만 오류가 많은 Stack Overflow 대체재에 가깝고, 프로그래머 역량을 보완하는 도구로는 단기·중기적으로 순효과가 커 보임
    • GPT-4가 내 전문 엔지니어링 영역에서 유용한 해법을 만든 적은 없음
      막히는 문제들은 보통 범위가 너무 넓고 복잡해서 사람 머리에도 잘 안 들어가는 것들인데, GPT는 거의 쓸 수 없는 해법을 내놓음
      코드에 대해서는 두루 알지만 깊이가 얕은 만능 잡역부 같고, 주니어~중급 개발자에게는 다를 수 있음
    • GPT-4가 여러 버그를 교묘히 숨긴 코드를 몇 시간씩 디버깅하는 건 꽤 별로임
      겉보기엔 명백히 맞아 보이는 코드를 디버깅하는 게 프로그래밍에서 제일 즐거운 부분인 사람은 거의 없을 것
      그래도 LLM을 테스트 스위트를 통과할 때까지 루프로 돌리거나, 증명 보조기가 검증한 정확성 증명과 함께 코드를 내게 하는 식으로 더 나은 활용법을 찾을 수 있다고 봄
    • 나도 대체로 동의함. 평생 즐기면서 코딩한 프로젝트가 많았고, 내 책상에 원치 않게 떨어진 프로젝트에서도 즐길 방법을 찾곤 했음
      다만 내 취향은 사이클 수나 지연 시간 같은 정량 지표로 가치를 재는 더 학술적인 코드보다, 어느 정도 예술적 재량이 있는 프로젝트였음
      커리어 초반 즐겼던 종류의 코딩은 ChatGPT 이전부터 이미 줄어들고 있었고, 엔지니어가 가게를 지키던 시대에 시작한 건 지금 보면 특권이었던 듯함
    • 20년은 직업으로, 그보다 10년 이상은 취미로 해왔지만 코딩은 전체 과정에서 최악의 부분임
      코드는 별로고, 그냥 무언가를 만들고 싶을 뿐임
  • 시간이 갈수록 LLM에 덜 감탄하게 되는 건 나뿐인가 싶음
    2021년에 Copilot이 처음 나왔을 때는 나도 “곧 쓸모없어지겠구나” 하는 순간이 있었음
    하지만 직접 써본 경험과 연구들을 보면, 현대 LLM은 근본적으로 결함이 있고 범용 지능으로 가는 길 위에 있지 않다고 보임
    GPT-4는 3.5보다 낫지만 근본적으로 다른 것은 아니며, 5도 비슷할 것 같음. 나중에 진짜 강력한 AI가 나오면 우리가 이 기술에 쏟은 관심을 보고 웃게 될 듯함

    • 전혀 혼자가 아님
      처음에는 매우 인상적이었지만 이제는 아주 높은 수준의 개요 말고는 믿을 수가 없음
      예를 들어 사운드 신시사이저를 처음부터 구현해 오디오 샘플을 만들고 wave 파일로 저장하려 했을 때, 개념을 이해하는 데는 개요가 도움이 됐지만 코드는 미묘하게 틀렸음
      구조체 길이를 계산할 때 무엇이 길이에 포함되는지 같은 세부사항을 유독 못 맞췄고, 초보 입장에서는 맞는지 확신할 수도 없었음
      확인을 요청하면 사과하고 내가 듣고 싶어 하는 쪽으로 답을 바꿔서 신뢰할 수 없었음
      다만 혼자 프로그래밍할 때 외로움을 줄이는 도구로는 꽤 좋고, 아이디어를 던지고 반응을 보는 것만으로도 도움이 됨
    • Jaron Lanier는 튜링 테스트와 Blade Runner 사이의 공간에 대해 비슷한 생각을 함
      초기 영화 관객들은 단순한 흑백 영화도 섬뜩하다고 느꼈고, 화면으로 달려오는 기차를 보고 몸을 숙였음
      축음기를 처음 들은 사람들도 라이브 오케스트라와 구분할 수 없다고 했음
      기술을 익히면 그 기술을 알아보는 법도 배우고, 한계와 강점에 대한 감각이 생김. 그래서 시간이 갈수록 덜 인상적으로 느껴짐
      원래 못 할 줄 알았던 일을 해내면 감탄하기 쉽지만, 나중에 할 수 있을 거라 기대한 일을 못 한다고 해서 곧바로 무시하게 되는 건 아님
    • GPT-4가 GPT-3.5보다 근본적으로 낫지 않다고 단정하기는 어려움. 내게는 밤과 낮처럼 다름
      GPT-5가 비슷한 도약을 한다면 그것을 쓰지 않고는 경쟁하기 어려워질 것
      둘 다 GPT 모델이고 단순한 자기회귀 언어 모델로 학습됐지만, GPT-4가 여러 맥락에서 요청에 맞게 정보를 제대로 종합하는 순간 개인 수준에서도 극적인 변화를 체감함
      LLM은 결국 대량 텍스트에 대한 확률적 추론이지만, 충분한 연산량과 데이터가 있으면 큰 모델이 데이터를 최적으로 이해하기 위한 구조를 학습 중에 만들어낼 수 있다고 봄
      데이터가 다중양식이 되면 각 양식이 잘못된 세계 표현을 지우고 명확히 해주므로 효과가 단순 합이 아니라 곱셈처럼 커질 수도 있음
      텍스트·이미지·영상·오디오·미각 센서로 학습한 GPT-10이 얼마나 좋을지 보며 웃게 되겠지만, GPT-4도 인류가 밟은 어떤 단계보다 큰 전진이었다고 봄
    • 나도 비슷함
      “2와 2를 더하는 식을 써줘”라고 프롬프트를 넣어 필요한 2+2를 얻고, 마법 같은 효율이라고 주장하는 걸 진지하게 쓰는 사람들을 봄
      솔직히 글을 길게 쓰는 걸 별로 좋아하지 않고, 내게 코드는 일반 언어로 설명하는 것보다 항상 더 짧고 빠름. 애초에 그래서 코드가 필요한 것임
    • 처음 인상이 과대평가였고, 지금 인상은 거기서 내려온 보정처럼 들림
      높은 기대에서 보면 “근본적으로 결함 있다”고 할 수 있지만, 많은 사람이 생각하듯 “쓸모없다”는 기준점에서 보면 놀라운 도구라고도 할 수 있음
  • 주니어 개발자에게 주는 간단한 프런트엔드 테스트를 몇 달마다 ChatGPT에도 시켜보는데, 아직 통과한 적이 없음. 근처에도 못 감
    자신 있게 답하지만 미묘한 부정확성이 있고, 생성한 코드는 8페이지짜리 이력서에 기술 50개를 “마스터”했다고 적은 최근 부트캠프 출신이 내놓는 종류의 말 안 되는 코드와 비슷함
    더 좋아졌다면 나는 체감하지 못했음
    10년 전에도 자율주행 트럭이 10년 안에 트럭 산업을 뒤집는다고 했고, LLM을 둘러싼 언론 보도도 똑같음
    멋지긴 하지만 좌회전을 시킬 때마다 시속 100마일로 가속했다가 벽에 들이받는 수준을 언제까지 반복할 건가 싶음
    AI는 인간이 도저히 연결할 수 없는 점들의 별자리를 연결하고, 전문가가 결과를 검증한 뒤 진행하는 식으로 쓰고 싶음. gpt install로 새 CLI 도구나 앱을 받는 날이 언제 올지는 모르지만 곧은 아님

    • 몇 년 전 빠듯한 일정으로 공공 안전 핵심 시스템을 만들던 팀에서 관리자 백엔드 와이어프레임을 CSS로 옮겨야 했음
      그럭저럭 만들었지만 픽셀 단위로 일치하지 않았고, 팀 리드가 다시 하라고 했음. 비즈니스 가치는 0이었지만 우리 팀은 픽셀 퍼펙트를 자부심으로 삼던 상태였음
      그 일은 내가 프런트엔드 개발을 그만두게 만든 계기 중 하나였음
      최근 연습 삼아 ChatGPT에 비슷한 CSS를 만들어보게 했더니 완벽하게 해냈음
      나는 CSS에서는 중간 정도 실력이지만, ChatGPT가 있으면 CSS 고수들이 내는 품질에 가까운 결과물을 만들 수 있음. 글에서도 말하듯 중간급 제너럴리스트가 이제 전문가와 겨룰 수 있음
    • 어떤 테스트를 시키는지 궁금함. 지금도 통과할 수 있을 것 같은데
      내 경험은 꽤 다름. 나는 형식 검증도 필요하면 실제로 쓰는 까다로운 백엔드 개발자이고, 논리적으로 동작하지 않는 것에 짜증을 냄
      컴퓨터를 다루니 모든 게 논리적이어야 하지만 프런트엔드의 많은 부분은 내게 전혀 논리적이지 않음
      프런트엔드 담당자에게 “텍스트를 어떻게 가운데 정렬하냐”고 물으면 text-align이라고 하는데, 당연히 그걸 먼저 시도했지만 안 됨
      프런트엔드 사람들도 간단한 질문에 즉답하기보다 직접 해보고 실패해봐야 할 때가 있음
      이제는 Copilot이 답을 바로 뱉지 않으면 ChatGPT-4나 우리 코드베이스를 아는 개인 맞춤 GPT인 “front-end hacker”가 고쳐줌. 매일, 하루 종일 잘 작동함
    • Tesla AP/FSD 구현과 LLM 모두에서 비슷한 경험을 함
      처음 보면 미래에서 온 외계 기술처럼 느껴지는 멋진 묘기임
      하지만 시간이 지나면 구멍이 보이고, 몇 달·몇 년을 써도 그 구멍이 잘 메워지지 않는다는 걸 알게 됨
      개선 속도는 마케팅과 수사에 비해 메워야 할 격차 대비 중간 정도이고, 결국 안 쓰는 것보다 쓰는 게 일처럼 느껴지기도 함
      순수하게 데이터 주도적인 기계학습 접근법은 80%보다 훨씬 높은 정확도가 필요한 문제에는 안 맞을 수 있음
      55%만 맞아도 돈을 버는 거래 알고리즘, 스크롤할 영화·노래 목록을 보여주는 추천 엔진, 훑어볼 검색 결과, 받은편지함 잡음을 줄이는 스팸 필터에는 괜찮음
      하지만 “이게 정답”이라고 말하거나 “사람을 죽이지 않고 차를 몰라”는 문제는 훨씬 어렵다
    • ChatGPT에게 Python으로 동작하는 부드러운 보간 함수를 쓰게 하려고 2시간을 썼음
      대부분은 보간해야 할 두 점조차 지나지 않았고, 그걸 지적하니 점은 지나지만 더 이상 부드럽지 않은 함수를 내놓음
      여러 번 새로 시작하며 정말 시도해봤음
      이런 것이 기계를 제어하는 코드를 쓰면 완전한 혼란이 될 것이므로, 기계학습이 있는 세계와 로봇 배송 드론이 있는 세계 중 하나를 골라야 한다고 봄
      다만 변수에서 함수 매개변수를 만드는 식의 사소한 일은 괜찮게 했음
    • 최근 실제 코딩 벤치마크에서 상위 LLM들이 형편없는 성능을 보임: https://www.swebench.com/
      다만 이 과제도 결국 극복될 것 같고, 그때 남는 질문은 진짜 능력인지 데이터 누수인지가 될 것임
  • 사람들이 정말 지금을 이 기술의 황혼기라고 보는지 이해가 안 됨
    내 관점에서는 곧 코딩의 양자적 생산성 시대에 들어갈 것 같음
    AI 보조가 내가 작성하는 것을 개선할 뿐 아니라, 작업하면서 배우는 데도 도움을 주기 때문에 매우 기대됨. 지난 1년만큼 소프트웨어 작성이 즐거웠던 적이 없음
    수십 년 동안 소프트웨어를 작성해왔지만, 이제는 막히는 지점을 넘어서고 선택을 이해하도록 도와주는 코치가 거의 항상 곁에 있음
    동료 자리로 가서 문제를 묻는 수준이 아니라, 실제로 결과에 영감을 주는 생산적인 해법을 줌
    정말 놀라움
    왜 코딩이 끝나간다고 보는지 모르겠음. 인공지능 코딩 보조가 괜찮은 개발자를 대체할 것이라는 증거는 보이지 않음. 무언가를 만드는 능력이 정말 형편없다면 몰라도
    누군가 “이제 기초 공사는 무료지만, 집은 여전히 지을 수 있다”고 말한 느낌임
    나는 여전히 집을 지어야 하고, 설계하고 디자인하고 만들고, 사람들에게 알리고 지원하고 옹호하고 설명해야 함. 다만 기초를 직접 안 만들어도 되니 쉬워진 것임

    • 정말 놀랍다는 데는 동의하지만, 이 새로운 개발 경험을 얼마나 많은 사람이 누릴지를 결정할 경제적 질문은 빠져 있음
      AI가 개발자를 두 배 생산적으로 만들면, 추가된 개발 역량이 기존·신규 수요에 흡수될까? 개발자 수가 절반이 될까? 아니면 같은 수의 개발자가 훨씬 낮은 임금을 받게 될까?
      단 하나의 기존 개발자 일자리도 AI에 완전히 대체되지 않더라도 이런 질문은 생김
      또 어떤 종류의 일이 AI 자동화에 잘 맞는지도 중요함. 좁은 맥락에서 많은 작은 기술 세부사항을 알아야 산출물에 작은 변화를 내는 CSS 같은 작업이 떠오름
      이런 종류의 코딩을 하고 있다면 더 넓은 책임을 포함하도록 기술 범위를 넓힐 때라고 봄
    • “기초가 무료가 됐지만 아무도 그 기초가 어떻게 작동하는지 모르게 된다”는 이유로 기술이 저물어간다고 볼 수 있음
      과거의 코더가 이해해야 했던 여러 층을 최근 진입자들은 이해하지 못하고, 그 층들이 여전히 미묘하게 동작에 영향을 줄 수 있음
      지난 수십 년 가장 널리 퍼진 웹 기술 분야에서 13년 넘게 프로그래밍한 사람이라면, 웹이 의존하는 전체 스택을 해마다 이해하기 어려워지는 것을 느끼며 기술이 저문다고 볼 수 있음
      프런트엔드에서는 누군가가 한 일을 코드만 보고 배우기가 점점 어려워짐. 현대 빌드 기술 때문에 사이트 코드를 보는 일이 별 도움이 안 되고, 이런 불만은 이미 13년 전에도 있었음
      아이가 있거나 업무 밖 책임이 있으면, 소프트웨어가 계속 더 많은 영역을 먹어치우는 상황과 맞물려 학교 밖 사람들은 의도적 수련으로 기술을 갈고닦기가 더 어려워짐
      생산성 향상이 곧 장인정신의 향상을 뜻하지는 않음. 산업화는 생산성을 높이고 많은 제품을 보급했지만 장인 기술에는 이롭지 않았다는 점과 비슷함
    • 하드웨어에서 벌어진 일이 소프트웨어에서도 일어날 것 같음
      예전에는 보드에 부품을 납땜하고 여러 집적회로를 연결할 수 있는 사람들을 흔히 봤고, 나도 대학에서 해봤음
      이제 그런 장인층은 사라졌고, 컴퓨터 하드웨어 작동 원리를 극도로 잘 아는 전문가이거나 그냥 하드웨어를 사서 마법처럼 취급하는 사람으로 나뉨
      전통적으로는 중간 단계를 거쳐 관심을 보이고 훈련받아 전문가가 됐고, 취미가 직업으로 이어질 수 있었음
      지금 칩 공장에서 일하려면 “납땜 인두를 들던 아이”였기 때문이 아니라 긴 학문적 과정을 거쳤기 때문임. 납땜이 석기시대처럼 보일 만큼 고급 내용을 배우게 됨
      소프트웨어에는 아직 이런 중간 장인층이 있지만 LLM 때문만이 아니라 빠르게 사라지고 있음
      웹사이트를 대충 연결해 동작하게 만드는 사람, Excel이나 Python 스크립팅으로 일상 업무를 처리하지만 고급 개념은 모르는 사람이 많음
      GPT류가 등장하면 전문가들은 주니어의 도움이 덜 필요해짐. 시스템 아키텍트가 골격을 그려놓고 작은 작업을 주니어에게 나눠주기보다 LLM에서 필요한 것을 얻을 수 있음
      결과적으로 최고 수준으로 훈련되는 사람은 줄고, 그 소수는 훨씬 생산적이 되겠지만 많은 사람이 중간에서 고립될 것임
    • 요즘 소프트웨어 비관론자들은 업계 변화에 대한 관점이 부족한 경험 없는 사람이거나, 애초에 기본적인 CRUD와 데이터 전달 앱 이상을 잘 못 만들던 사람들처럼 느껴짐
    • 글쓴이는 전문 프로그래머가 아님. 몇 개의 사이드 프로젝트가 있고 코딩을 잘하는 것 같지도 않음
  • AI가 좋은 코드를 쓰고 시간이 지나며 더 나아질 수 있다는 점은 부정하지 않지만, 대부분의 개발자를 AI가 대체하는 업무흐름이 어떻게 작동할지는 모르겠음
    주니어 프로그래머의 CRUD 엔드포인트 작성 같은 일을 예로 들면, 내가 원하는 것과 정확히 맞는 요구사항을 설명하는 시간이 Copilot 같은 도구의 도움을 받아 직접 코딩하는 시간보다 더 걸릴 수 있음
    비기술 사용자가 AI로 A부터 Z까지 개발한다고 상상할 수 있을까? 생성 코드에 버그가 있으면 어느 시점에도 사람이 개입하지 않아도 된다고 볼 수 있을까?
    버그가 났을 때 기술자가 개입하더라도, AI가 쓴 것을 조사하고 사후에 무슨 일이 있었는지 이해하는 데 시간이 들면 코드 작성 비용 절감분은 금방 사라짐
    결국 코드 작성은 일의 작은 부분이고, LLM은 코드 생성에는 좋지만 본질적으로 문제 해결자는 아님
    이 기술은 놀랍지만 개발자의 도구함에 들어갈 또 하나의 도구가 될 것 같음. 훌륭한 튜터이기도 하고, 웹페이지 내용을 긁어오는 스크립트 같은 독립적인 문제에서는 개발자를 부르지 않아도 되게 해줌

    • 현재 상태로는 개발자를 완전히 대체하지 못한다는 데 동의함
      하지만 많은 개발자의 업무흐름을 훨씬 쉽게 만들어, 더 적은 인원으로도 되거나 같은 인원으로 더 많은 일을 하게 만들 수 있음
      이 스레드의 다른 곳에서도 썼음: https://news.ycombinator.com/item?id=38259425
      기본적으로 평소 시간을 많이 잡아먹는 일들에 대해 매우 강력한 범용 보조자이자 브레인스토밍 동료로 느꼈음
      코드에만 국한되지 않고, 거친 정보를 주고 일관된 문서로 정리하게 하거나 피드백을 받는 등 문서화에도 썼음
      새 프로젝트에 온보딩할 때 이해하기 어려운 문서 조각을 넣어 설명받는 데도 도움이 됨
      경영진 관련 잡무에서도 요청사항과 내 관점을 넣고 특정 관점에 맞춘 답변을 만들게 해서 정신적 에너지를 덜 썼음
      물론 팀의 다른 사람들과도 할 수 있지만 항상 곁에 있지 않고 그들도 할 일이 있음. ChatGPT 같은 도구는 지치지 않아서, 만족할 때까지 계속 “왜?”라고 묻는 내면의 유아를 마음껏 꺼낼 수 있음
      다른 사람에게 물을 수 있을 때도, ChatGPT는 질문을 다듬는 데 도움이 됨
    • 지금 단계에서는 주니어와 비슷함
      상용구나 지루한 작업, 사람이 설명한 알고리즘을 코드로 옮기는 데 꽤 유용함
      코드의 언어 변환도 잘하고, 제대로 지시하면 일을 처리함
      고용 전망에는 큰 영향을 줄 것임. 아직 엔지니어를 대체하지는 못하지만, 특정 기술의 구현 전문가로 특화한 사람들은 위험함. 생산성 증가만으로도 수요는 줄어들 것임
    • 덴마크 공공부문 디지털화에서 오래 일했는데, 프로그래머가 필요 없다고 주장하던 노코드/로코드 도구들은 번번이 실패했지만 GPT는 성공하고 있음
      98개 지방자치단체에서 본 일화적 경험으로는 그런 도구들이 오래 작동한 적이 없었음
      반면 이제는 디지털 감각이 있는 직원들이 ChatGPT 도움으로 무언가를 만들고 자동화함
      장기 유지보수 관점에서는 이전 RPA나 워크플로 도구처럼 형편없는 것도 많지만, 이번에는 사람들이 직접 유지할 수도 있음
      다만 그들은 소프트웨어 개발자가 아니므로 확장성, 자원 사용량, 문서화, 오류 처리 같은 일은 안 됨
      그래도 대부분은 한 달에 몇 시간을 “절약”하는 정도라 실제 개발자를 붙일 만큼 중요하지 않아서, 90% 정도는 충분할 수 있음
      SharePoint Online 같은 도구의 개선과 결합하면 이전에는 내부 개발자나 외부 컨설턴트가 필요했던 일을 내부에서 처리할 수 있음
      이것이 소프트웨어 공학의 죽음은 아님. 확장되지 않고, 장기적으로 아마추어 아키텍처들이 서로 맞물려야 하면서 문제가 생길 것임
      하지만 딕셔너리에서 임의의 텍스트 몇 줄을 꺼내는 법을 Google로 찾아야 한다면 위험하지 않다고 말하기 어려움
      GPT는 “구글링해서 짤 수 있는 프로그램”을 꽤 쉽게, 그리고 충분히 좋게 처리하므로 업계에서 점점 더 많이 일어날 것임
      내 기록을 보면 LLM, 정확히는 GPT에 감탄하면서도 실망한다는 걸 볼 수 있음. 다른 모델들은 솔직히 별로임
      일상 업무에서 실제 개발에는 별 도움이 안 됐지만 문서는 대부분 써주고, 무서울 정도로 잘함
      Excel 데이터 매핑 시트에서 타입·클래스 등을 만들고 CRUD 기능을 생성하는 코드 생성도 많이 함. 예전에는 짧은 CLI 스크립트로 했지만 이제는 GPT가 대부분 처리함
      다만 효율성이 필요한 비즈니스 로직을 잘 설계한 코드로 다루는 데는 형편없고, 지금까지 조금도 나아지지 않았음
      유럽의 비기술 대기업과 이를 지원하는 거대한 IT·컨설팅 산업에는 GPT가 잘하는 일을 하는 개발자가 많고, 도구가 좋아질수록 소프트웨어 개발자는 전반적으로 훨씬 적게 필요해질 것임
      특히 걱정되는 건 우리가 아직도 CS 학생들에게 GPT가 잘하는 내용을 많이 가르친다는 점임
      나는 아카데미 수준 CS 학생의 외부 시험관인데, GPT는 커리큘럼을 거의 만점 받을 수 있음. 주로 기업용 “쉬운” 코드를 많이 생산하는 데 초점이 있기 때문임
      LLM이 본격적으로 자리 잡으면 많은 학생이 힘든 시간을 겪을까 두렵고, 커리큘럼은 제때 바뀌지 않을 것임. 덴마크 고등교육은 현실 적응이 느려 이미 10년 전부터 다소 낡아 있었음
  • “프로그래밍은 지식이나 기술보다 인내, 어쩌면 집착에 가깝다. 프로그래머는 끝없는 지루한 장애물 행렬을 견디는 사람들이다”라는 말이 AI 보조 프로그래밍에 낙관적인 이유를 잘 잡아냄
    프로그래밍 입문 곡선은 끔찍하게 가파른데, 어려워서가 아니라 짜증나기 때문임
    실제로 무언가를 만들고 진전한다고 느끼기 전까지 이상한 오류 메시지와 빠진 세미콜론 속에서 6개월을 버텨야 함
    대부분은 포기하고 자신이 “충분히 똑똑하지 않다”고 여기지만, 실제로는 그 진흙탕을 통과할 만큼 인내심이 없었던 것임
    LLM은 그 초기 학습 곡선에 큰 영향을 준다고 봄. 더 많은 사람이 기본 프로그래밍을 배워 삶의 지루한 반복 작업을 컴퓨터로 자동화할 수 있게 되는 건 좋은 일임

    • 컴퓨터는 무례하고 정직하며, 인간은 추한 진실보다 예쁜 거짓말을 선호함
      프로그래머는 일상에서 어떤 직업보다 추한 진실을 받아들여야 함. 물리 공학자, 건설 노동자, 수리공도 이 덕목이 필요하지만 피드백 주기가 느려 덜 자주 요구됨
    • 솔직히 한 걸음 후퇴라고 봄
      Google Translate가 모두를 스페인어에 유창하게 만들었다고 말하는 것과 비슷함
      결국 ChatGPT를 효과적으로 쓰려면 여전히 코드를 검토하고 작동 방식을 이해해야 함
      코드를 실제로 타이핑하는 일은 소프트웨어 개발의 어려운 부분이 아니었음
      이 도구가 개발자를 6개월 앞당기는 정도라면, 학교에서 컴퓨터 과학 수업을 제공하는 편이 연산 자원 대비 낫고 훨씬 강한 세대의 엔지니어를 만들 수 있음
    • 맞음. LLM은 삶의 질을 개선할 다른 방법도 많음
      사용자가 많은 복잡한 소프트웨어 프로젝트에는 사실상 버려진 끝없는 버그 티켓 backlog가 있음
      몇 달 전 Firefox에서 25년 된 버그가 고쳐졌던 것 같음
      대부분의 컴파일러와 프레임워크에는 “X가 발생할 때 오류 메시지 개선” 같은 티켓이 쌓여 있지만, 프로그래머 시간이 너무 비싸 우선순위에 오르지 못함
      시간이 지나며 시니어와 주니어의 차이는 지능이나 실제 경험보다, 제품 수명 종료 전에 해결되지 않는 버그와 사용성 문제를 헤치며 쌓인 흉터가 되는 경우가 많음
      AI가 프로그래머를 완전히 대체하려면 큰 돌파구가 몇 번 더 필요하겠지만, 버그 추적기에 풀어놓고 하루 종일 사소한 수정사항을 만들게 하는 건 충분히 가시권에 있음
      그러면 인간 프로그래밍은 더 재미있고 배우기 쉬워질 것임
    • 이 말이 정말 기분 좋게 들림
      쓰는 앱의 한계에 묶여 사는 평범한 사람들과, “Python으로 자동화하기” 류 책의 인기가 떠오름
      이 새로운 기술 덕분에 사람들이 더 이상 그런 한계에 묶이지 않는다면 꽤 멋진 일임
    • LLM을 써도 여전히 지저분하고 지루한 일은 남아 있음
      코드는 여전히 복잡하고 깨지기 쉬운 산물임
      LLM이 코드를 쓰는 것은 시작일 뿐이고, 대부분의 사람에게는 LLM 보조가 붙은 로코드/노코드가 더 이상적임
  • AI와 신경망을 하는 친구와 이런 논쟁을 하고 있음
    친구는 코딩이 곧 구식이 되고 ChatGPT식 코드 생성으로 전부 대체될 거라고 함
    나는 “시니어 엔지니어”로서 내 일의 압도적 대부분이 소통, 조직 내 리더십, 제품 요구사항을 실제로 이해하고 우리 시스템과 어떻게 맞물릴지 파악하는 것이라고 봄
    코드를 쓰긴 하지만, 그 대부분이 코드 생성으로 보강돼도 내가 하는 일의 대부분은 거의 바뀌지 않을 것임

    • 여기에 주니어 엔지니어를 넣으면 달라짐
      주니어의 일은 그런 게 아니라 등록된 이슈를 받아 구현하는 것임. 어려운 문제를 맡지 않고, 작업과 수용 기준을 함께 받음
      미래의 CodeGPT 같은 것이 그들의 프로그래밍 기술을 완전히 대체하면, 10년 뒤 그들이 시니어가 되는 경로는 어떻게 될까?
      지금의 시니어들은 10~20년 뒤 은퇴할 것이고, 자동 코드 생성의 혜택을 실제로 받은 사람들로 교체되면 “코딩”은 기계가 해주기 전의 노인들이 하던 일이 될 수 있음
    • 소통, 조직 리더십, 제품 요구사항 이해는 사람들과 일하기 때문에 생기는 문제처럼 들림
      AI 덕분에 더 작지만 더 유능한 팀이 가능해지면 리더와 회의가 덜 필요해지고 모든 것이 훨씬 효율적이 될 것임
      주니어 엔지니어 멘토링에 쓰던 시간도 작별해야 할 수 있음. 곧 주니어가 없을 테니까
    • 나도 동의함. 전문 개발자로서의 내 경험도 상당 부분 이렇음
      조직을 탐색하고, 다른 팀과 연결하고, 무엇을 해야 하는지 이해하려고 노력함
      내가 쓰는 코드는 실제로 하는 일의 부산물처럼 느껴짐
    • 만약 그렇다면 변화는 잔혹할 것임
      첫째, 관여하는 사람이 줄어들어 조율이 단순해질 것임
      둘째, 더 많은 사람이 조율 역할에 접근할 수 있게 되고, 보통 “코딩을 잘하는” 사람이 아니었던 직업군이나 성격 유형이 그 역할을 맡을 가능성이 큼
      기계가 예를 들어 만들어지는 것의 일반적인 작동 방식을 설명할 수 있다면, 그들에게 뛰어난 코딩 능력은 필요 없어짐
      그래서 일자리 영역은 크게 흔들리고 임금은 심하게 낮아질 것으로 예상함
    • 코딩을 “망치질”로 바꾸면 이 이야기와 비슷함: https://www.buzzmaven.com/old-engineer-hammer-2/
  • 이 글은 프로그래머가 쓴 것 같지 않고, 댓글 중 일부도 전문 엔지니어처럼 보이지 않음
    가까운 미래에 AI가 프로그래머 업무 중 현실적으로 어떤 부분을 대체할 수 있을까?
    논의를 위해 코딩 부분은 비용 효율적으로 대체할 수 있다고 치자. 그렇다면 다른 부분도 할 수 있을까?
    모호한 요구사항을 받아 디자인·제품팀 등과 명확히 하기, 복잡한 기능을 만들 만큼 AI에 충분히 지시하기, 코드 리뷰, 임의의 빌드 실패 처리, 다른 프로그래머와 이해관계자가 이해할 수 있게 기능 문서화하기, 프로덕션 이슈 디버깅과 수정하기 같은 것들이 있음
    현실적으로는 AI가 괜찮은 프로그래머를 효과적으로 대체할 가능성이 생기기 전에, 프로그래머가 AI를 활용해 더 효율적이 되는 긴 단계가 있을 것임
    더 추상적으로 사고하는 엔지니어에게 유리할 것이고, 저수준 프로그래밍 작업부터 먼저 흡수될 것임

    • 자동 코드 리뷰와 고품질 자동 문서화는 곧 LLM 능력 범위 안에 완전히 들어올 것 같음
      임의의 빌드 실패 수정도 그다음에 따라올 가능성이 큼
      그러면 프로그래머 업무의 몇 퍼센트를 가져갈 수 있는지, 남은 부분이 다른 기술 조합을 요구하는지가 질문이 됨
      코딩은 잘하지만 비즈니스가 약간 모호한 요구사항을 주면 큰소리로 불평하는 프로그래머들이 있음. 자기 일을 비즈니스 규칙을 명확히 하는 것이 아니라 코딩으로만 보기 때문임
      이 그룹은 모호한 상황에서도 비즈니스 요구사항을 이해하려고 기꺼이 일하는 프로그래머보다 더 큰 영향을 받을 것임
    • 그 글은 분명 프로그래머가 쓴 것 같은데, 왜 아니라고 하는지 모르겠음
    • GPT의 특징은 거의 모든 것에 대해 대략적인 지식을 가지고 있다는 것임
      오류는 만들지만, 그 오류가 인간 오류와 상관관계가 낮아 보임
      특히 Google이 점점 쓸모없어지는 상황에서, 내가 몇 시간 검색해야 할 내용을 알고 있기도 함
      개인적으로는 스크립팅과 실행 기능 보조에 사용함
    • Figma 목업과 모호한 요구사항을 받아 기존 코드베이스 안에서 사람 도움 없이 실제 코드로 바꾸는 AI 도구는 아직 못 봤음
      현재 도구들을 보면 여전히 한참 멀어 보임
  • 제목이 글과 잘 맞지 않는 느낌임
    제목은 프로그래밍이라는 기술이 대체될 것처럼 말하지만, 글은 결국 크게 변할 것이라고 주장하고 있고 내 직감도 그쪽에 가까움
    결국 진입 장벽이 낮아지고 있음. 이게 나쁜 일인가? 이기적인 관점에서는 그렇지만 사회적 관점에서는 아님
    캐나다와 어느 정도 미국이 마주한 문제 중 하나는 불평등이라고 봄
    더 “평균적인” 서비스 직종에서 일하는 사람들은 엔지니어보다 훨씬 적게 벌고, 지난 몇 년간 그 점이 꽤 불편했음
    생성 AI의 사회적 가치는 법률, 의료, 소프트웨어 공학 같은 지식 노동을 “평균적인” 사람들에게 훨씬 더 접근 가능하게 만드는 데 있음
    단점도 있겠지만, 권력을 고르게 나누는 편이 잘못된 엘리트주의보다 유토피아에 더 가까운 길일 것임. 후자는 전제정으로 가는 길처럼 들림

    • 법률, 의료, 소프트웨어 공학이 임금 불평등의 주요 원인이라고는 생각하지 않음
      최저임금이 가장 낮은 임금이고 프로그래머 급여가 가장 높은 임금이라면, 아메리카는 매우 평등한 경제일 것임
      미국에 남은 중산층 경로를 자동화하면 자동화 인프라를 소유한 자본가와, 줄어드는 비자동화 영역으로 밀려난 사람들 사이의 격차만 더 벌어질 것임
    • 소프트웨어 개발이 그렇게 단순해져서 말한 직종의 사람들이 할 수 있게 된다면, 임금도 급락할 것임
      그러면 그들의 상황이 좋아지는 것은 아님
    • 소프트웨어 개발자들이 두려워하는 건 자신들이 저임금 집단에 합류하게 되는 것이라고 봄
  • 매일 코딩하지는 않는 회색머리 입장에서 ChatGPT는 프로그래밍 조수로 인상적이었음
    월 20달러짜리 온콜 주니어 개발자가 있는 느낌임
    지난달 빠르고 지저분한 유틸리티가 필요했는데, 문제를 직접 4~5단계로 나눈 뒤 ChatGPT에게 각 단계의 함수를 쓰게 하고 내가 붙였음
    대부분은 순조로웠지만, 한 부분은 원하는 결과가 나오기까지 지나치게 많은 유도와 다듬기가 필요했음