그래서 AI가 나를 게으르게 만들고 있어...
I’m happy to translate the article for you, but I need the actual text of the post. Could you please paste the content you’d like translated (excluding the source link you already provided)? Once I have the text, I’ll translate it into Korean while preserving the original formatting, markdown, and any code blocks or URLs.
Source: …
소개
AI 코드 어시스턴트가 등장하면서 일종의 이상한 나태함이 스며들기 시작합니다—그것은 단순히 Stack Overflow에서 코드를 가져오는 것보다도 더 나쁜 상황이죠. 오래된 포럼 글에서 코드를 베껴오는 것은 여러분이 직접 만든 500줄 중 최대 10줄만을 교체하는 것과 같습니다. 뼈대는 여러분의 것이고, 형태는 명확하게 남아 있습니다.
LLM에 무언가를 입력하기 시작합니다. 그러면 완전한 코드 조각이 나옵니다. 겉보기엔 모두 정상적으로 실행됩니다. 오류 없이 빌드되고, 체크도 모두 초록색으로 통과합니다. 그 새로운 부분이 매끄럽게 라이브에 올라갑니다. 하지만 그 안쪽 깊은 곳에 작은 실수가 숨어 있습니다: 하나의 숫자가 너무 높거나, 하나의 경계가 방어되지 않거나, 타이밍이 미끄러지는 순간… 조용히 기다리다 결국 두 배나 많은 사용자가 뒤따라오게 됩니다.
불편함을 주는 것은 AI 자체의 오류가 아니라, 그 오류가 얼마나 쉽게 우리 눈을 피할 수 있느냐입니다. 모든 개발자가 한 번쯤은 저질러 본 명백한 약점은 바로 읽지 않는다는 점입니다! 우리는 AI가 만든 코드를 한 줄 한 줄 검토하지 않습니다. 코드가 동작한다면, 우리는 바로 넘어갑니다. 그 신뢰의 순간이 바로 문제들이 숨는 틈이 되는 것이죠.
나의 배경
나는 대략 5년 정도 코딩을 해왔습니다. 꽤 오랫동안 유지해 온 습관이지만, 사용하지 않으면 그 습관조차 사라지기 마련이죠.
- Reading docs. 생각하는 방식을 형성하기 때문에 문서를 읽는 습관은 중요합니다. MDN 문서를 대충 훑어보면 시간을 절약할 수 있지만, 완전히 건너뛰면 이해를 속도와 교환하게 됩니다. 질문을 하면 빠른 답변을 받을 수는 있지만, 읽기를 통해 쌓인 맥락이 없으면 답변은 구조가 부족합니다. 시스템을 파악하는 것이 매번 결과만 잡아내는 것보다 낫습니다.
- Debugging from first principles. 매번 처음부터 시작합니다. 스택 트레이스가 나타나고, 읽기가 생략되면 붙여넣기가 대신합니다. 즉각적인 결과에서 오는 도파민이 급증합니다. 수정은 AI를 통해 이루어지고, 나는 그 과정에 참여하지 못합니다. 실제 문제의 원인을 이해하는 일은 결코 완전해지지 않습니다.
- Architecting from a blank file. 템플릿 없이 새 파일을 열고 시작합니다. 스타터 가이드를 복사하지 않고 새로운 것을 만든 기억이 있나요? 시스템과 설계를 손으로 그려보다가 잘못된 경로를 선택하고, 그걸 풀어내는 데 몇 시간을 소비한 적이 있나요?
이러한 실수들은 내가 수십 번은 겪어본 일입니다. 프로젝트가 실제로 끝난 것처럼 느껴지기도 합니다… 이제는 그게 나에게 의미가 있을까요?
왜 중요한가
중요한 것은 당신이 그것을 어떻게 보느냐입니다. 먼저 수학을 알면 계산기는 단지 숫자 계산을 빠르게 할 뿐이며, 실제 질문에 대해 생각할 여지를 남깁니다. 금융 분야에서 누군가가 엑셀을 열면, 노력은 수작업 단계에서 의사결정으로 옮겨갑니다. 도구는 반복 작업을 처리하고, 마음은 선택을 저울질합니다.
열두 살 아이는 장기 나눗셈을 완전히 건너뛰고 계산기에만 의존할 수 있습니다. 그러나 그 연습이 없으면 곱셈을 이해하는 것이 불안정해집니다. 추정은 손이 닿지 않는 영역으로 미끄러집니다. 십을 곱하는 실수가 눈에 띄지 않아, 눈에 보이는 곳에 숨은 단순한 오류가 발생합니다.
AI 비유
데이터베이스를 직접 설정할 정도로 잘 안다고 가정해 보세요 (BaaS를 사용해도 마찬가지입니다). AI에게 초안을 작성하도록 요청하는 것은 계산기를 사용하는 느낌입니다. 이제 스키마를 정의하거나 SDK를 설정하거나 서버‑사이드 쿼리를 직접 추가해 본 적이 없다고 생각해 보세요. 그냥 ChatGPT의 지시를 복사·붙여넣기 하는 것이죠—CLI를 사용한다면 그조차도 아닐 수도 있습니다!
사용 중인 시스템의 문서를 한 번도 읽어본 적이 없을 수도 있습니다. 그것은 지팡이에 기대는 것과 같습니다. 시간이 지나면 기대는 만큼 근육이 약해집니다.
여기서 세상을 바꾸는 일은 없습니다. 단지 해야 할 일을 할 뿐입니다.
실용적인 조언
-
AI가 생성하는 모든 줄을 읽으세요.
- 처음부터 시작해 한 줄씩 확인합니다.
- 아무 것도 건너뛰지 마세요.
- 뭔가 어색하게 느껴지면 멈추세요.
-
알 수 없는 부분을 조사하세요.
- 낯선 이름이 보이나요? 검색해 보세요.
- 이상한 구조가 나타나나요? 멈추고 실제 코드가 무엇을 하는지 이해하고 있는지 확인하세요.
-
출력을 숙련된 사람이 만든 코드처럼 다루되, 조심하세요.
- 일부는 믿고, 나머지는 의문을 제기하세요.
-
매달 하나씩 새 프로젝트를 만들어 보세요.
- Copilot, Claude, 혹은 기본 편집기 지원을 제외한 자동 완성 없이 진행합니다.
- (저는 VS Code에서 Zed로 옮긴 뒤 AI 자동 완성을 끄고 있습니다.)
- 작은 프로젝트를 선택하세요: CLI 앱, Tauri를 이용한 간단한 데스크톱 도구, 혹은 이틀 안에 만든 SvelteKit 사이트 등.
- 가끔 어려워지는 것을 느껴보세요. 어려움이 나타납니다. 좋습니다. 바로 그 부분이 중요한 순간입니다.
-
아키텍처 결정은 스스로 하세요.
- 구조에 관한 결정은 여러분에게 속합니다.
- AI가 데이터베이스, 프레임워크, 배포 등을 선택하게 하면 나중에 문제가 될 수 있습니다.
- 작은 코딩 작업에는 도움이 될 수 있지만, 큰 결정은 장기적인 경로를 형성합니다.
- 왜 그 선택을 했는지 기록해 두세요. 소유권은 선택을 명확히 설명하고 책임지는 것을 의미합니다.
-
AI 코드에 대해 러버덕 디버깅을 하세요.
- 출력을 친구에게 설명하듯이 말해 보세요.
- 변경 사항을 저장하기 전에 큰 소리로 말하거나 메모에 적어 보세요(저는 샤워하면서 스스로에게 이야기합니다).
- 말로 표현하기 어려우면 아직 명확해진 것이 아닙니다. 이해가 될 때까지 저장을 미루세요.
- 의미가 여전히 흐릿하면 작업이 준비되지 않은 것입니다.
자기 평가 체크리스트
이 중 하나라도 현재 당신의 상황과 맞다면, 오늘이 새롭게 시작할 날일지도 모릅니다:
- 공식 문서를 마지막으로 열어본 것이 언제인지 기억이 나지 않는다.
- 오류를 보자마자 읽기보다 채팅에 붙여넣는 것이 첫 번째 본능이다.
- 다른 사람에게 로직을 설명하기 어려울 정도로 기능을 배포한 적이 있다.
- AI 도움 없이 코딩하면 진짜 불안함을 느낀다.
- AI가 미묘하게 잘못된 것을 제안해도 눈치채지 못한다.
코드가 좋지 않은지 파악하는 것은 경험에서 비롯됩니다. 저는 스스로를 전문가라고 생각하지는 않으며, 게다가 저는 아직 15 살에 불과합니다. 깔끔한 예시와 지저분한 예시를 수없이 검토하면서 직감이 날카로워집니다. 직접 읽는 걸 건너뛰나요? 그 직감은 금방 사라집니다.
마무리 생각
우리 산업에서는 AI가 곧 사라지지 않으며, AI를 완전히 무시하면 금방 뒤처지게 됩니다. 엔지니어로서 우리를 가치 있게 만드는 것은 프롬프트를 입력하는 것이 아니라, 결함에 대한 직감, 압박 속에서의 선택, 틀을 깨는 사고, 그리고 가장 중요한 인간성입니다.
우리가 천천히 기술을 익히는 동안 수년이 흐를 수도 있습니다. 지금 그만두어야 할까요? 그런 습관은 사라질 수 있으니, 살아 있게 유지하고, 읽고, 이해하고, 자신이 만든 것을 책임지세요.
AI를 도구로 활용하고, 의지대로 쓰지 마세요. 시간을 내 주셔서 감사합니다.
— Xavier Womack