하노이의 탑과 AI가 당신을 숙련된 개발자로 만들지 못하는 이유
Source: Dev.to
배경
학위를 따는 동안 가장 기억에 남는 수업 중 하나는 달라스 카운티 커뮤니티 컬리지에서 들은 “프로그래밍 논리”였습니다. 깊이와 엄격함 면에서 마치 아이비리그 수준의 강의처럼 느껴졌습니다.
하노이 타워 과제
첫날 바로, 선생님은 우리에게 단 하나의 과제를 주셨습니다: 하노이 타워 퍼즐을 풀고 이를 정확한 단계로 나누어 설명하라. 나는 퍼즐을 좋아했기에 열정을 가지고 도전했습니다. 학기 내내 비주얼 베이직과 C#을 차근차근 배우면서 비슷한 문제들을 풀었습니다. 여기서 핵심은 문제를 어떻게 해결하느냐였으며, 단순히 코드를 어떻게 짜느냐가 아니었습니다. 이 경험은 엔지니어로서 가장 형성적인 순간 중 하나로 소중히 간직하고 있습니다.
AI와 현대 개발
이전 글 “Being a JavaScript Dev vs. a Framework Dev”에 이어, 나는 AI의 보편화가 전체 엔지니어링 분야에 동일한 패턴을 퍼뜨리고 있다는 점이 점점 더 우려됩니다. 최신 개발자들은 문제 해결 방법을 배우기보다 특정 도구를 사용하는 법을 배우고 있습니다. 그 결과 AI‑우선 접근 방식이 형성되어 프로그래밍 난이도에 대한 잘못된 자신감을 심어줍니다.
망치를 잘 휘두르는 법을 안다고 해서 나무 선반을 만드는 기술이 뛰어나게 되는 것은 아닙니다.
AI에 과도하게 의존하는 문제
친구가 최근에 첫 번째 기술 직무에 도전하려는 멘티를 지도한 이야기를 공유했습니다. 그 멘티는 코딩 실력이 정체기에 빠졌고, 디버깅에 어려움을 겪었습니다. 이유를 물었을 때, 그녀는 AI 없이는 디버깅을 할 수 없으며, AI도 그녀의 특수한 문제에 도움을 주지 못한다고 인정했습니다. 결국 그녀는 막힌 상태였습니다.
그녀는 프론트엔드와 백엔드 모두를 다뤄본 풀스택 개발자였지만, 엔지니어에게 가장 중요한 핵심 역량인 문제 해결 원칙이 부족했습니다.
AI에 이렇게까지 의존하는 것이 상상하기 어려웠지만, 그녀를 비난하고 싶지는 않습니다. 기술은 특히 신입 개발자들에게 AI를 만병통치약처럼 내세웁니다. 나는 가끔씩 도움, 조언, 조직화, 혹은 결과물 증폭을 위해 AI를 도구로 사용하는 것 자체에는 반대하지 않습니다. 내가 반대하는 것은 AI가 여러분의 문제 해결 능력을 완전히 대체하도록 하는 것입니다.
AI는 사라지지 않을 것이며, 워크플로우의 필수 요소가 될 것입니다. 그러나 엔지니어로서 우리의 가치는 단순히 복사‑붙여넣기로 해결책을 만드는 능력에 있지 않습니다. 우리의 가치는 판단력—AI가 만든 결과물을 비판적으로 평가하고, 필연적으로 발생하는 오류를 디버깅하며, 모호한 비즈니스 요구사항으로부터 시스템을 설계하는 능력에 있습니다. 해결책이 왜 작동하는지 모른다면, 그것을 고칠 수 있는 사람은 될 수 없습니다.
행동 촉구
신입 개발자라면 문제 해결 근육을 필수적인 것으로 여기세요. 고통을 외주하지 마세요. 퍼즐을 마주했을 때는 먼저 AI 프롬프트에서 손을 떼고:
- 종이에 논리를 스케치한다.
- 데이터 흐름을 추적한다.
- 안전망 없이 의도적으로 문제를 풀어본다.
그 스스로 퍼즐을 해결하는 능력은 달라스 교실에서 나에게 가르쳐진 기본적인 기술입니다. 오늘날 AI 사용이 뒤섞인 혼란스러운 환경에서도, 이 능력은 견고하고 적응력 있으며 진정으로 숙련된 개발자를, 단순히 프롬프트 결과물을 전달받는 사람과 구분 짓는 핵심 기술로 남아 있습니다.
먼저 논리에 투자하세요. 코드는 뒤따라올 것입니다.