유인철 깃랩코리아 이사, 솔루션 아키텍트

유인철 깃랩코리아 이사, 솔루션 아키텍트
유인철 깃랩코리아 이사, 솔루션 아키텍트

[아이티데일리] AI는 SW 개발을 어떻게 변화시킬 것인가

AI(Artificial Intelligence)는 유망한 기술 혁신 수단으로 주목받고 있지만, SW 개발과는 거리가 먼 것으로 치부되어 왔다. 지난 수년 동안 SW 개발과 관련한 AI 역할에 대해 여러 의견들이 제시되었지만 실질적인 결과로 이어지지는 못했다.

하지만 가능성은 충분히 높다. 파이썬(Python) 프로그래밍 언어에 대한 관심이 높아지고 있는 것을 보면 개발자들이 흥미를 갖고 있다는 것을 알 수 있다. 스택 오버플로우(Stack Overflow)의 연례 설문조사에 따르면, 회원들이 질문한 횟수를 기반으로 파이썬의 ‘인기’와 ‘관심’이 증가하고 있음을 알 수 있다. 이는 머신러닝 기반 챗봇을 위한 필수 언어로 자리매김하고 있다.

또한 깃랩의 2020년 글로벌 데브섹옵스(DevSecOps) 설문조사에 참여한 개발자의 약 4분의 1에 해당하는 응답자가 AI와 머신러닝을 이해하는 것이 미래의 경력에 중요한 스킬이 될 것이라고 답했다. 그리고 약 16%의 테스트 담당자들은 테스트를 위해 현재 팀이 봇을 사용하고 있거나 AI 및 머신러닝 도구를 갖추고 있다고 응답했다.

그렇다면 테슬라(Tesla)가 자율주행 자동차를 만들고 있는 지금, 자율 코드작성이 그리 먼 이야기일까? 최소한 10명 이상의 데브옵스(DevOps) 실무자들과 업계 분석가, 그리고 깃랩의 경영진에 따르면, 이러한 SW 개발의 미래는 더 이상 먼 이야기가 아니다. 이제 이들의 견해를 살펴보자.


점진적인 발전

깃랩은 AI가 점진적으로 도입될 것으로 판단하고 있다. 깃랩의 CEO인 시드 시브랜디(Sid Sijbrandij)는 “미래의 모든 SW 세트는 일부 절차적 코드와 일부 (AI)모델의 조합으로 구성될 것이다. 그리고 시간이 지나면서 이 모델이 점점 더 많은 코드를 처리하게 될 것이다”라고 설명했다. 그러나 시드는 AI의 역할에 대해 “특이한 활동을 하는 것이 아니라 라이브러리나 모델에 대한 통합 호출 기능을 수행할 것으로 생각한다”고 덧붙였다.

깃랩의 수석 개발자인 브렌든 오리어리(Brendan O’Leary)는 앞으로 10년 후 코드 개발에서 AI가 훨씬 더 중요한(또는 유용한) 역할을 수행할 것이라는 점은 자명한 일이라며, “하지만 AI가 인간을 대체하는 것은 아니다. 중요한 것이 무엇인지 파악하는 인간의 역할을 더욱 중요하게 만들 것이다”라고 언급했다. 브렌든은 모든 데이터를 신속하게 분류하여 코드 작성자들이 필요한 영역에 집중할 수 있도록 세부 작업을 수행하는 제2의 눈에 AI를 비유한다. 그는 “예를 들어 컴퓨터 보조진단(CAD, Computer-Aided Detection)은 식별이 어려운 1mm 크기의 종양을 찾아야 하는 유방 조영술에서 매우 중요하다. CAD는 2차적 재검토를 통해 관심영역을 표면화시킬 수 있기 때문에 가치가 있는 것이다. 이것이 바로 SW 개발에서 AI에 기대할 수 있는 모델이라고 생각한다”고 설명했다.

레드햇(Red Hat)의 SW 엔지니어이자 깃랩 히어로(GitLab Hero)인 카를로스 에두아르도 아랑고 구티에레즈(Carlos Eduardo Arango Gutierrez)는 ID 문제뿐만 아니라 솔루션을 제안하는 봇의 기능에 AI가 큰 이점을 제공할 것으로 판단하고 있다. 카를로스는 “당신의 코드가 잘못되었다고 말하고, 이를 고치는 방법을 제안할 수 있는 봇을 기다리고 있다”며, “봇이 대신 테스트를 실행하고, 이를 해결할 것이기 때문에 우리는 더 이상 난관에 봉착하여 고심할 일은 없을 것이다”라고 언급했다.


