LLM 기반의 생성형 AI 기술로 코딩 생산성이 두 배에서 몇 십 배 향상되었다는 간증이 넘쳐나고 있다.


생산성이 향상된다는 점에는 추호도 의심하지 않는다. 이를 의심한다는 것은 지구가 평평하다고 믿는 것과 같다. 다만, 심하게 우려되고 실제로 관찰되는 문제가 있다.


우리 업계는 '코드' 또는 '코딩'에 대해 충분히 합의하지 못했다.


AI를 활용하기 전에도 많은 미숙한 개발자가 인터넷에서 무지성으로 아무 코드나 복사해 붙이기 하면서 코드를 작성했고 이런 코드의 품질 문제 때문에 논란이 많았다. 하지만, 업계는 상황은 조금도 개선되지 못하고 있다. 개발자에게는 오직 빨리 동작하는 코드를 찍어낼 것이 요구될 뿐 그 일을 책임감 있게 엔지니어의 양심에 따라 올바르게 일하도록 요구되지는 않기 때문이다. 개발자 사회는 그런 규범이 만들어지고 자리잡을 틈 없이 급속도로 성장했다.


우리가 지향할 목표는 단지 동작하는 코드를 작성하는 수준을 넘어서 적절한 품질 수준을 충족하는 코드를 작성하는 것이어야 한다. 이 문구가 이를 함축하는 표현이다.


"Clean code that works"


이를 향한 개발자 사회 내부의 움직임이 겨우 꿈틀대는가 하는 상황에 AI가 쓰나미처럼 밀려들어오고 있고 이 때문에 다시 모든 것이 초토화되는 듯 보인다.


AI의 환각이 문제가 아니다. 환각은 차라리 낫다. 그 결과는 대부분 동작하지 않기 때문이다. 오히려 동작하는 코드가 문제다.


물론 이것이 AI 기술의 문제라고 말할 수는 없다. 다만, AI가 다 해주니 그냥 AI가 뱉어낸 코드를 얼기설기 이어 붙이기만 하면 된다고 믿는 개발자와 그것으로 충분하기 때문에 곧 AI가 개발자를 대체하게 될 거라고 예상하는 사회 분위기가 문제이다. 


결국 우리는 AI를 사용할 자격을 갖추지 못하고 있다. 코딩은 그런 것이 아니고 그런 것이 되어서도 안된다.