개발자와 AI의 관계

 

image

개발자들은 종종 AI에 회의적이다. 하지만 AI 도구의 잠재력은 좋아하든 싫어하든 더 빠른 릴리즈와 더 나은 제품을 만들 수 있게 도와준다.

Stack Overflow에서 2024년에 진행한 개발자 설문 조사에 의하면 개발자의 43%만 AI 도구의 결과를 신뢰했다. 반대 의견은 AI가 복잡한 작업을 처리하는데 어렵다고 말했다.

이런 상황에도 ChatGPT는 코딩의 새로운 시대를 열었다고 생각한다. 더 이상 Google, Stackoverflow에서 코딩에 대해 질문이나 답을 할 필요가 없다.

이번에 Cursor AI IDE를 이용하자고 함께 일하는 동료들에게 제안했다.

이유는 일부 개발자들이 Copilot or ChatGPT를 이용하여 코딩에 도움을 받고 있기 때문이다.

Cursor를 사용해보니 AI에 긍정적인 개발자의 경우 생산성이 향상 될 것으로 판단되었기 때문이다.

본 글은 AI를 개발에 이용하면서 느낀 것들에 대한 정리이다.

AI가 개발자를 대체할 것인가?

나의 대답은 당장은 대체하지 않을 것이다. 그러나 AI는 이미 개발자가 코드를 작성하는데 도움을 주고 있다.

ChatGPT, Copilot, Codex등 AI 기반 코딩 어시스턴트는 개발자가 더 나은 코드를 더 빨리 작성하도록 도움이 된다.

개발자의 진정한 가치는 그들이 만드는 것을 어떻게 만들어야 하는지 아는 것이다.

AI가 비즈니스의 가치를 이해하고 무엇을 먼저 개발해야 하는지를 알때까지는 시간이 필요할 것이다. 그래서 개발자의 역할은 항상 있을 것이라 생각된다.

신뢰할 수 있는가?

AI가 아무것도 없이 prompt만으로 처음부터 끝까지 요구사항에 맞는 코드를 작성할 수 있다고 믿을 수는 없다. 그렇지만 생산성을 높이기 위해 사용할 수 있다는 것에 부정하지 않는다.

개발자가 작업하는 영역중에서 수동적으로 처리해야 하는 부분에 대해서 AI의 잠재력을 주로 활용했다. 다이어그램을 만들때도 prompt를 작성한 후 AI가 만드는 동안 다른 작업에 몰두 할 수 있었다.

image

그리고 API를 만들고 테스트를 생성하도록 요청한다. 이렇게 하면 코드를 테스트하고 오류를 식별하는 데 걸리는 시간이 크게 줄어든다.

물론, AI가 생성한 테스트 스크립트를 검토해야하지만 그럼에도 매우 효율적이다. AI에게 명확한 경계를 제공하면 잘 작동하고 많은 시간을 절약할 수 있다.

AI가 작성한 코드를 신뢰하려면 검토를 해야 한다. 업무를 지시한 사람이 AI가 작업한 작업물에 책임을 져야 한다.

생산성이 향상되고, 품질이 좋아지더라도 AI에게 prompt를 작성하는 사람은 항상 선장이 되어야 한다. AI의 도움을 받는 다는 것은 지름길을 선택한 것이다. 지름길에는 리스크가 있을 수 있다. 그래서 결과에 대해 주의를 기울여야 한다.

AI 진화는 아직 빙산의 일각이라 생각한다. AI에 대한 믿지 못하는 상황이 100% 사라지지 않을 것이기에 AI의 품질은 더욱 향상 될 것이다.

  1. AI가 신뢰할 수 있는 코드를 작성할 수 있는 상황이 발생할 수 있을까?
  2. AI는 인간이 작성한 방대한 양의 코드를 학습했다.
  3. 인간은 100% 신뢰할 수 있는 코드를 작성하지 못한다. 실수가 발생한다.

따라서 AI가 신뢰할 수 있는 코드를 작성할 가능성은 낮다.

위 논리에 따라 100% 완벽한 코드를 AI가 작성하긴 어려울 것 같다. 그래서 검토를 할 수 있는 개발자가 필요하다.

생산성은?

같이 일하는 동료들의 의견을 받아봐야 알겠지만, 내가 판단했을 때는 AI 도구를 사용하는 개발자는 코드 생성, 리팩토링, 테스트 등에 대해서 사용하지 않는 개발자보다 20% ~ 30% 더 생산성이 나올 것 같다.

코딩에서 AI를 사용하게 되면 시간 절약이 꽤 된다. 다만, 코드를 어느정도 이해하는 수준을 지니고 있을 때 가능한 이야기이다. 내가 어떤 코드를 짜야하는지, 이 코드가 제대로 된 코드인지 판단할 수 없는 사람일 경우에는 큰 도움이 되지 않는다고 생각한다. 이런 사람들을 개발자라고 부르진 않으니까.

결론

AI 코딩 어시스턴트는 생산성을 높이고, 생산성에 대한 경쟁 우위를 유지할 수 있다고 생각한다. 물론, 코드를 이해하고 컨트롤 할 수 있는 개발자일때만 가능하다.

시대가 변하고 있다. 새로운 기술을 최대한 활용하는 것이 중요하다. 증기기관이 처음 나왔을 때, 기계와 대결한 “John Henry”의 이야기를 상기했으면 한다.

개발자들이여 AI에 대해 회의적으로 접근하지 마세요!

AI 코딩 어시스턴트를 작업에 통합하는데 익숙해지도록 하세요.

당신의 지시를 따르는 어시를 고용한다고 생각하세요.

잠깐, 글이 유익했나요?

Donate!