튜링 봇(Turing Bot)을 만나다

AI가 SW 개발에서 백스톱/코드 테스트/QA 역할을 수행할 것이라는 점은 분명하지만, 포레스터 리서치(Forrester Research)에 따르면, 그 이상의 역할도 기대할 수 있을 것으로 보인다. 2020년 9월에 진행된 ‘SW 개발의 미래: AI는 어떻게 SW 개발의 70% 이상을 자동화할 수 있는가’라는 웨비나에서, 부사장 겸 최고 분석가인 디에고 로 주드스(Diego Lo Giudce)와 마이크 구알리에리(Mike Gualtieri)는 10년 이내에 ‘튜링 봇(Turing Bot)’이 SW 아티팩트에서 코드를 생성할 것이라고 주장했다. 이 웨비나에서는 이러한 봇을 주도하는 기술로 자율 테스트, 자동 머신러닝(예측), 강화 학습 및 머신 코딩 등을 제시했다.

이는 상당히 과감한 예측으로, 아직까지 데브옵스 팀은 해결해야 할 많은 과제를 안고 있다. 이것은 프로세스와 문화의 변화로 이어질 것이며, 개발자의 사고방식에도 전면적인 변화가 필요할 것이다. 포레스터는 개발자가 “앱의 개발 요건, UX 설계 및 솔루션 아키텍처를 포함한 보다 정확한 산출물과 패턴을 정의하는 작업”을 지금부터 시작할 것을 권고하고 있다.


두려워할 필요는 없다

중요한 것은 AI는 인간이 제공하는 데이터만큼의 능력만을 가진다는 것이다. AI는 사람을 대체할 수는 없다. 비터지아(Bitergia)의 CEO이자 깃랩의 히어로인 호세 만리케 드 라 푸엔테(Jose Manrique Lopez de la Fuente)는 “더 이상 개발자가 필요하지 않은 것이 아니다. AI는 인공지능이지 지능은 아니다.”고 언급했다.


개발자의 경력은 미래에도 보장될 수 있는가

변화하는 역할과 새로운 기술의 등장, 그리고 AI의 잠재력(또는 위협) 등에 직면하면서 SW 개발자들에게 중요한 질문이 대두되고 있다. 과연 미래에도 경력을 보장받을 수 있을까?

기술 산업에 있는 모든 사람들은 변화가 매우 빠르게 전개된다는 것을 잘 알고 있다. 무어의 법칙(Moore’s Law)이 바로 좋은 예이다. 하지만 이러한 변화에는 스킬이나 경력에 잠재적으로 영향을 미칠 수 있는 큰 변화(‘Big Change’)들이 있다. 세계경제포럼(World Economic Forum)은 플루럴사이트(Pluralsight) 블로그에 올린 글에서 “거의 모든 산업 분야에서 기술과 여러 변화의 영향으로 직원들이 보유하고 있는 기존 스킬의 수명이 단축되고 있다”며 미래에 대한 우려스러운 견해를 나타냈다.

그렇다면, 미래에도 충분히 활용될 수 있는 스킬은 무엇일까? 우리는 14명의 데브옵스 실무자와 분석가, 그리고 깃랩 경영진들의 의견을 들어보았다.


유연한 스킬의 필요성

깃랩의 2020년 글로벌 데브섹옵스 설문조사에 참여한 개발자와 보안 전문가, 운영 팀원 및 테스트 담당자들 모두 미래의 가장 중요한 스킬로 의사소통과 협업을 만장일치로 선택했다. 그다지 놀라운 일은 아니다. 데브옵스 팀원들은 회사의 다른 분야나 새로운 영역과 보다 더 긴밀하게, 그리고 보다 더 자주 긴밀한 협력이 필요하게 되었다. 이러한 경우 의사소통과 협업이 성공과 실패를 가름하게 된다.

