본문 바로가기
Game DevTip

1. Devtalk : 개발 공부에서는 AI를 어디까지 사용하는 것이 이로운가?

by LIKE IT.라이킷 2025. 5. 21.

 

 

현재 개발 업계의 과도한 AI 사용이 과연 옳지 않은 것인가?

최근 2~3년 부터 LLM 모델의 등장으로 인해서 세상의 흐름이 매우 빠르게 변하고 있다.

개발 업계에서 이미 웹쪽은 LLM AI에 의해서 사실상 초보 개발자가 격퇴당한 수준이나 마찬가지일 만큼

그만큼 LLM의 성능이 갈수록 좋아지고, 그만큼 현업의 주니어, 또는 아직 취준생인 사람들은

사실상 가장 힘든 시기를 보내고 있지 않을까 싶다. 

 

그만큼 AI를 활용한 코드들도 굉장히 많아지고 있으며, 

심지어 마이크로소프트의 경우는 현재 개발, 상용화된 프로그램중 30%정도는 AI가 생성한 코드라고 한다. 

메타나 구글도 비슷하게 추세를 따라가고 있는 지금, 

과연 현재 개발자를 지망하는 학생들은 어떻게 해야할까?

 

최근 아마존을 취업한 20대가 사실 코딩 테스트때 AI를 사용하여 합격을 한 것을 SNS에 밝혔다가

퇴사를 당했다는 영상을 본 사람들이 많을 것이다. 

이러한 내용의 영상이나 소식을 접할 때 마다 개인적으로 현재 대학생, 미래의 취준생인 내 심정은 정말 암담하기 그지 없다. 

 

향후 1년 후면 사실 상 코드를 더 이상 짜지 않아도 된다는 샘 올트먼(OpenAI CEO), 

그나마 불행중 다행인 것은 아직까지는 게임 개발 분야까지 AI가 완전히 정복을 하지 못했다는 것이다.

 

Unity(유니티)의 경우 AI를 도입하여 마치 게임 엔진을 메이커 툴 처럼 초보자들도 쉽게 만들어

더 많은 게임을 만들 수 있게 하는 것이 목표인 회사도 있는 반면

 

에픽게임즈처럼 엔진의 소스 자체는 깃허브에 오픈소스로 공개가 되어있지만 

그 양이 너무나도 방대하여 진입장벽이 높고, 아직까지는 AI자체를 엔진에 도입하겠다는 소식이 없는 회사도 있다. 

 

물론 유니티가 Ai로 더 개선되어 많은 게임들이 세상에 출시해 비전공자 또한

자신이 풀고 싶었던 이야기를 게임으로 풀 수 있게 된다는 장점도 있겠지만, 

이 말의 다른 의미는 게임 개발의 전문화가 점점 퇴색되고 있다는 뜻이다. 

 

솔직히 이렇게 말하지만 나도 과제를 내야할 때 Ai를 사용하는 빈도수가 많이 늘긴했다.

편리하고, 빠르게 과제가 가능하기 떄문이다. 

 

하지만 위에 말처럼 이 말도 즉, 크게 힘을 들이지 않아도 된다는 이야기.

한마디로 말하면 그냥 구현 조건만 말해주면 프로그래밍 적으로 생각을 하지 않아도

코드가 알아서 짜여 진다. 로직을 생각할 필요도 없이, 흔히 말하는 '딸깍충'이 된다는 것이다. 

 

내가 이 포스트를 쓰는 이유는 최근 이러한 점 때문에 점점 위기감을 느끼고 있기 때문이다.

과연 이걸 우리는 프로그래머 부를 수가  있는 것일까?

 

바이브 코딩(Vibe Coding)이라는 신조어가 탄생할 만큼 이런 사례가

개발 업계, 그리고 개발자를 지망하는 학생들 사이에서 급증하고 있다는 것이다.

이건 코딩도 아니고, 프로그래밍도 아닌, 그저 조립일 뿐이다. 

 

