
최근 제로베이스에서 우아한형제들 프론트엔드 프로그래머이신 송요창님이 진행한 특강을 시청했다. 프론트엔드 취업 특강이었는데, 요즘 이슈인 챗gpt와 관련한 강사님의 생각을 들을 수 있었다. 또한 강사님이 쓰신 ChatGPT쓰셨던데 그러고도 개발자 입니까? 라는 글을 보고 나의 생각을 정리하여 이 글을 쓰게 되었다.
이른바 채용 혹한기다. 개발자 채용 공고는 3할이 줄었고, 개발 구직자는 6할이 많아졌다. 거기다 이제는 코드도 짜주는 새로운 킬러앱 챗gpt까지 등장하였으니, 신입 개발자라면 더욱 취업에 대한 불안감이 커진 상태일 것이다.
결론부터 말하자면 강사님의 의견은 '아니다'였다. (단기적으로) 챗gpt는 어디까지나 도구로서 사용될 것이며, 도구는 인간을 대체하는 것이 아니고 인간의 생산성을 극적으로 개선시키기 때문이다.
챗gpt는 생각보다 똑똑하면서도 멍청하다. 절대 모른다고는 하지 않고, 데이터를 기반으로 어떻게 해서든 대답을 만들어낸다. 질문의 의도나 문맥, 배경을 완전히 이해하는 것이 아니라 확률적으로 가장 적합한 문장을 만들어내는 것이다. 챗GPT-3.5 버전에 “세종대왕 맥북 던짐 사건에 대해 알려달라”고 요청하면 이렇게 답한다.

이런 문제를 ‘할루시네이션’ 현상이라고 한다. 직역하면 ‘환각’이라는 뜻으로, AI 모델이 아예 현실에 근거하지 않거나 사실적 근거가 부족함에도 불구하고 이를 사실처럼 이야기하는 것을 의미한다. 쉽게 말해서 설득력 있게 들리는 거짓말을 한다는 뜻이다.
나도 코딩을 할 때, 모르는 것이 생겨 챗gpt에게 질문을 했다가 잘못된 답변을 받은 적이 있다.
SASS를 공부하고 Live Sass Compiler 라는 익스텐션으로 main.scss 파일을 style.css 파일로 이름을 바꾸면서 컴파일을 하고 싶었다. 아무리 구글링을 해도 방법을 찾을 수 없어 챗gpt에 물어보니 다음과 같은 답변을 받았다. filename 이라는 속성을 사용하면 된다는 것이다.

하지만 Live Sass Compiler의 공식문서에는 liveSassCompile.settings.formats에 filename이라는 속성은 보이지 않았기에 추궁을 하니 죄송하다는 답변을 받을 수 있었다.
또한 개발자의 일은 코딩이 60%정도 되며, 나머지는 회의를 하거나 다른 직원과의 커뮤니케이션이라고 하셨다.
개발을 공부한 지 얼마 안 된 사람이라면, 혹은 독학을 하는 사람이라면 코딩을 함에 있어서 대중적으로 쓰이는 레퍼런스 같은 것들을 모를 수 있다. 예를 들어 이미지같은 파일이 들어있는 assets 폴더는 src에 넣어야 하는지, public에 넣어야 하는 지 같은 것들 말이다. 그럴때 챗gpt는 우리의 좋은 사수가 될 수 있다. 챗gpt는 그것도 모르냐며 타박하지 않고, 아무리 많이 물어봐도 화를 내지 않고, 질문 즉시 대답을 해 준다.
우리가 코딩을 할 때, 항상 고민하는 것이 있다. 바로 변수명(또는 클래스명)을 정할 때이다. 챗gpt는 변수명을 기가 막히게 잘 만들어낸다.
이거 보니까 그누보드 오픈소스로 만드셨네요. 오픈소스로 개발하는 개발자도 개발자라고 할 수 있습니까?
2011년 경에 실제로 어느 개발자분께서 들으셨던 말이다. 저 시절에도 저런 발언은 시대착오적인 발언이라고 생각되지만, 현재에는 더더욱 오픈소스를 쓰지 않으면 개발의 유지/보수에 있어서도 어려움이 생기게 된다. 리액트와 NextJS를 놔 두고 굳이 바닐라 자바스크립트로만 코딩을 할 이유는 없는 것처럼, 모든 정보를 구글에서 하나하나 걸러가며 찾는 것보다 챗gpt에게 물어보는 것이 훨씬 경제적일 수 있다.
너무 쉽게 찾은 정보에 대해 불신을 하거나 양심적으로 죄책감을 가질 필요는 없다. 어차피 챗gpt나 타 AI도 계속 진화할 것이며, 내가 쓰지 않는다고 남들까지 쓰지 않는 것은 아니기 때문이다.
기술의 발전은 기하급수적이며 우리의 미래의 모습은 알 수 없다. 인간의 지능을 뛰어넘는 인공지능의 등장, 즉 첫 번째 특이점이 지나고, 그러한 인공지능을 뛰어넘는 더욱 강력한 인공지능의 등장인 두 번째 특이점이 지나게 된다면 인간은 마치 신과 같은 권세를 누릴 수도 있을 것 같기도 하다. 그러나 그러한 과정에서 우리는 행복할 수 있을까? 그 결과는 행복할 수 있을까?
분명한 것은 기술은 인간이 상상한 대로 발전되어 왔다는 것이다. 터치로 작동하는 다양한 기능이 들어간 디바이스 기기, 충전이나 인터넷, 데이터 전송이 무선으로 이루어지는 기술, 사용자에게 맞춰 자동으로 작동하는 스마트홈 IoT 등 이는 완전히 상상하지도 못한 기술이 아니라, 평소에 사람들이 대중적으로 해왔던 상상들을 기술적으로 이루어낸 것이다.
그렇다면 우리는 어떤 미래가 올 지 불안해 하기 보다, 어떤 미래를 만들어 갈 수 있을지 생각하는 것이 더 생산적인 방향이라고 생각한다. 따라서 기술에 대해 막연한 두려움을 갖기 보다는, 기술에 올라타서 더욱 좋은 서비스를 만들어 낼 수 있도록 생각하고 노력하는 것이 개발자라면 특히 더 가져야 하는 자세가 아닐까? 먼 미래라면 몰라도 아직까진 나도 챗gpt가 신입 개발자를 대체하기엔 무리라고 생각한다. 그러니 그 전에 부지런히 챗gpt를 활용해서 빠르게 성장하는 개발자가 되어보자. 나중에는 이런 말을 들을 지도 모르니 말이다.
"ChatGPT 안 쓰시던데 그러고도 신입개발자 입니까?"
인터넷 이후 가장 혁신적인 기술, 챗GPT의 기술적 한계
채용 혹한기를 이기는 방법
오픈소스 쓰셨던데 그러고도 개발자입니까?
ChatGPT쓰셨던데 그러고도 개발자 입니까?
프수타 004- ChatGPT쓰셨던데 그러고도 개발자입니까?