2017.03.02

칼럼 | SW 개발자의 구름 속 미래...

정철환 | CIO KR
“프로그래머란 카페인을 코드로 바꾸는 기계”라는 농담이 있다. 커피를 마셔가며 잠을 몰아내고 야근을 하며 프로그래밍을 해야 하는 환경을 비유해서 한 말이다. 최근 어느 게임업체의 근무 형태가 “일주일에 2번만 출근하는 회사”라는 비유로 화제가 되기도 하였다. 그런데 2번만 출근하는 것이 장점이 아니란다. 출근 후 퇴근이 없기 때문이라는 뜻이란다. SW 개발자의 열악한 근무환경은 이미 잘 알려져 있다.

다른 한쪽에선 4차 산업혁명 이야기가 한창이다. 얼마 후 다가올 대선에 나가고자 하는 유력 후보들도 이에 대해 언급하지 않는 이가 거의 없는 상황이다. 4차 산업혁명의 핵심에는 인공지능이 있고 로봇이 있다. 많이 이들이 제조업에서의 단순일자리는 이제 인공지능과 로봇이 대체할 것이라고 예상한다. 한 걸음 더 나아가 회계, 법률 심지어 의학분야에까지 인공지능이 기존 전문가를 대체할 수 있다고 예상한다. IBM에서 개발한 인공지능인 ‘왓슨’이 국내 병원에 도입되어 화제가 되고 있기도 하다.

SW 개발자는 무리한 중노동에 시달리고 있고, SW를 이용한 인공지능과 로봇은 수많은 일자리를 대체할 수 있을 정도로 강력해지고 있다는 이 두가지 사실이 뭔가 이상하지 않은가? 그렇다. 바로 SW 개발분야에도 인공지능이 도입될 것이라는 추측을 어렵지 않게 할 수 있다. 그렇다면 정말로 SW 개발에 인공지능이 도입될 경우 프로그래머의 미래는 어떻게 될 것인가?

작년에 많은 이들의 관심을 모았던 구글의 알파고는 이제 더 이상 사람이 적수가 될 수 없는 경지에 이르렀다. 고작 1년도 안 되는 짧은 시간 동안 급격히 실력이 향상된 것이다. 이를 보고 많은 사람들이 조만간 영화 속의 인공지능이 등장하는 것 아닌가 염려하기도 한다. 하지만 실제로 AGI(artificial general intelligence)라고 불리는 영역을 초월한 인공지능은 아직 현실적으로 갈 길이 멀다. 바둑과 같은 게임이나 자동차 운전과 같은 특정한 목적을 위한 인공지능과는 달리 많은 어려움이 있기 때문이다. 그렇다면 SW 개발 영역에서 인공지능의 활용은 가능한가?

최근 소프트웨어 개발의 추세 중 하나가 클라우드 기반 통합개발환경(IDE)에서 개발하는 것이다. IDE는 오래전부터 프로그래머를 다양한 측면에서 지원해 온 환경이다. 단순한 에디터에서 문법 체크, 컴파일 환경 관리, 버전 관리, 테스트 등 많은 부분을 지원하고 있다. 아마 IDE 없이 SW를 개발한다면 많은 어려움이 있을 것이다. 이런 IDE가 웹 기반 환경의 장점과 결합하고 뒷단에 클라우드 서버가 연동되면서 이전의 독립적인 환경에서는 불가능했던 많은 개발 지원과 협업이 가능해졌다. 애자일 방법론 중 유명한 XP 방법론에 ‘짝(pair) 프로그래밍’ 이라는 기법이 있는데 클라우드 환경에서는 손쉽게 개발자가 다른 개발자와 유기적인 협력을 할 수 있다. 유명한 클라우드 IDE 개발 업체로 코딩, 클라우드9 등이 있으며 구름이라는 국내 업체도 있다.


그런데 이런 클라우드 IDE에 인공지능이 연동되면 어떻게 될까? 인공지능의 분석 능력으로 전세계 수많은 개발자들이 클라우드에 접속해 작성하는 막대한 양의 코드를 분석한다면 아마도 알파고처럼 짧은 시간에 급격한 코딩 능력을 보유하게 될 수도 있다. 그렇게 되면 각 개발자는 막강한 고수 프로그래머를 짝으로 두고 프로그래밍을 하는 것과 같은 상황을 만들 수 있다.

창의적인 알고리즘 개발이나 사용자 요구에 따른 새로운 기능 구상은 당분간 사람의 능력이 필요할 것이다. 그러나 일정한 형태로 알고리즘이 다듬어지고 나면 이를 특정 프로그래밍 환경에서 최적으로 개발하는 방법에 대해서는 인공지능이 여러 가지로 도움을 줄 수 있을 것이다.