적어도 Ai를 이용하여 코드를 짜려고 한다면, 해당 내용에 대한 기본적인 지식은

갖추고 있는 상태가 가장 이롭다고 생각한다. 

아니, 솔직히 말하면 그것 마저 이롭다고 생각하지 않는 파이긴 하나,

 

어쩌겠는가, 이미 시대는 변하고 있고, 우리는 그 흐름을 막을 수 없다.

만약 이 생각에 반대해서 3차 산업혁명이 시작될 때 그때 공장의 노동자들이 

자신의 공장에 불을 지르는 행위를 지금 우리가 똑같이 그들의 데이터 센터에 저지르는 것은

그저 지나간 과거에 집착하는 행위이다. 현실을 부정하는 행위이며, 소리없는 아우성이다.

 

지금은 오히려 이러한 상황을 우리가 이용하여 발전해야 한다. 

물에 휩쓸려 떠내려가는 생쥐가 되는 거 보다, 

그 물의 길을 열어주는 존재가 되어야 한다. 

 

그렇다면 현재 학생인 나는, 미래의 취준생인 사람들은 어떻게 해야할까.

 

 

적어도 파이프라인은 본인이 직접 짜라.  더 나은 구조를 생각해라.


이 말은 다음 의미는 적어도 현재 코드를 어떻게 돌게 할 것인지에 대해서 부터 Ai에게 물어보지 말라는 소리이다. 

문제 내용과 구현 조건만 가지고서(기획서만 가지고서) Ai에게 물어보는 행위는 

그저 복붙이 취미일 뿐인 코드 몽키와 다를 바가 있을까?  굳이 더 말할 필요도 없다고 생각한다. 

 

 

적어도 3번 까진 다시 생각해보자.


 

구현시 모르는 부분은 어쩔 수 없다. 사실 상 이때는 Ai에게 물어보든, 구글링으로 방법을 찾아보든간에 

그 두개는 거의 비슷하다 생각한다. 

 

하지만 독자들의 입장에서는 이해가 되지 않을 수도 있다. 

"그냥 문제를 던져주면 ai는 바로 해결해주는데 왜 굳이 구글링과 똑같다고 하는 거지?"라고 말이다. 

 

가장 중요한 점은 ai에게 물어볼 때 현재 오류가 발생한 자신의 코드를 ai에게 던져주지 않는다는 것이 가장 중요한 점이다.

해당 문법에서 오류가 났다면, 그 문법 관련해서만 물어봐라. 

수식이 틀렸다면, 그 수식 코드 전부를 넣는 것이 아닌, 개념부터 다시 물어보는 것이다. 

수학공식이 틀렸다면 그 공식 관련만 질문해라. 

 

솔직히 현업자 입장에서 시간이 생명이라면 코드를 넣어 빠르게 완성하는 것은 

상황에 따라 어쩔 수 없다고 생각한다. 

 

다만 학생의 입장에서는 해당 방법은 전혀 좋지 않은 길이다. 

항상 편하고 쉬운 길의 경우는 학생인 사람들에게 득이 되는 것이 전혀 없다. 

이것은 로우레벨의 언어의 경우(특히 C++일 수록) 더더욱 그렇다고 생각한다. 

 

로우레벨 언어의 경우는 최적화의 방법이 매우 다양하지만, 

그만큼 성능에도 영향이 매우 많이 가며, 특히 CS지식과 언어 자체에 대한 이해도가 높아야

깔끔하게 구현을 마칠 수 있기 때문이다. 

 

한 분야가지고는 안되겠더라.


 

나는 당장 입문할 당시 게임 클라이언트 프로그래머를 지망했다. 

서버든, 그래픽스 프로그래밍이든 그저 엔진만 다룰줄 안다면

다른 분야 상관 없이 게임 하나는 만들 수 있겠다는 잘못된 생각 하나 때문이다. 

 

