2년자 백엔드 개발자로 일하면서 최근 회사에서 chatGPT를 본격적으로 도입하기로 했습니다.
개인적인 프로젝트를 만들때나 공부할 때에는 개인계정을 이미 사용하고 있었는데 회사에서 정식으로 회사계정과 연동해서 유료버전을 사용할 수 있게 해준다고 했습니다.
의외였던 것은 개발자뿐 만 아니라 개발자가 아닌 사원분들에게도 제공한다고 한 점입니다.
그때 "아, 세상이 바뀌고 있구나."라고 느꼈습니다. 그와 동시에 여러 유튜브와 기사를 읽으며 개발에 대한 방향, 자신의 미래도 생각하게 되었습니다.
회사 일을 하면서도 chatGPT를 사용했습니다. 설계를 할 때, 모르는 기술단어가 있을 때, 예외처리, 에러 분석, 테스트 코드......
쓰면서 느꼈던 것은, 편리하다는 것도 있었지만 가장 먼저 두려움을 느꼈습니다.
개발자로 일하면서 개발에 필요한 강의를 듣거나 책을 읽고, 그리고 구글 검색을 해서 개발을 해나는 것, 직접 코드를 작성하는 것(chatGPT가 나오기 전에도 이미 만들어진 코드를 참고해서 100% 자신이 생각해서 작성하는 것은 아니었지만)을 통해 성장하고 있다고 생각했습니다.
하지만 이 chatGPT를 사용하면서 이런 제 자신을 이녀석이 대체하겠구나..라고 느낌이 들더군요.
이건 저 말고도 다른 개발자분들도 이미 느끼고 있는 부분이라고 생각합니다.
앞으로 어떻게 해야할까... 난 성장하고 싶은데 백엔드 개발자로 성장하는 것이 의미가 있나? 내가 해왔던 공부방법들, 직접 코드를 치는 것이 의미가 있나하는 생각이 매일매일 들었습니다.
그와 동시에 제 공부학습효율도 프로젝트도 회사 일에 대한 효율이 떨어지는 것을 느꼈습니다.
어떻게든 마음을 다잡고 이제까지 해왔던 습관을 고수하자고 생각하며 하루하루를 보냈습니다.
그래도 개발자니까, 개발자는 항상 배워야하는 직업이니까 나 또한 지금 현실이 어떻게 돌아가고 있는지는 파악해야 이 불안감을 떨칠 수 있으니까 라고 생각하며 chatGPT를 적극적으로 써보기로 했습니다.
chatGPT의 api를 사용해보거나, vscode에 chatGPT에 관한 extension을 install하여 써보거나 했죠. 그러다가 하나의 오픈소스 프로젝트를 발견하게 됩니다.
Github Trending에 AI관련 프로젝트들이 인기순위 상위권을 차지하고 있습니다.
그 중에 AutoGPT라는 것이 있어서 써봤는데, 정말 대단하더군요. 소스코드는 chatGPT의 언어모델을 개조해서 사용하는 것이 아닌 api를 이용하는 쪽입니다.
간단한 웹앱을 만들어달라는 요청에 스스로 패키지를 인스톨하고 프로젝트를 만들더군요. 간단한 명령을 했기 때문에 에러가 났지만, 상세한 요구사항과 더 발전된 AI가 있다면, 정말 누구나 뚝딱 프로그램을 만들 수 있을 것 같습니다.
chatGPT, autoGPT를 사용하면서 든 생각은, 앞으로 AI는 개발에 있어서 필수조건이 될 것 같다는 거였습니다.
향후 10,20년 뒤에는 개발자가 아니더라도 정말 음성으로 명령만하면 누구나 프로그램을 손쉽게 만들 수 있을 겁니다.
그렇다고 지금 내가 개발을 하는 것이 무의미한 것인가? 그건 또 아니더군요.
회사 일에서는 여전히 나라는 사원이 필요하고, chatGPT에게 묻고 만든 코드들이 정말 옳은 것인가, 더 좋은 코드를 만들수 있지 않은가, 이 로직을 이런식으로 바꾸고 싶은데, 등등 내 판단력이 필요한 곳이 여전히 있었습니다.
유튜브나 기사에서는 앞으로 코드를 직접 작성하는 일은 사라질거라고 합니다.
그렇다면 비즈니스 로직의 설계는? 데이터 구조 설계는? 거대한 서비스를 만들기 위핸 아키텍처는? 더 나은 프레임워크를 만들기 위해서는? OS개발은? AI개발은?
분명 AI를 사용하기는 하겠지만 위에 서술한 것들을 더욱 잘 만들기 위해서는 공부가 필요하고 개발을 하는, 개발자가 필요하다는 결론을 내렸습니다.
방향에 대해서도 아래와 같이 결론을 내렸습니다.
1.제품을 만들고 싶은 쪽은 AI 툴을 적극 사용해서 빠르게 제품을 만든다.
2.AI개발, 프레임워크 개발, AI 툴 개발 등은 AI의 도움을 받겠지만 기본적으로 개발을 하기 위한 지식이 선행되어야하니 공부를 게을리 하지 말아야한다.(CS, 알고리즘, 자료구조, 프로그래밍등)
1,2 공통적으로 AI를 사용하되 단순히 copy해서 사용하는 것이 아닌, ai를 통해 생성된 코드, 알려준 지식 등을 정리해서 자신의 것으로 체화하는 것은 여전히 필요하다.
그리고 1이 중심일지 2가 중심일지 가장 중요하게 생각하는 것이 무엇인지를 생각해봐야한다.
제품 개발자(소프트웨어 개발자)가 되고 싶은가? AI를 포함하여 생산성 높이는 도구를 개발하고 싶은가?
AI 그 자체를 개발할 때, OS 그 자체, 프레임 워크 그 자체를 개발할 때는 여전히 디테일한 지식이 필요할 것이다.
코딩 자체가 사라진다고해도 개발자의 본지을 잊지 않고 계속 공부해야한다는 것, 문제를 풀어야하는 것은 당분간 변하지 않을 것이다.
저는 프로젝트를 하면서 제가 원하는, 사람들이 원하는 제품을 만들 것입니다.
그때에는 항상 chatGPT와 같은 AI를 사용할 것입니다. 그리고 AI가 알려주는 정보를 단순히 copy하는 것이 아닌,
이해하고, 공부하여 더 크고 좋은 제품을 만들 수 있는 개발자가 되도록 할 것입니다.
그리고 흥미있는 분야, AI와 프레임워크에 대해서도 깊이 이해할 수 있도록 기본기 공부도 해나갈 것입니다.
무엇보다도 가장 중요한 것은, 변화에 적응하고 문제를 해결해 나간다는 것을 잊지 않는 것이라고 생각합니다.
10, 20년 뒤의 미래에는 개발자가 필요없다, 그건 그 10년, 20년 사이에 제가 쌓아둔 게 있다면 그때가서 새로운 무언가에 대해 또 적응할 것이라고 생각합니다.(사실 지금 나와있는 유튜브 영상이나 기사를 보면 10년, 20년뒤의 미래를 디테일하게 예측하는 내용은 본 적이 없습니다. 너무나도 빠르게 변화하기 때문에 누구는 이렇다, 누구는 저렇다 라고 말씀하시지만 그게 정답인지는 누구도 확신할 수 없다고 생각합니다.)
설계에 대한 지식과 개발할 때 필요한 디테일한 지식, 기본기, 그리고 비즈니스, 도메인에 대한 공부.
이게 당분간 AI와 함께하는 개발자로서 제가 갖춰야할 역량이라고 생각하면서 계속 개발을 해나갈 겁니다.
다른 분들의 의견도 듣고 싶습니다.
댓글 남겨주시면 감사합니다.
'생각정리' 카테고리의 다른 글
장고를 파보기로 했습니다. (1) | 2023.04.30 |
---|