예를 들면 클라우드 기반 IDE에서 인공지능이 개발자와 실시간으로 협업을 하며 “이봐, 지금 작성하고 있는 코드는 뭔가 좀 이상한데? 여기를 고쳐야 할 거 같아”라던가 “오, 지금 작성하고 있는 것과 비슷한 코드가 어제 누군가가 이미 작성했는데 한번 볼래?”, 또는 “이 부분은 이렇게 바꾸는 것이 좋겠어”라는 조언과 함께 해당 코드를 제시하거나 자동으로 수정하는 것도 가능할 수 있다. 아마도 개발자에게 요구하는 역량이 많이 달라질 것이다. 그리고 이런 상황이 지속되면서 인공지능이 더 발전하게 된다면 궁극적으로 대부분의 SW 프로그래머가 할 수 있는 일을 인공지능이 대신하는 날이 오게 될지도 모른다.

연일 밤샘을 하며 프로그래밍을 해야 하는 개발자에 이런 미래가 희소식인가? 혹은 일자리를 빼앗기는 나쁜 미래인가? 선진국의 제조업이 중국이나 베트남 등 개발도상국에 지었던 공장을 다시 본국으로 이전하는 움직임이 있다. 그러나 공장이 이전되어도 대부분 로봇을 이용한 자동화 공정을 도입하여 일자리가 복귀되는 것은 아니라고 한다.

인도를 중심으로 소프트웨어 개발도 개발도상국에 많이 의존하고 있는 상황에서 본 글에서 언급한 미래가 현실화된다면 비슷한 상황이 벌어질지도 모른다. 더구나 SW 개발은 공장을 옮길 필요도 없다. ‘변화하는 미래에 적응하지 못하면 살아남기 어렵다’고 하지만 그런 변화를 주도하고 있는 SW 분야도 그 영향에서 벗어나기 어렵기는 마찬가지다.

인공지능에게 물어보고 싶다. “헤이, SW 개발자의 미래는 어떻게 될 거 같아?”

*정철환 팀장은 삼성SDS, 한양대학교 겸임교수를 거쳐 현재 동부제철 IT기획팀장이다. 저서로는 ‘SI 프로젝트 전문가로 가는 길’이 있으며 삼성SDS 사보에 1년 동안 원고를 쓴 경력이 있다. 한국IDG가 주관하는 CIO 어워드 2012에서 올해의 CIO로 선정됐다. ciokr@idg.co.kr
 
2017.03.02

칼럼 | SW 개발자의 구름 속 미래...

정철환 | CIO KR
“프로그래머란 카페인을 코드로 바꾸는 기계”라는 농담이 있다. 커피를 마셔가며 잠을 몰아내고 야근을 하며 프로그래밍을 해야 하는 환경을 비유해서 한 말이다. 최근 어느 게임업체의 근무 형태가 “일주일에 2번만 출근하는 회사”라는 비유로 화제가 되기도 하였다. 그런데 2번만 출근하는 것이 장점이 아니란다. 출근 후 퇴근이 없기 때문이라는 뜻이란다. SW 개발자의 열악한 근무환경은 이미 잘 알려져 있다.

다른 한쪽에선 4차 산업혁명 이야기가 한창이다. 얼마 후 다가올 대선에 나가고자 하는 유력 후보들도 이에 대해 언급하지 않는 이가 거의 없는 상황이다. 4차 산업혁명의 핵심에는 인공지능이 있고 로봇이 있다. 많이 이들이 제조업에서의 단순일자리는 이제 인공지능과 로봇이 대체할 것이라고 예상한다. 한 걸음 더 나아가 회계, 법률 심지어 의학분야에까지 인공지능이 기존 전문가를 대체할 수 있다고 예상한다. IBM에서 개발한 인공지능인 ‘왓슨’이 국내 병원에 도입되어 화제가 되고 있기도 하다.

SW 개발자는 무리한 중노동에 시달리고 있고, SW를 이용한 인공지능과 로봇은 수많은 일자리를 대체할 수 있을 정도로 강력해지고 있다는 이 두가지 사실이 뭔가 이상하지 않은가? 그렇다. 바로 SW 개발분야에도 인공지능이 도입될 것이라는 추측을 어렵지 않게 할 수 있다. 그렇다면 정말로 SW 개발에 인공지능이 도입될 경우 프로그래머의 미래는 어떻게 될 것인가?

작년에 많은 이들의 관심을 모았던 구글의 알파고는 이제 더 이상 사람이 적수가 될 수 없는 경지에 이르렀다. 고작 1년도 안 되는 짧은 시간 동안 급격히 실력이 향상된 것이다. 이를 보고 많은 사람들이 조만간 영화 속의 인공지능이 등장하는 것 아닌가 염려하기도 한다. 하지만 실제로 AGI(artificial general intelligence)라고 불리는 영역을 초월한 인공지능은 아직 현실적으로 갈 길이 멀다. 바둑과 같은 게임이나 자동차 운전과 같은 특정한 목적을 위한 인공지능과는 달리 많은 어려움이 있기 때문이다. 그렇다면 SW 개발 영역에서 인공지능의 활용은 가능한가?

