AI가 코딩을 대신할 때, SW는 누가 관리하나? 개발자와 CTO는 무엇을 해야 하나?
AI가 코딩을 대신할 때, SW는 누가 관리하나? 개발자와 CTO는 무엇을 해야 하나?
확실히 요즘 개발자의 구인 공고가 줄어들고 있습니다. 시장에서는 더 이상 예전처럼 대형 프로젝트도 많이 줄어들었고, MSA와 Agile이 성숙한 이후에는 각자 작은 단위의 팀들이 알아서 하면 되겠지 하다가 실패하는 프로젝트도 많아졌습니다. 프랑스의 대형 선사인 CMA CGM은 7억불을 넘게 글로벌 1위 S사의 ERP솔루션을 기반으로 한 대형 프로젝트를 시도하다가 실패했고, 영국 국가보건서비스(NHS)의 디지털 의료 기록 시스템 프로젝트는 무려 100억 파운드의 비용을 들였으나 결국 취소되었습니다. 요즘은 한국도 많은 프로젝트들이 법정에서 종료판결을 기다리곤 합니다. 현장에서는 AI가 코딩하는 시대니까 개발자들은 더 이상 많이 필요 없다고 하고, 앞으로 개발자들이 사라진 거라고도 합니다. 실제로 다들 혼란스럽습니다. 하지만 중요한 것은 AI가 일부 개발을 돕는다고 하더라도 이럴수록 전체 시스템의 품질에 대한 책임은 더 과중해 졌으며, SW의 중요도는 더욱 커져만 갑니다.
개발자의 가장 큰 걱정: 일자리 감소보다 늘어나는 책임감
많은 사람들이 "AI가 코드를 작성하면 개발자는 필요 없어질 것"이라고 생각합니다. 그러나 현실은 매우 다릅니다. GitHub의 연구에 따르면 Copilot을 사용한 개발자들이 과제를 완료하는 속도가 실제로 55% 빨라졌지만, 동시에 보안 취약점 발생률도 크게 증가했습니다. "AI가 생성한 코드를 검토하는 시간이 너무 많이 들어서, 결국 내가 처음부터 작성하는 것보다 총 작업 시간이 30% 더 늘었어요." 이는 Stack Overflow의 2023년 개발자 설문조사에서 자주 언급된 불만입니다. 결국 개발자는 단순한 '코드 작성자'에서 '코드 큐레이터'로 역할이 변화하고 있습니다. AI가 제안하는 수많은 코드 중에서 안전하고 효율적인 것을 선별하고, 전체 시스템과의 정합성을 검증하는 책임이 더욱 커진 것입니다.
모두가 놓치고 있는 진짜 위험: AI의 '기술 부채' 폭탄
결국 모두가 놓치고 있는 것은 이렇게 무분별하게 SW를 파편화시키고 AI로 짜서 여기 저기 덧대어 놓은 코드가 기하급수적으로 커져가면서 '기술부채(Technical Debt)' 또한 쌓여가고 있다는 것입니다. 이러한 문제들은 여러 곳에서 이미 나타나고 있습니다.미국의 대형 금융회사 Capital One은 2023년 AI 코드 생성 도구를 도입한 후 6개월 만에 갑작스러운 시스템 장애를 경험했습니다. 원인을 분석한 결과, AI가 생성한 코드에 숨겨진 취약점이 누적되어 발생한 문제였습니다. "우리는 AI가 만든 코드를 충분히 검증하지 않았고, 그것이 우리 시스템 전체에 미치는 영향을 제대로 예측하지 못했습니다."라고 Capital One의 CTO는 인터뷰에서 밝혔습니다.
가트너(Gartner)의 2023년 보고서에 따르면, "2026년까지 AI 생성 코드로 인한 기술 부채가 기업의 IT 비용 중 30%를 차지할 것"이라고 예측했습니다. 또한 "AI가 생성한 코드는 평균적으로 25% 더 많은 유지보수 비용을 요구한다"고 경고했습니다. 이러한 상황에서 CTO와 아키텍트는 AI 생성 코드의 품질과 보안을 검증하는 전담 팀 구성, 기술 부채를 정량적으로 측정하고 관리하는 지표 도입, 서비스 간 의존성을 실시간으로 모니터링하는 시스템 구축이 필요합니다.
결국 전체 시스템을 이해하는 SW 아키텍트가 필요합니다.
결국 AI가 발전하고 SW개발에 더 많이 사용될수록 SW는 더 복잡해 질 것이고, 이러한 복잡도와 잠재적인 기술부채의 구조를 이해하는 전문가는 더 필요해 집니다. 이를 위해서는 AI를 더 잘 사용하는 소통역량을 갖춰야 합니다. "구체적인 맥락과 제약조건을 AI에게 설명할 수 있는 능력이 가장 중요합니다."라고 Salesforce의 수석 엔지니어 토마스 챈은 말합니다. 무엇보다 중요한 것은 전체 비즈니스 맥락을 이해하고 시스템 전체를 조망하는 아키텍처에 대한 시각이 필요하다는 것입니다. 전통적으로 SW아키텍트는 시스템의 구조를 설계하고 중요한 코드를 직접 개발하고 이를 비즈니스의 전략적 목표에 연결하는 역할을 맡아 왔습니다만, AI가 발전하면서 개발리딩의 역할보다는 전체 구조의 맥락에 대한 이해와 잠재 위험에 대한 기술부채의 발견 그리고 전략적 목표와의 연계에 대한 부분이 더 중요해지고 있습니다.
30년이 넘는 다양한 대형 시스템을 한국과 글로벌 시장에서 설계하고 구현해온 필자가 이러한 취지에서 'AI가 발전하면 SW아키텍트의 역할은 어떻게 될까?'하는 질문으로 미국의 SW아키텍트 전문가들과 유럽의 iSAQB(국제 SW아키텍트 협회)의 전문가들과 작년부터 여러 방식으로 토론을 해 보았습니다. 모두들 동일한 의견은 결국 SW아키텍트가 AI를 사용할 수 있어서 전체 개발조직을 지휘해서 대형 시스템을 만들어야 하는 일이 더 쉬워질 것이고, SW아키텍트의 역할은 더 중요해 질 것이라고들 합니다. 이미 전세계에 4만명이 CPSA(공인 SW아키텍트)자격을 따고 다같이 모여서 어떻게 SW아키텍트들이 SW기술부채 및 자꾸 실패하는 대형 프로젝트를 관리할 수 있을지 고민하고 있습니다. 우리나라는 이미 대기업 SI자회사를 통해서 형성된 기형적인 IT서비스 시장의 성장을 경험해 왔습니다. 덕분에 우리나라의 SW시스템이 지나칠 정도로 과하게 잘 되어 있기도 하고 또 때문에 너무 시스템이 무거운 것도 사실입니다. 또한 이 때문에 반대로 SW제품시장이 전세계에서 가장 위축되어 있는 나라이기도 합니다. 이 부분은 나중에 데이터를 토대로 다시 설명하도록 하겠습니다. 중요한 것은 지금 SW서비스에 투자해온 그나마 우리나라의 장점마저 잃어버리지 않으려면 지금 단순 기술보다는 SW아키텍처와 SW아키텍트에 대한 시각을 수정하고 보다 근본적인 부분에 대응을 시작해야 한다는 것입니다.
책임은 분산되지 않는다. 오히려 집중된다.
가트너의 "Future of Work in Software Development" 보고서에 따르면, "AI 도구의 도입으로 코드 작성 작업은 분산되었지만, 그 결과물에 대한 책임과 품질 관리는 오히려 소수의 숙련된 아키텍트와 리더에게 집중되는 현상이 나타나고 있다"고 분석했습니다. IBM의 연구결과에 따르면, AI를 활용한 소프트웨어 개발 환경에서 시스템 아키텍트의 역할이 프로젝트 성공에 미치는 영향력이 이전보다 40% 증가했습니다. "AI가 코드를 생성할 수 있지만, 그 코드가 전체 시스템 내에서 어떻게 작동하고 어떤 영향을 미칠지 이해하고 설계하는 것은 여전히 숙련된 아키텍트의 몫입니다."라고 IBM의 디지털 혁신 책임자는 말합니다. 결국 책임은 사람이 져야 하고 그 사람의 역할은 점점 더 중요해지고 있습니다. 특히 SW 아키텍트의 역할은 AI 시대에 더욱 중요해졌습니다. 수많은 AI 생성 코드와 마이크로서비스 조각들을 하나의 일관된 시스템으로 통합하고, 전체 시스템의 품질과 성능을 책임지는 사람이 바로 SW 아키텍트입니다." AI가 코드를 더 많이, 더 빠르게 생성할 수 있게 되었을수록, 우리에게는 그 코드가 만들어낼 미래에 대한 더 깊은 이해와 책임이 필요합니다. 그것이 바로 AI 시대의 역설입니다.