요즘 AI가 코드를 뚝딱 만들어내는 시대에, 우리는 과연 어떤 개발자가 되어야 할까요?
빠르게 변화하는 기술 속에서 과연 변치 않는 개발자의 본질은 무엇일까, 하는 질문을 안고 라는 책을 다시
펼쳤습니다.
특히 세 번째 장, '기본 도구'를 읽으면서 저는 꽤 놀랐습니다.
솔직히 이 책이 꽤 오래되었다는 걸 알고 있었기에, 최신 기술 트렌드와는 거리가 먼 옛날이야기일 거라 예상했습니다.
하지만 읽을수록 이 책은 단순히 오래된 조언 모음이 아니라, 시대를 초월하는 개발자의 운영 체계, 즉 사고 습관과
작업 방식을 이야기하고 있었습니다.
특히 AI가 코드를 빠르게 만드는 지금이야말로, 개발자가 지켜야 할 명확한 사고 습관과 운영 기준이 더 중요해졌다는
제 가설이 더욱 확고해졌죠.
이 책의 세 번째 장, '기본 도구'는 제게 이런 질문을 던졌습니다.
과연 도구는 그저 생산성을 높이는 장식일까요, 아니면 우리의 사고방식 자체를 바꾸는 환경일까요?
저자들은 텍스트, 셸, 편집기, 버전 관리 같은 기본기가 AI 시대에도 사라지지 않고 오히려 더 중요해졌다고
강조합니다.
이들은 도구를 잘 다루는 것이 단순히 타이핑 속도를 높이는 것이 아니라, 더 작게 자동화하고, 문제를 시스템적으로
해결하는 능력과 직결된다고 말합니다.
저는 이 장에서 특히 세 가지 통찰을 얻었습니다.
첫째, 플레인 텍스트는 LLM과 인간이 함께 읽는 공용 포맷이라는 점입니다.
마크다운 노트, 로그, 설정, 프롬프트, 코드가 모두 텍스트일 때 검색과 자동화, 그리고 검증이 훨씬 쉬워진다는
사실을 다시 한번 깨달았습니다.
AI와 협업하는 시대에, 이 단순한 텍스트의 힘은 더욱 커질 수밖에 없습니다.
둘째, 셸은 작고 투명한 에이전트라는 관점입니다.
명령어를 조합하는 능력은 곧 작업을 기계에게 넘기는 능력과 같다는 말에 깊이 공감했습니다.
CLI 연습은 낡은 습관이 아니라, 에이전트 시대의 문법이자, 우리가 AI에게 일을 시키는 기본 문법이라는 생각이
들었습니다.
셋째, 디버깅은 감정 조절 기술이라는 점입니다.
버그를 만나면 우리는 흔히 누군가를 탓하고 싶어지죠.
하지만 실용주의 개발자는 비난 대신 먼저 버그를 재현하고, 관찰하고, 가설을 좁혀나갑니다.
이 과정은 기술적인 능력뿐만 아니라, 침착하게 문제를 해결하는 태도, 즉 감정 조절 능력과 직결된다는 걸 다시 한번
상기시켜 주었습니다.
이 책을 읽고 난 뒤, 저는 제 작업 방식에 몇 가지를 적용해보기로 했습니다.
우선, 오늘 한 번이라도 반복한 작업이 있다면 바로 셸 명령어로 남겨두는 습관을 들이려 합니다.
또, 디버깅할 때는 감정적으로 추측하기 전에 재현 절차를 먼저 명확히 적어보고, 그다음
추측을 기록하는 방식으로 바꾸려 합니다.
마지막으로, AI가 생성 가능한 코드와 내가 직접 써야 할 코드를 명확히 구분하는 기준을 세우는 데 더 집중할
생각입니다.
이 책은 단순히 코드를 잘 짜는 방법을 넘어서, 개발자로서 어떤 기준으로 선택하고, 고치고, 설명할 것인가를
묻습니다.
그래서 이 책은 특히 AI 시대에 자신의 역할과 책임에 대해 고민하는 개발자들, 혹은 수많은 도구들 속에서 길을
잃지 않고 자신만의 단단한 개발 철학을 세우고 싶은 분들에게 정말 의미 있는 책이 될 것이라고 생각합니다.
결론적으로, 기본 도구를 잘 다루는 사람은 더 빨리 타이핑하는 사람이 아니라, 더 작게 자동화하는 사람이라는
메시지가 제 마음속에 깊이 남았습니다.
다만, AI가 코드 대부분을 생성할 때, 실용주의 개발자의 책임은 과연 어디로 이동할 것인가 하는 질문은 여전히
저에게 남아있습니다.