최근 소프트웨어 개발의 추세 중 하나가 클라우드 기반 통합개발환경(IDE)에서 개발하는 것이다. IDE는 오래전부터 프로그래머를 다양한 측면에서 지원해 온 환경이다. 단순한 에디터에서 문법 체크, 컴파일 환경 관리, 버전 관리, 테스트 등 많은 부분을 지원하고 있다. 아마 IDE 없이 SW를 개발한다면 많은 어려움이 있을 것이다. 이런 IDE가 웹 기반 환경의 장점과 결합하고 뒷단에 클라우드 서버가 연동되면서 이전의 독립적인 환경에서는 불가능했던 많은 개발 지원과 협업이 가능해졌다. 애자일 방법론 중 유명한 XP 방법론에 ‘짝(pair) 프로그래밍’ 이라는 기법이 있는데 클라우드 환경에서는 손쉽게 개발자가 다른 개발자와 유기적인 협력을 할 수 있다. 유명한 클라우드 IDE 개발 업체로 코딩, 클라우드9 등이 있으며 구름이라는 국내 업체도 있다.


그런데 이런 클라우드 IDE에 인공지능이 연동되면 어떻게 될까? 인공지능의 분석 능력으로 전세계 수많은 개발자들이 클라우드에 접속해 작성하는 막대한 양의 코드를 분석한다면 아마도 알파고처럼 짧은 시간에 급격한 코딩 능력을 보유하게 될 수도 있다. 그렇게 되면 각 개발자는 막강한 고수 프로그래머를 짝으로 두고 프로그래밍을 하는 것과 같은 상황을 만들 수 있다.

창의적인 알고리즘 개발이나 사용자 요구에 따른 새로운 기능 구상은 당분간 사람의 능력이 필요할 것이다. 그러나 일정한 형태로 알고리즘이 다듬어지고 나면 이를 특정 프로그래밍 환경에서 최적으로 개발하는 방법에 대해서는 인공지능이 여러 가지로 도움을 줄 수 있을 것이다.

예를 들면 클라우드 기반 IDE에서 인공지능이 개발자와 실시간으로 협업을 하며 “이봐, 지금 작성하고 있는 코드는 뭔가 좀 이상한데? 여기를 고쳐야 할 거 같아”라던가 “오, 지금 작성하고 있는 것과 비슷한 코드가 어제 누군가가 이미 작성했는데 한번 볼래?”, 또는 “이 부분은 이렇게 바꾸는 것이 좋겠어”라는 조언과 함께 해당 코드를 제시하거나 자동으로 수정하는 것도 가능할 수 있다. 아마도 개발자에게 요구하는 역량이 많이 달라질 것이다. 그리고 이런 상황이 지속되면서 인공지능이 더 발전하게 된다면 궁극적으로 대부분의 SW 프로그래머가 할 수 있는 일을 인공지능이 대신하는 날이 오게 될지도 모른다.

연일 밤샘을 하며 프로그래밍을 해야 하는 개발자에 이런 미래가 희소식인가? 혹은 일자리를 빼앗기는 나쁜 미래인가? 선진국의 제조업이 중국이나 베트남 등 개발도상국에 지었던 공장을 다시 본국으로 이전하는 움직임이 있다. 그러나 공장이 이전되어도 대부분 로봇을 이용한 자동화 공정을 도입하여 일자리가 복귀되는 것은 아니라고 한다.

인도를 중심으로 소프트웨어 개발도 개발도상국에 많이 의존하고 있는 상황에서 본 글에서 언급한 미래가 현실화된다면 비슷한 상황이 벌어질지도 모른다. 더구나 SW 개발은 공장을 옮길 필요도 없다. ‘변화하는 미래에 적응하지 못하면 살아남기 어렵다’고 하지만 그런 변화를 주도하고 있는 SW 분야도 그 영향에서 벗어나기 어렵기는 마찬가지다.

인공지능에게 물어보고 싶다. “헤이, SW 개발자의 미래는 어떻게 될 거 같아?”

*정철환 팀장은 삼성SDS, 한양대학교 겸임교수를 거쳐 현재 동부제철 IT기획팀장이다. 저서로는 ‘SI 프로젝트 전문가로 가는 길’이 있으며 삼성SDS 사보에 1년 동안 원고를 쓴 경력이 있다. 한국IDG가 주관하는 CIO 어워드 2012에서 올해의 CIO로 선정됐다. ciokr@idg.co.kr
 
X