회고록

ChatGPT가 웹 개발자에게 미치는 영향

KEMON 2023. 2. 19. 19:08
728x90

최근에 Hot했던 ChatGPT를 사용해보면서 느낀 개인적인 생각을 정리해보려고 한다.

1. ChatGPT가 웹 개발자를 대체할 수 있을까?

각종 커뮤니티에 가장 많이 올라왔던 질문이였던 것 같다.

대다수의 답변과 마찬가지로 나는 No 라고 생각한다.

물론 간단한 웹사이트를 제작할 수 있을지 모른다.

다만, 이 또한 개발자가 ChatGPT를 사용했을 때의 이야기이다.

 

내가 No라고 생각하는 이유는 정말 많지만 간단하게 몇가지만 적어보고 넘어가겠다.

  • product는 기획에 따라 계속해서 기능 및 구조가 변하게 된다. 
    • 기능 및 구조가 변하게 되면 이전에 ChatGPT가 만들어 놨던 코드를 올리고 어떤식으로 변경될 지를 설명 해줘야 하는데 과연 개발자가 아니고서야 정확한 명령이 가능할까?
  • 프론트엔드 관점에서 재사용을 고려한 컴포넌트 설계가 불가능하다.
    • 단순히 A라는 기능을 가진 화면이 필요해 A라는 기능을 가진 화면을 ChatGPT가 만들 수 있을지 모르겠지만 화면을 여러 컴포넌트 단위로 쪼개어 다른 화면에서도 사용할 수 있게 고려하여 개발하지는 않을 것이다.
    • ChatGPT가 화면을 만들어주는데 재사용성을 고려할 필요가 없지 않을까? 라는 생각을 해보았으나 완성된 코드들을 생각하니 끔찍했다.
  • 백엔드 관점에서 디테일한 DB설계, api 설계가 불가능하다.
    • DB 및 api를 설계한다는 것은 굉장히 어려운 일이다. product의 비즈니스 로직과 DB의 핵심 원리를 알아야하며 미래에 새로운 기능이 추가되더라도 유연한 확장이 가능하게 설계해야 하기 때문이다.
  • product를 ChatGPT에 온전히 의지할 수 없다.
    • ChatGPT도 사람이 만들었으며 어떠한 상황으로 예기치 못한 상황이 발생할 수 있다. 
      예를 들어, 장애가 날 수 있으며 올바른 답변이 아닌 잘못된 답변을 답할 수 있다. 이렇게 될 경우 개발자가 없다면 특정 비즈니스는 막대한 손해를 입을 수 있게 된다.
    • 외부에 알려지면 안되는 비즈니스 로직의 경우 ChatGPT 이용 시 학습 자료가 될 수 있다.

2. ChatGPT가 웹 개발자에게 끼치는 영향

위에서 언급하였듯이 ChatGPT는 개발자를 대체할 수 없다고 생각한다.

오히려 개발자에 도움을 주는 도구라고 생각한다.

 

  • 개발 생산성 향상
    • 정보를 얻기 위해 구글 검색이 아닌 ChatGPT를 이용하면서 보다 빠르게 답변을 찾을 수 있게 되었다.
    • util 함수 생성 비용이 굉장히 축소된다.
  • 코드 퀄리티 향상
    • 특정 로직이 담긴 함수의 경우 더 좋은 코드가 있는지 코드 리뷰 or 비교가 가능하다.
  • 공부 방향성 확립
    • 앞으로의 진로 변경(프론트엔드 -> AI, 백엔드 -> 프론트엔드)에 필요한 지식이 무엇인지, 어떠한 과정이 필요한지 알 수 있다.
    • github 데이터를 기반으로 기술 트렌드를 캐치할 수 있다.

3. ChatGPT이후 개발자의 방향성

