LLM, 개발자의 행복을 앗아갈까, 생산성을 높일까?
LLM 기반 코드 생성 도구 사용에 대한 개발자들의 엇갈린 반응이 나타남
코드 작성의 즐거움을 잃고, 사고 능력 저하를 우려하는 목소리 존재
생산성 향상을 위해 LLM을 활용하지만, 코드 검증의 어려움을 지적
장기적인 관점에서 LLM 사용이 개발자의 성장과 행복에 미치는 영향에 대한 논의
LLM 사용의 긍정적 측면: 생산성 향상
일부 개발자는 LLM을 사용하여 반복적인 작업(Boilerplate)을 자동화하고, 막힌 부분(Roadblock)을 해결하여 생산성을 향상시킬 수 있다고 주장한다. 특히, 익숙하지 않은 언어나 라이브러리를 사용할 때 API 호출(API Calls)을 빠르게 찾고, FFI 바인딩(FFI Bindings)을 생성하는 데 유용하다고 언급한다. 하지만, LLM이 생성한 코드의 수정 및 검토(Review)에 더 많은 시간이 소요될 수 있다는 점을 인지해야 한다.
LLM 사용의 부정적 측면: 사고 능력 저하
반면, LLM에 과도하게 의존하면 문제 해결 능력(Problem-solving Skills)이 저하될 수 있다는 우려가 제기된다. 코드 작성 과정(Code Writing Process)을 통해 얻는 문제 공간에 대한 이해가 부족해지고, 코드의 정확성(Correctness)을 검증하는 데 어려움을 겪을 수 있다는 것이다. 또한, LLM이 생성한 코드를 수동적으로 받아들이는 경향은 사고의 관성(Inertia)을 증가시켜, 장기적으로 개발자의 성장을 저해할 수 있다.
개발자의 행복과 생산성의 균형
일부 개발자는 LLM을 도구(Tool)로 활용하여 생산성을 높이면서도, 코드 작성의 즐거움(Joy of Coding)을 유지하려는 노력을 보여준다. 예를 들어, LLM을 사용하여 코드의 일부를 생성하고, 수동적인 코드 검토(Code Review) 대신 능동적인 코드 수정(Code Modification)을 통해 문제 공간에 대한 이해를 높이는 방식을 사용한다. 이러한 접근 방식은 행복(Happiness)과 생산성(Productivity) 사이의 균형을 맞추는 데 기여할 수 있다.
LLM 도입에 대한 개발자들의 다양한 입장
커뮤니티에서는 LLM의 도입에 대해 다양한 입장을 보이고 있다. 일부 개발자는 LLM을 적극적으로 활용하여 개발 속도(Development Speed)를 높이려는 반면, 다른 개발자는 LLM의 장기적인 영향(Long-term Impact)을 우려하며 사용을 꺼린다. 특히, 고용주의 강요(Employer Pressure)에 의해 LLM을 사용하게 되는 경우, 개발자의 직업 만족도(Job Satisfaction)가 저하될 수 있다는 점을 지적한다. 또한, LLM이 개발자의 임금(Wage)과 협상력(Bargaining Power)에 미치는 영향에 대한 우려도 제기된다.