16P by GN⁺ 24시간전 | ★ favorite | 댓글 11개
  • 처음 AI 코드 도구를 사용할 때는 놀라움과 효율성에 감탄했음
  • 특히 C++ 컴파일 에러 분석에 도움을 줘 마치 마법처럼 느껴졌음
  • GitHub Copilot과 다양한 LLM 기반 에디터 통합 도구를 사용하면서 개발 워크플로우의 일환이 되었음
  • 그러나 2024년 말에는 모든 LLM 통합 기능을 코드 에디터에서 제거했음
  • 여전히 AI를 가끔 사용하지만, 주된 워크플로우에는 포함시키지 않음

Tesla FSD와의 유사한 경험

  • 2019~2021년 동안 Tesla 차량을 몰면서 FSD를 자주 사용했음
  • 고속도로에서 FSD를 사용하자 운전에 대한 집중력이 점점 낮아졌음
  • FSD 의존으로 인해 스스로 운전하는 능력이 약화되었음
  • 다시 일반 차량으로 운전할 때 집중력을 되찾는 데 시간이 걸렸음

AI 코드 에디터 사용 경험

  • AI 도구를 사용할수록 작업 속도는 빨라졌으나 기본 실력은 약해졌음
  • 사이드 프로젝트에서는 AI 도구를 사용할 수 없어 불편함을 느꼈고, 자신감이 떨어졌음
  • 함수 정의, 테스트 코드 작성 등의 기본 작업에서 어려움을 느꼈음
  • AI에 의존하면서 구현 결정을 스스로 내리는 데 자신이 없어졌음
  • 결국 복잡한 작업에서 실력이 부족해졌음을 체감했음

직관적 감각의 상실

  • 독일어 ‘Fingerspitzengefühl’은 숙련자가 가지는 직관적 판단력을 의미함
  • 코드 작성에 있어서도 언어와 프레임워크에 익숙해질수록 생기는 감각임
  • 포인터 사용, 표준 라이브러리 선택, assert 사용 등 세부적인 기술 선택에서 이 감각이 중요함
  • AI 도구는 이 감각을 약화시킴
  • 코드의 품질과 유지보수를 고려할 때 인간의 직관은 매우 중요함

AI 도구 없이도 가능한 개발

  • AI 도구가 없다면 일을 못하게 될 것이라는 두려움은 과장임
  • 실제로 AI는 대규모 프로젝트나 레거시 시스템에서 그리 유용하지 않음
  • 사내 도구, 프레임워크, 내부 DSL을 사용하는 프로젝트에서는 LLM이 도움이 되지 않음
  • 보안 관련 코드(JWT, RBAC 등)는 AI에게 맡겨선 안됨
  • 보안은 직접 이해하고 책임져야 할 영역임
  • AI가 코드 작성부터 PR 리뷰, 배포까지 맡는다면 보안 문제가 급증할 것임

AI 사용의 기준점 설정

  • AI는 유용하지만 에디터에 통합해서 사용하는 방식은 피함
  • 직접 컨텍스트를 입력하고 필요한 코드만 받아 수동으로 적용함
  • 예: 테스트 변환, SIMD 계산 변환, 압축 데이터 디코딩 등
  • 이런 방식은 코드에 책임감을 느끼게 하고, 비용도 절감됨
  • 학습 용도로 AI를 사용하면 유익함: 어셈블리 코드, 셰이더, 네트워크 코드 등 설명 요청 시 특히 유용함
  • 개인 블로그에는 AI 생성 콘텐츠를 사용하지 않으며, 인간의 창작물을 선호함

좋아하는 일을 계속하기

  • 효율성과 생산성 외에도 ‘좋아하는 일’을 지속하는 것도 중요함
  • 체스처럼 AI가 이길 수 있더라도 사람들이 계속 즐기는 활동처럼, 프로그래밍도 즐거움으로 지속 가능함
  • 단순히 더 잘하는 것이 아닌, 자신이 즐기기 때문에 프로그래밍을 계속하는 것이 중요함

신입 개발자에게 전하는 조언

  • AI에 의존하는 ‘영원한 주니어’가 되지 말 것
  • 직접 코드 작성 능력을 키우고, 시스템의 원리를 깊이 이해할 것
  • 언더 더 후드에서 돌아가는 구조를 공부하면서 실력을 쌓는 것이 중요함
  • AI는 도구일 뿐이며, 그 자체로 완전한 해결책은 아님
  • 때로는 AI 없이 일하는 연습도 필요함
  • ‘바이브 코딩’만으로는 실력 있는 개발자가 될 수 없음
  • AI 없이 코딩할 수 없다면, 진짜 코딩을 하는 것이 아님

결론

  • AI는 속도를 위해 지식을 희생하는 행위임
  • 때론 이 트레이드오프가 가치 있지만, 기본기 훈련은 필수임
  • 실력 있는 개발자는 기본기를 반복적으로 연습함
  • AI가 직업을 대체하기에는 아직 멀었으며, 기업들은 FOMO를 유도해 투자를 유치하려는 목적이 큼
  • AI는 도구일 뿐이며, 사고의 대체물이 아님
  • 항상 호기심을 유지하고 학습을 지속하는 것이 중요함