코로나가 등장 후 코로나 전과 후의 시대가 달라졌듯이 ChatGPT 등장 전후로 많은것이 달라질 것이라 생각한다.

  • 스타트업 규모에서는 한 분야를 깊게 아는것 보다 여러 분야를 얕게 아는 것이 중요할 수 있다.
    • ChatGPT이전에는 한 분야를 깊게 판 개발자가 전문성이 있고 스펙이 좋다고 여겨졌다. 하지만, ChatGPT 등장 이후 한 분야에 대한 모르는 지식은 ChatGPT로부터 어느정도 도움을 받을 수 있다. 
    • 여러 분야를 얕게 아는 것이 중요하다고 생각하는 이유는 ChatGPT에 물어보려면 어느정도는 알아야 정확한 질문이 가능하기 때문이다. 즉, 원하는 정보를 얻기 위해서 기본적인 지식은 있어야 질문이 가능하고 답변이 정확한지도 거를 힘이 생기기 때문이다.
    • 종합적으로 본다면 각 분야에 대한 전문가 3명보다 두루두루 얕게 아는 개발자 2명을 사용해 비용 절감을 하며 MVP를 충분히 만들 수 있을 것 같다.
    • 단, 대기업으로 갈 수록 한 분야를 깊게 아는것이 확실히 중요하다. 기업 규모가 클수록 다른 분야쪽 일을 할 경험이 적기 때문이다.
  • 단순 기술 정의를 공유하는 개발 블로그 보다는 기술에 대한 주관적인 생각, 적용 경험을 공유하는 개발 블로그가 더 좋을 수 있다.
    • 단순히 기술 정의를 공유하는 글은 앞으로 ChatGPT에 의해 대체될 수 있다. google 검색을 하며 블로그의 글을 보고 기술 정의를 확인하는게 아니라 ChatGPT에 직접 물어보고 답을 얻기 때문이다.
    • 기술에 대한 주관적인 생각, 기술을 프로젝트에 적용했을 때 느꼈던 장점, 단점 등 이러한 현상들은 사람마다 달라 AI가 학습할 수 없으므로 이러한 글은 여전히 다른 개발자에게 도움이 될 수 있다.
  • 주니어 개발자의 성장 속도가 빨라질 수 있다.
    • 주니어 개발자들이 학습을 하면서 여러가지의 에러를 겪어보고 해결하는 과정에서 시간을 많이 소모하며 성장한다.
      에러를 한국어, 영어로 검색도 해보고 에러는 수정했는데 에러의 원인은 뭐였는지 찾아보며 시간을 많이 소모하였는데 ChatGPT 검색으로 에러의 원인과 수정 방안을 빠르게 얻을 수 있다.
  • 영어를 잘하는게 도움이 될 수 있다.
    • ChatGPT가 학습하는 로직을 정확히는 모르겠지만 테스트를 해보면 언어별로 답변이 다른것을 확인할 수 있다.
      이말은 즉, 언어별로 학습을 따로 한다는 것이다.
    • 전세계에 영어를 사용하는 개발자가 많을까? 한국어를 사용하는 개발자가 많을까?
      당연히 영어를 사용하는 개발자가 많다. 즉, ChatGPT가 학습하는 데이터의 양과 질이 더 좋을 수 있다는 뜻이다.
      따라서, ChatGPT를 통해 원하는 정보를 얻기 위해서는 한국어 뿐만 아니라 영어로 질문을 하여 다양한 정보를 얻어서 비교하게 된다면 훨씬 더 좋은 정보를 얻을 수 있다.

2020 주요국 IT 개발자 수

  • 아래의 사진은 한국어와 영어로 "React에서 가장 많이 사용되는 폴더 구조"를 ChatGPT에 물어본 결과이다.
    결과가 다른것을 확인할 수 있다.

 

 

React 에서 가장 많이 사용되는 폴더 구조에 대한 한국어 답변
React 에서 가장 많이 사용되는 폴더 구조에 대한 영어 답변

 

 

인터넷이 등장했을 당시 인터넷은 '정보의 바다'라 불렸다.

인터넷(정보의 바다)에서 정확한 정보를 얻기 위해서는 수많은 정보들을 찾아보고 그 중에서 올바른 정보인지 구분할 수 있는 능력이 중요했다.

ChatGPT는 '정보의 갯벌'과 같다.

정확한 정보를 얻기 위해서 수많은 정보를 찾아보는 단계가 생략되었기 때문이다.
(올바른 정보인지 구분할 수 있는 능력은 여전히 중요하다.)

바다에서 배타고 낚싯대 들고 낚시하는 것 보다 갯벌에가서 조개를 캐는게 훨씬 쉽고 비용이 적게 들기 때문이다.

 

 

지금까지 ChatGPT를 사용하면서 주관적으로 느낀 소감을 작성한 것이므로 정답은 아니다.

미래는 아무도 알 수 없으니 미래에 대비할 수 있도록 현재를 열심히 살아보자.

728x90