요즘 어딜 가든, 어떤 매체의 글을 읽든 최소 한 번은 보게 되는 단어가 AI다. ‘AI를 활용해서 개발한 제품, 서비스’, ‘이렇게 하면 더 빠르게 결과를 볼 수 있습니다’와 같은 문장들을 다소 과도할 정도로 많이 발견할 수 있다. 그렇다면 결과물을 빠르게 만드는 것이 나에게 어떤 의미가 있는가. 어떤 가치가 있는가. 이 글은 그에 대한 고민 과정에 있는 기착지다.
이전 글에서 말했듯이 코딩은 단지 제품을 만들고 서비스를 제공하는 일에 그치지 않는다. 머릿속에 있는 추상적인 관념과 생각을 현실에 구현하는 일이다. 내가 언어를 선택하고, 기술 스택과 플랫폼을 선택할 때도, 내 생각을 가장 잘 구현할 수 있는지가 유일한 기준이다. 예외는 없다. AI를 활용할 때도 마찬가지다.
AI는 내가 원하는 결과물을 만들어줄 수 있다. 코드를 작성하고, 오류를 찾고, 구조를 개선하고, 때로는 나보다 훨씬 빠르게 문제를 해결할 수도 있다. 하지만 그것이 내가 코딩을 통해 얻어야 하는 것을 대신해 주지는 못한다. 코딩하는 과정에서 무엇을 선택하고 왜 선택했는지. 어떤 문제가 발생했고 어떻게 해결했는지. 그 과정에서 무엇이 좋은 구조이고 무엇이 문제를 만드는지. 이것들은 결과물에 포함되어 있지 않다. 그리고 바로 그 과정에서 내가 무엇을 배우고, 다음에는 어떻게 다르게 판단할지가 결정된다. 그 과정에서 내가 얻는 경험과 판단까지 AI가 나를 대신해 얻어줄 수는 없다. 그리고 나에게 그 경험은 단순히 개발자로서의 경력을 쌓기 위한 것이 아니다. 내가 직접 생각하고 판단하고 현실에 옮기는 과정 자체가 내가 원하는 삶의 방식이기 때문이다.
나는 하루를 온전히 주도적으로 사는 삶을 목표로 한다. 내가 생각하고, 판단하고, 선택하고, 그것을 현실에 옮긴다. 그리고 그 과정에서 무엇이 잘못되었는지 배우고 다시 선택한다. 코딩은 나에게 그 과정을 가장 직접적으로 경험할 수 있는 실천 중 하나다.
그렇기에 AI에게 코딩을 위임하는 순간 문제가 생긴다. 내가 얻으려던 것이 결과물만은 아니었기 때문이다. 제품은 더 빨리 만들어질 수 있다. 더 적은 노력으로 더 많은 결과물을 얻을 수도 있다. 하지만 내가 직접 해야 할 실천까지 위임한다면, 결국 내가 얻으려 했던 경험과 판단의 과정까지 함께 위임하게 된다.
그렇다고 AI를 사용하지 않을 이유는 없다. 다만 무엇을 위임하고, 무엇을 직접 판단하고 경험할 것인지는 구분해야 한다. 오늘의 나는 AI에게 몸을 맡기고, 머리를 뺏기지 않는다.
AI가 코딩을 대신할 수 없는 것이 아니라, 내가 코딩을 남에게 위임해서는 안 되는 것이다. 적어도 나에게 코딩은 단순히 결과물을 생산하는 일이 아니다.
“사람들은 당신이 무엇을 하는지를 사는 것이 아니라 왜 하는지를 산다”
— 사이먼 사이넥, 『Start With Why』