AI에 무지성 의존했다간 아키텍처도 모르고 코드 한줄 못 짜는데 부하직원한테만 일을 시켜서 코드에 내재된 위험성도 모르고 문제가 생겨도 해결 방법을 못 찾는 무능한 관리자랑 개념적으로 똑같아질지도 모르죠. 사용툴만 인간지능에서 인공지능으로 바뀔 뿐이고.

AI 코드 에디터 사용 경험, 직관적 감각의 상실, 신입 개발자에게 전하는 조언 이 3가지 내용이 크게 공감되네요.

25년도 판 김대리 팡숀을 쓰지마십.. .일까요 ㅎ

글을 봐서는 노가다에 쓰지 말라는 말은 아닌것 같고, 사고를 AI에 의탁하지 말라는 말로 보이긴 합니다.

ㅎㅎ +1 입니다

드러운 노가다코딩에는 이만한게 없는데...

저는 대체로 공감합니다. 아직까지는 저런 감각이 필요한 영역이 있다고 생각하고, 인식하고 있는 것과 아닌 것의 차이는 꽤 크다 생각합니다. 도구로써 사용은 하되, 충분히 인지는 하고 있어야 한다고 봅니다.

컴퓨터도 쓰지 말지 뭐하러..

점점... 의도적 수련이 필요한 상황들이 오는군요... :)

???: "putty와 vi를 계속 쓰세요"

Hacker News 의견
  • 두 가지 종류의 기술이 있다고 믿음: 독립적인 기술과 기초적인 기술

    • 역사적으로 많은 독립적인 기술을 잃고 얻음
    • 논리, 추론, 연설 능력과 기초적인 기계 및 공학 원리에 대한 이해는 고대 그리스나 18세기 프랑스에서도 유용했을 것임
    • AI는 프로그래밍의 독립적인 기술에 사용하기 적합함
    • 프로젝트의 기초 아키텍처를 AI에 맡기면 기초 문제 해결 및 소프트웨어 설계 능력이 약화될 수 있음
    • AI는 독립적인 기술에는 유용하지만, 기초적인 기술에는 아직 미흡함
    • AI 기반 코드 편집기는 장기적인 기술 저하 위험 없이 유용함
  • 이제는 Cursor 같은 편집 수준의 AI 도구를 사용하지 않고, 인라인 텍스트 완성 및 채팅을 통해 문제를 해결함

    • AI에 너무 의존하여 뇌가 퇴화하는 느낌을 받음
    • 미래에는 AI에 과도하게 의존하는 사람과 그렇지 않은 사람 사이의 격차가 더 커질 것임
  • 대부분의 코딩을 수작업으로 하지만, LLM을 의미론적 검색에 사용하여 연구를 풍부하게 함

    • LLM에 전체 파일 작성을 맡기지 않음
    • AI 도구 시장에 대한 좋은 인용구 있음: 많은 회사들이 FOMO를 판매 전략으로 사용함
  • 코드 완성을 비활성화함, 제안들을 읽는 것이 정신적 부담이 큼

    • 필요할 때만 채팅을 사용함
  • Nicholas Carr의 책은 자동화에 의존할수록 기술이 퇴화하는 동적에 대해 설명함

    • Copilot을 끄고 채팅을 덜 사용함
    • 두 가지 이유로 결정함: 기술이 악화되고 코딩이 덜 재미있어짐
    • 스스로 생각하는 것을 좋아하고, 기술 향상을 즐김
    • 다시 혼자 코딩하는 것이 느리지만 더 즐거운 경험임
  • "모든 개발자가 Assembly를 배워야 하는 이유" 같은 기사와 유사함

    • AI 코딩 능력은 개선될 것이며, 시장에 나가기 충분한 90%의 솔루션을 제공할 것임
    • 최적화되지 않거나 완전히 안전하지 않을 수 있지만, 대부분의 실제 소프트웨어 프로젝트와 크게 다르지 않음
  • Rider와 함께 제공되는 라인 완성 AI만 사용함

    • 고전적인 코드 완성과 약간의 스마트함이 결합된 합리적인 혼합임
  • AI 도구는 삶을 더 편리하게 만듦

    • 수동 자동차를 운전할 수 있지만, 자동 변속기가 더 편리함
    • 프로그래밍에서도 실제 문제에 집중하고 싶음
    • 기술은 삶을 더 편리하게 만들기 위해 존재함
  • 기술 손실은 양방향으로 작용함

    • LLM을 효과적으로 사용하는 초기 기술을 놓칠 수 있음
    • LLM이 프로그래밍 언어를 변화시킬 가능성이 있음
  • 특정 문제를 찾을 때 구글 검색 대신 사용함

    • AI 결과가 너무 길고 장황하여 구글을 선호하지만, 구글이 점점 쓸모없어짐