현태호 깃랩 코리아 지사장은 훗날 SW 개발에 AI의 결합은 불가피하지만 미리 데브옵스(DevOps) 문화를 기반으로 구축해 놓으면 상생하기 유리하다고 덧붙였다. 현 지사장은 “미래는 AI가 주도하게 된다. 그러나 자율주행처럼 자율 코드작성 또한 완전한 수준에 이르기까지 약 10년 이상이 예상된다”면서, “한국은 세계적인 IT 인프라를 갖췄다. 특정 엔드 유저와 클라이언트를 위해 애플리케이션을 섬세하게 설계하는 것은 여전히 개발자 고유의 영역이다. ‘협업’을 통해 지속적으로 애플리케이션을 실시간 통합 및 배포하는 것이 AI 시대를 대비하기 위한 좋은 밑거름이 될 것이다”라고 설명했다.

깃랩 미국의 수석 솔루션 설계자인 다윈 사노이(Darwin Sanoy)는 “모든 것을 알고 있는 단 하나의 브레인은 있을 수 없다. 공동 작업을 위해서는 의사소통과 협업이 필요하다”라고 설명했다.

비터지아(Bitergia)의 CEO이자 깃랩 히어로(GitLab Hero)인 호세 만리케 드 라 푸엔테(Jose Manrique Lopez de la Fuente)는 개발자가 협업 스킬을 세부적으로 조정할 수 있는 한 가지 방법은 ‘내부 소싱’ 실행방식으로 알려진 오픈소스 스킬을 기업 내에서 사용하는 것이라고 지적했다. 만리케는 “오픈소스는 혼자만 사용하는 것이 아니다. 전 세계적으로 수많은 개발자들이 이를 사용하고 있다. 따라서 우리 팀과 관련 없는 다른 개발자들과 투명성을 유지하고, 함께 일하면서 스킬을 습득할 수 있으며, 이를 통해 회사에서 진행되는 일에 더 많이 참여할 수 있게 될 것이다”라고 설명했다. 그는 더 많은 개발자들이 이러한 스킬을 실행할수록 더욱 용이해질 것이라고 예측했다.


기술에 국한되는 것이 아니다

의아하게 들릴 수도 있지만, 미래를 보장하는 경력을 위해 반드시 새로운 기술을 습득해야 하는 것은 아니다. 깃랩 설문조사에서 개발자의 28%는 AI가 미래를 위해 알아야 할 중요한 기술이라고 응답했지만(틀린 것은 아니다), 대부분의 전문가는 하나의 전문 분야에만 모든 에너지를 쏟는 것은 현명하지 않다고 조언한다.

다윈은 “흐름에 따라 전문분야에서 전문분야로 경력을 전환하는 것이 가장 좋다”며, “모멘텀은 증가하고 있지만, 아직 최고점에 다다르지 않은 것이 무엇인지 살펴보아야 한다”고 제안했다. 또한 깃랩의 CI/CD 제품관리 디렉터인 제이슨 야보르스카(Jason Yavorska)는 먼저 기본적인 사항들을 정리해야 한다며, “여러분이 문제해결 능력이나 최신 스택 및 다양한 기본 지식 등과 같은 견고한 기술 스킬을 원할 수도 있고, 또는 한 분야의 전문가가 되기 보다는 좀 더 포괄적인 지식을 갖추기를 원할 수도 있을 것이다”라고 피력했다.

레드햇(Red Hat) 데브옵스 사업부의 글로벌 파트너 솔루션 수석 설계자인 필립 램(Philip Lamb)은 지금은 한 발 뒤로 물러나 더 큰 그림을 볼 때라고 지적했다. 그는 일반화의 힘을 지지한다. 필립은 “특정 도구나 SW에 집중하는 대신 프로세스에 주력하면서 데브옵스가 가져올 변화의 파급 효과를 정확히 이해하는 것이 중요하다”라고 언급했다. 그리고 데브옵스는 기업마다 다른 모습으로 전개될 것이라는 점도 주의해야 한다고 덧붙였다.


현명한 선택

제이슨은 무엇보다 명심해야 할 한 가지는 “AI에게 유리한 분야는 피해야 한다”고 언급했다. 포레스터 리서치(이외에도 여러 업체들)는 AI가 10년 이내에 코드를 생성할 수 있을 것으로 판단하고 있다. 제이슨은 “AI와 머신러닝은 여러분의 경력에 가장 혼란스러운 요소가 될 것이다. 기본적인 사항만으로 직업을 고려한다면, 이러한 기능들과 경력이 중복될 수 있다. 인간으로서 가장 잘할 수 있는 일에 집중해야 한다”라고 언급했다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지