정말 모든 개발자들이 AI에 대채될것인가..
요즘 많은 분들이 “AI가 개발자 직업을 줄일까?” 걱정하고 있습니다.
SNS에서도 “몇 년 안에 개발자 직군이 대폭 줄어든다”는 이야기가 많죠.
개발자는 단순히 코딩하는 사람이 아닙니다.
개발자는 문제 해결사입니다.
즉, 고객이나 기업이 해결하고 싶은 문제를 소프트웨어 기술로 해결하는 사람입니다.
이 과정에서는 각자의 입장이 다른 사람들의 의견을 조율하고,
고객과 기업이 느꼈던 Pain Point(고충)을 정리하여
기술로 풀어나가는 과정이 포함됩니다.
심지어 혁신적인 아이디어만으로도 기존 리소스를 활용해 문제를 해결할 수도 있습니다.
많은 분들이 걱정하는 것처럼,
“코딩만 하는 개발자”(주어진 업무만 수행하는 개발자)는
향후 몇 년 안에 AI에 의해 대체될 가능성이 높습니다.
하지만 문제를 정의하고 해결하는 개발자는 대체될 수 없습니다.
과연 AI가 작성하는 코드는 신뢰할 수 있는가?
저는 개인적으로 요즘 개발 커뮤니티에서 AI를 찬양하는 것이 이해되지 않습니다.
마치 “개발의 신”이라도 된 것처럼 AI를 극찬하는 경우가 많은데,
솔직히 말해서 AI가 작성하는 코드는 아직 멀었습니다.
실제 사례를 하나 말씀드리겠습니다.
최근 Java 1.7 (레거시 코드) 환경에서
병렬 구조를 활용하여 성능을 높여야 하는 작업이 있었습니다.
이때, ExecutorService 프레임워크를 사용해 AI에게 코드를 작성해보라고 시켰습니다.
(모델: ChatGPT 4o, O3-mini-high)
결과는 처참했습니다.
겉보기에 컴파일 오류도 없고 실행도 잘 됩니다.
그럼 이 코드는 정상적인 코드일까요? 절대 아닙니다.
AI가 작성한 코드의 문제점
• 스레드에서 공유하는 객체를 불변(Immutable)으로 유지해야 하지만, 그렇지 않음
• 스레드의 예외 상황 처리가 미흡함
• 파일 리소스를 제대로 닫지 않음 (메모리 누수 가능)
• 각 스레드에서 예외 발생 시 interrupt()를 적절히 처리하지 못함
이 문제들은 “겉보기엔 잘 동작하는 코드”일 수 있습니다.
하지만 실제 프로덕션에서 실행된다고 생각해보세요.
• 메모리 누수 발생 → 서버 다운 가능
• 스레드 예외 발생 후 죽었는데, 시스템은 정상적으로 실행되는 것처럼 보임
• 객체 불변성을 보장하지 않아서 데이터 정합성 문제 발생
• 스레드 관련 문제는 디버깅도 어렵고, 버그를 찾기도 힘듦
이처럼, AI가 생성한 코드를 검토 없이 그대로 사용하면 엄청난 버그를 심을 수 있습니다.
따라서, 중급/고급 개발자의 검토 없이 AI가 완벽한 코드를 작성할 수 있다고 믿는 것은 큰 착각입니다.
결론: AI가 개발자를 대체할까?
• ChatGPT가 작성하는 코드는 프로덕션 레벨에서는 사용할 수 없다.
• 개발자는 단순 코더가 아니라 문제 해결사다.
• “단순 코더”는 AI에 의해 대체될 가능성이 있지만, “문제 해결 능력을 가진 개발자”는 여전히 필요하다.
• AI 걱정할 시간에 더 공부하고, 더 품질 좋은 소프트웨어를 만들기 위해 노력하는 것이 답이다.
많은 입문자, 신입 개발자분들이
“AI 때문에 개발자가 필요 없어지는 게 아닐까?” 하는 좌절감을 느끼는 것은 당연합니다.
하지만 개발자라는 직업은 단순히 AI가 코드 생산성을 높인다고 대체될 수 있는 직업이 아닙니다.
지금 걱정할 시간에,
더 나은 개발자가 되기 위해 공부하고, 문제 해결 능력을 키우세요.
그럼 결국 끝까지 살아남고, 잘 먹고 잘 살 수 있습니다.