아니, 개발자가 사라질 판이다.
최근 'AI는 웹 개발 학습에 방해가 된다'라는 제목의 글을 읽었다. 이 글의 작성자는 Tufts University의 JumboCode 클럽에서 학생들이 LLMs(대규모 언어 모델)를 사용하면서 웹 개발의 기초를 제대로 배우지 못하고 있다고 비판하고 있었다. 특히, LLMs가 생성한 코드가 종종 품질이 낮고, 학생들이 문제 해결 능력을 키우는 데 방해가 된다는 의견이었다.(물론 이 글을 작성한 본인도 LLMs를 사용하고 있다고 했고, 강력하게 반대하는 의견은 아니었다.)
이 글은 부드러웠지만 심심치 않게 LLMs를 굉장히 강하게 거부하는 의견을 담은 글을 접할 수 있는데. 그런 들을 보며 한편으로는 의아하다.
과거 계산기가 처음 도입되었을 때도 비슷한 논란이 있었다.
당시에도 계산기를 사용하면 사람들이 계산 능력을 잃고 바보가 될 것이라는 우려가 있었다고 한다. 하지만 결과적으로 계산기는 수학 교육에 긍정적인 변화를 가져왔다. 단순 계산에서 벗어나 더 깊은 수학적 개념과 문제 해결 능력을 기르는 데 도움을 주었고, 학생들의 흥미를 유발하며 교육과정을 발전시켰다. 지금 AI와 LLMs에 대한 반응도 계산기가 처음 등장했을 때의 상황과 매우 닮아 있다고 생각한다.
나는 이러한 우려에 대해 다소 다른 시각을 가지고 있다. 프로젝트 매니저의 입장에서 볼 때, 기술의 발전과 그로 인한 변화는 오히려 우리가 어떻게 적응하고 활용할 것인가에 대한 기회로 볼 수 있기 때문이다. 이 글을 통해 나는 LLMs와 웹 개발 학습에 대한 내 생각을 공유하고자 한다.
많은 개발자가 학습 초기에는 구글을 통해 코드 예제를 찾고 복사해서 붙여 넣기 하는 방식으로 배운다. 이는 LLMs를 통해 코드를 얻는 것과 본질적으로 크게 다르지 않다. 구글링이든 LLMs든 중요한 것은 단순히 답을 얻는 것에 그치는 게 아니라, 그 답이 왜 그렇게 도출되었는지 이해하려는 학습자의 태도다. LLMs를 사용해도 사용자가 코드의 의미를 깊이 파악하고자 하는 의지만 있다면, 오히려 더 빠르고 효과적인 학습 도구가 될 수 있다고 생각한다. 묻고 답하며 학습하는 데는 LLMs가 훨씬 빠르고 효율적이다.
LLMs는 결국 인간이 축적해 온 지식과 경험의 집합체이다. 이 도구가 제공하는 답변과 코드는 모두 우리가 쌓아온 데이터를 바탕으로 만들어진 결과물이다. 따라서 LLMs를 사용하는 것은 인류의 지식을 더 빠르고 효율적으로 활용하는 방법이지, 인간의 지식을 대체하는 것이 아니다. 우리는 이 도구를 통해 더 많은 것을 배우고, 인간의 경험을 확장해 나가는 데 활용할 수 있다.
실제 개발 환경에서는 문제 해결의 속도와 효율성이 무엇보다 중요하다. 반복적이고 기초적인 문제에 많은 시간을 쏟기보다는, LLMs를 통해 기본적인 부분을 빠르게 해결하고, 개발자들이 더 창의적이고 복잡한 문제에 집중할 수 있는 환경을 만드는 것이 더 현명한 선택이다. 이런 측면에서 LLMs는 개발자들이 더 높은 차원의 문제에 몰입할 수 있도록 도와주고, 결과적으로 팀의 생산성과 프로젝트의 성공 가능성을 높이는 중요한 도구가 될 수 있다.
LLMs는 팀 내 협업과 코드 리뷰 과정에서도 유용한 역할을 할 수 있다. LLMs가 생성한 코드는 기존의 관습적인 접근과 다른 방식을 제시할 때가 많다. 이러한 새로운 시각의 코드를 팀원들이 함께 검토하고 논의하는 과정에서, 오히려 더 깊이 있는 학습과 발전이 가능해진다. 코드 리뷰는 단순히 오류를 찾는 작업을 넘어, 다양한 접근 방식을 탐색하고 서로의 생각을 나누는 과정이다.
LLMs는 이 과정에서 팀원들에게 다양한 시각과 아이디어를 제공하고, 코드의 논리적 흐름에 대해 더 많은 질문을 던지게 하며, 이를 통해 팀 전체가 성장할 수 있도록 돕는다. 결국, 코드 리뷰는 LLMs가 단순한 도구가 아니라, 협업의 촉진제로 기능할 수 있는 중요한 부분이 될 수 있다.
기술의 발전 속에서, 나는 현재의 개발자라는 개념이 점차 사라지고, 그 자리에 완전히 새로운 역할이 만들어질 것이라고 생각한다. 단순히 코드를 작성하는 행위가 아니라, 제품을 기획하고 만드는 사람으로서의 역할이 더 중요해질 것이다. 기능 구현을 위한 코딩은 이제 기계가 맡게 되고, 사람은 아이디어를 바탕으로 제품을 구상하고 창의적인 솔루션을 만들어가는 데 집중하게 될 가능성이 크다.
어찌 보면, 이런 변화는 현재의 많은 개발자들에게는 불편한 이야기일지도 모른다. 하지만 현실은 이미 그렇게 움직이고 있다. 개발자는 사라지고, 그 자리에 지금의 개발자 역할을 넘어서는 고차원적인 사고와 문제 해결 능력을 요구하는 새로운 직무가 생겨날 것이다. 기술의 발전과 함께 우리는 '개발'이라는 행위를 제품을 만드는 행위로 확장해 나가고 있으며, 이는 기존의 역할과 정의를 뛰어넘는 변화를 의미한다.
결국, 기술은 계속해서 발전하고 있으며, 우리는 그 변화에 얼마나 빠르게 적응하고 유연하게 대처할 수 있는지가 중요한 시대에 살고 있다. LLMs와 같은 도구들이 더 나은 코드를 제공하고 더 높은 수준의 문제를 해결할 수 있도록 도와준다면, 우리는 이를 최대한 활용해 더 큰 가치를 만들어내는 데 집중해야 한다. 기술의 발전을 두려워하기보다는, 그 변화를 기회로 삼아 새로운 가능성을 탐색하는 것이 더 중요하지 않을까 생각한다.