그래서 솔직히 말하자면 나는 싱글플레이 게임 위주로만 개발을 하게 되었었다. 

하지만 엔진에 대한 의존도가 점점 더 높아지면 높아질 수록 엔진에 들어있지 않은 다른 기능들을 

개발할 때 상당히 지연이 되었고, 항상 모르는 것들 투성이었다. 

 

물론 그럴떄 마다 Ai를 찾게 되는 빈도가 항상 높았었다보니 

내 지식이나 실력은 늘 제자리 걸음이 되었다.

때문에 그 기반이 되는 지식을 알려고 하다보면 결국 어떻게 되든 간에 

프로그래밍 분야 속 다른 세부 분야에 대해서 필연적으로 공부를 하게 되는 일이 빈번히 발생하게 된다. 

 

문제의 본질을 이해하려다 보면
자연스럽게 다른 프로그래밍 분야 – 서버, 네트워크, 그래픽스, 최적화 등 – 에 대한 공부가 필연적으로 따라왔다

 

물론 싱글 플레이 개발을 하는데 왜 네트워크 관련지식이 왜 들어가냐 할 사람도 있겠다만,

적어도 해당 직군과 소통을 하기 위해서는 그 기반에 관련된 지식이 기본은 있어야 한다.

1인 개발자를 꿈꾸고 있다면 굳이 상관은 없겠지만, 대부분은 취업을 하길 원하지 않는가?

 

게임 프로그래밍을 공부하면서 가장 이해가 되지 않았던 어느 학생의 말이 가장 나를 짜증나게 했다.

"어짜피 엔진안에 수학이든 뭐든 함수 이용해서 만들어져 있는데 왜 필요해?"

 

소규모 게임을 만든다면 굳이 크게 상관하지 않을 수도 있으나, 

가장 큰 문제는 대규모 프로젝트에 들어갔을 때다. 

당장 내가 쓰는 알고리즘에 대한 시간 복잡도 계산부터 시작해서, 

셰이더 최적화등을 위해서 수학을 써야할 일이 굉장히 많을거다.

 

굳이 이게 대규모 게임이 아닌 소규모 게임에서도 마찬가지라고 생각한다.

아무리 컴퓨터의 성능이 높아졌다 한들 최적화를 아무것도 하지 않고 개발을 하다보면

항상 막히는 문제가 발생한다. 

 

그리고 굳이 이런 이유가 아니더라도 포물선운동의 개념을 사용해

탄도학을 게산 할때마저 삼각함수를 필연적으로 사용해야하는데

개발자 본인이 삼각함수를 모르는게 말이 될까?

 

엔진안에 Projectile이라고 적혀있어서 그냥 그 함수만 대입하면 기능 바로 완성되는 그런 엔진 내장 함수가 있던가?

엔진마저도 개발자에게 자유를 준다, 그 말은 즉, 개발자 본인이 그 자유를 활용하기 위해

알아야한 기본 지식들을 알아야 한다는 뜻이다. 

 

결론

AI는 도구일 뿐, 방향을 정하는 건 여전히 우리 자신이다.
남이 짜준 코드를 붙여넣는 사람이 아니라, 그 코드가  그렇게 동작하는지를 이해하는 개발자가 되어야 한다.
시대는 변했고, 앞으로도 더 빠르게 변할 것이다. 하지만 생각하는 힘을 가진 개발자는 어떤 도구가 등장해도 도태되지 않는다.

 

나는 현재 존재하는 도구를 쓰지 말라는 말이 아니다.

다만 어떻게 그 도구를 사용하느냐에 따라 도구의 가치는 달라진다.

 

이제는 ‘어떻게 구현할까’를 AI에게 묻기 전에,
‘무엇을 만들고 왜 그렇게 구현해야 하는가’를 고민할 수 있는 개발자가 되어야 한다.
AI 시대의 개발자는 단순 구현자가 아닌, 문제 해결의 설계자여야 한다.

반응형

댓글