실리콘밸리에 있는 엔비디아는 AI 시대에 급속도로 성장해 뉴욕증시 시총 3위이며, 직원의 반이 연봉 3억이고, 가장 취직하기 원하는 회사이고 젠슨황은 가장 존경받는 CEO이다. 젠슨황이 Word Government Summit에서 세계의 영향력있는 사람들 앞에서 "코딩은 죽었다, 아이들은 코딩을 배울 필요가 없다" 라고 충격적인 말을 했다. 젠슨황의 말은 앞으로 코딩을 하는 프로그래머의 직업이 없어진다는 것을 의미한다. 10년 전의 옥스포드 대학의 연구결과에서도 그랬고 많은 사람들이 코딩의 종말을 예측했지만 이번의 젠슨황처럼 공개적으고 전세계가 주목하는 공식석상에서 선언한 것은 처음이다.
필자도 100% 동의 한다. AI가 코딩을 대신 할 것이라는 얘기인데 이 말 자체를 잘 이해하기가 쉽지 않다. 개발과 코딩의 차이를 먼저 정확히 이해해야 한다. 코딩, 즉 프로그래밍은 개발의 일부분일 뿐이다. 건설과 비교하면 인부의 역할이다. 개발은 분석, 설계, 코딩의 3 단계로 나누어 진다.
필자도 요새 앱을 개발할 때 코딩 부분의 90% 정도는 생성형 AI(Generative AI, GenAI)를 이용한다.
구글의 Gemini와 마이크로소프트의 Co-Pilot을 같이 사용하면서 비교도 하고 더 좋은 코드를 시용한다. 내가 아는 지식외에도 다양한 코딩 방법을 보여주니 배우는 것도 많다. 덕분에 이전에 비해 코딩 속도가 10배 정도는 빨라졌다. 그렇다고 개발이 10배 빨라진 것은 아니다. 앞 단의 분석 작업은 AI가 할 수 없는 작업이고 설계도 AI가 큰 도움이 되지 못한다. 하지만 가장 귀찮고 지루한 작업인 코딩을 하기 위해 프로그래머를 고용할 필요는 거의 없어졌다.
소프트웨어를 개발하는 인력에는 분석가(Anaylist), 설계가(Designer), 프로그래머가 있다. 옥스포드 대학의 연구에서도 프로그래머는 AI에 의해서 90% 이상 대체 되지만 대체가 불가능한 것이 분석가라고 했다. 그 중간이 설계가이다. 개인 회사처럼 한 사람의 개발자가 모든 것을 다 한다면 이 3가지의 다른 역할을 하고 있는 것이다.
가장 난이도가 높은 것이 분석가이다. 보수도 가장 많이 받는다. 건설과 비교하면 빌딩 건축가와 벽돌공의 차이라고 보면 된다. 필자가 국내에서 20년 이상 대기업, 중소기업, 벤처기업을 컨설팅을 하면서 진정한 분석가라고 할 수 있는 사람은 몇 명 보지 못했다. 국내에서는 통찰력과 경험이 필요한 분석 작업를 마치 템플릿이나 방법론으로 해결하려는 잘못된 경향이 있다. 그래서 방법론과 같은 형식에 쓸모없는 투자를 한다. 학계도 그렇게, 대기업도 그렇고, 정부의 정책도 꾸준하게 그런 잘못된 방향을 추구해 왔다. 언제나 정신이 들지 모르겠는데 지금까지는 그래 왔다. 요리사를 키우려는데 요리책만 전국에 뿌리는 상황이다. 만약에 템플렛이나 방법론과 같은 형식이나 도구로서 해결할 수 있다면 AI가 가장 잘 할 수 있는 분야이고 금방 없어질 직업이다. 마치 요리책만 있으면 일류 요리사가 될 수 있다고 착각하는 것과 같다. 그런 문화가 결국 국내 소프트웨어의 역량을 결정한다.
국내의 소프트웨어가 글로벌 소프트웨어를 만들수 없는 이유는 여러가지가 있으나 그 중 가장 핵심적인 이유가 분석가의 부족이다. 충분한 분석이 없이 개발하는 소프트웨어는 결함이 많고 확장성도 없고 스파게티 코드가 되는 것이 필연이다. 그런 상태에서 프로그래머의 정신 상태로 글로벌 소프트웨어를 만든다는 것은 하늘의 별따기이다. 결국 국내의 소프트웨어 업계는 정부의 보호아래 내수용기업으로 생존할 수 밖에 없다. 많은 기업들이 글로벌에는 명함도 못 내밀면서 갈라파고스의 혜택으로 생존해 왔다. 수 많은 정부의 정책으로 글로벌 소프트웨어를 육성하겠다고 지원했으나 성공한 적은 본 적이 없다. 국민의 세금만 축내는 상황이다. 동키호테와 같이 악의는 없지만 희망적인 무지가 선동하고 초래한 상황이다. 지금 이 순간에도 세계 AI 산업의 유행에 편승해 글로벌에 진출할 것 처럼 선전하는 기업들이 있으니 주식 투자를 한다면 무척 조심해야 할 상황이다.
분석가가 하는 행위는 분석이고 그 결과물은 Software Requirement Specification(SRS)이다. 하드웨어와 같이 있는 혼합된 경우는 System Requirement Specification라고 한다. 템플릿은 IEEE 사이트를 비롯해서 인터넷에서 찾아보면 많이 있다. 대충 30여 페이지 정도 된다. 템플릿은 그렇지만 실제 작성하면 수천, 수만, 수백만 페이지가 될 수도 있다. 그런 작업을 AI가 인간의 마음을 읽어서 할 수는 없다. AI는 논리적인 것은 잘 할 수 있지만 인간의 의지를 추측할 수는 없다. 분석작업은 필자가 책을 여러 권 출판하고 블로그에서도 시리즈로 연재할 정도로 어려운 작업이니 쉽게 역량이 늘 수는 없다.
국내 대부분의 개발자들 처럼 프로그래밍을 위주로 개발을 하는 개발자는 앞으로 점점 가치가 적어질 것이다. 먼저 분석이나 설계와 같은 고급 기술의 차이를 이해하고 그 방향을 추구하는 것이 미래에 개발자로서 생존할 수 있는 유일한 방법이다.