AI를 통한 코드 조작의 효율성
인공지능은 자연어를 통한 코드 조작을 훨씬 더 효율적으로 만들었습니다. 이는 더 빠르고 견고한 프로세스로, 기존의 편집기 단축키나 정규 표현식을 통한 리팩토링 능력의 가치를 상대적으로 감소시켰습니다. 과거 ‘실용주의 프로그래머’의 첫 조언이 ‘자신의 편집기를 알라’였던 것처럼, 이 기술은 여전히 유용하지만, 전체적인 그림에서 그 가치는 크게 줄어들었습니다.
반복적인 프로그래밍 작업의 자동화
AI는 본질적으로 체계적인 수많은 프로그래밍 작업을 인간보다 더 잘 수행할 수 있습니다. 버그 트러블슈팅부터 적절한 API 결정, 회귀 지점 파악, 특정 기능에 대한 테스트 작성에 이르기까지 그 목록은 무한합니다. AI는 이러한 작업을 수동적이고 반복적이며 자동화 가능한 ‘고된 일(toil)’로 전환하여, 프로그래밍을 더욱 즐겁게 만들고 개발자가 더 흥미롭고 창의적인 부분에 집중할 수 있도록 합니다.
기술적 탁월함의 지속적인 중요성
AI는 기술적 탁월함에 대한 동기를 변화시키지 않습니다. 현재의 AI는 소프트웨어 시스템을 내부를 무시해도 되는 블랙박스로 만들지 않습니다. 시스템은 여전히 인간에게 이해 가능해야 하며, 좋은 설계, 명확한 경계, 적절한 책임 분배, 간결한 코드, 명확한 인터페이스, 일관성 등이 인간과 LLM 모두에게 이점을 제공합니다. ‘AI 슬롭(AI slop)’은 기술 부채의 또 다른 용어이며, 이를 빠르게 생성할 수 있다는 점은 프로그래머에게 더 큰 경각심을 요구합니다.
AI 활용 능력의 중요성 및 새로운 도전
AI가 숙련된 프로그래머를 대체할 것이라는 증거는 아직 없으며, 오히려 새로운 도전은 AI를 활용하여 잠재력을 극대화하는 방법을 아는 것입니다. AI 사용은 기존 기술을 대체하는 것이 아니라, 새로운 기대 수준에서 기존 기술을 표현하기 위한 기본 토대가 됩니다. 저자는 현재 AI를 항상 사용하되, 엄격한 지시와 감독 하에 활용하며, 초기 스파이크를 에이전트를 통해 얻은 다음 원하는 코드 형태로 지시를 내리는 방식으로 작업하고 있습니다. 이는 코드의 명명 방식, 메서드 구성 및 구조와 같은 세부 사항에도 영향을 미칩니다.
지속적인 학습과 성장
AI를 통한 코드 조작은 놀랍도록 만족스러우며, 더 빠르고 예측 가능한 변경을 가능하게 합니다. 저자는 현재 AI의 잠재력 중 극히 일부만을 사용하고 있다고 느끼며, AI를 더 의도적이고 창의적으로 활용해야 할 필요성을 깨닫습니다. 학습과 개선은 모든 사람에게 평생의 목표가 되어야 하며, 자신의 분야에서 새로운 가능성을 보는 것은 큰 활력을 줍니다.