인공지능(AI)이 무서운 속도로 발전하고 있다. 불과 4년 전에 바둑에서 구글의 알파고가 인간의 자존심을 깨트렸는데 지금은 점점 더 차이가 벌어져 AI가 인간의 대국을 평가하는 상황이 되었다. 자동차의 자율 주행도 완전 자동화 단계인 무인자동차가 시험주행 중이다. 테슬라는 올해 안에 무인자동차를 완성시키겠다고 한다. 머지 않아 운전면허증이 필요 없는 세상이 오고 미국에서만 500만 명이 실직될 것이라고 예측한다.
홍콩의 핸슨 로보틱스라는 회사가 인간 신경계 모델을 기반으로 해서 만든 인간형 로봇 “소피아”는 사우디아라비아에서 시민권까지 부여 받았다. 인터뷰 동영상을 보면 자아, 삶, 신, 사랑 등 다양한 주제에 대해 보통 인간보다 더 성숙한 대화를 한다. 노래도 하고 농담도 한다.
그런 AI가 소프트웨어 산업에 속한 직업을 얼마나 대체할 수 있을까?
AI가 직업에 끼치는 영향에 관한 옥스퍼드 대학의 연구 “미래의 직업(The future of Employment)” 보고서에 의하면 미국의 대표적인 702개 직종 중 47%가 일이십년 내에 자동화되어 인간을 대체할 수 있다고 한다. 그 중에 가장 위험성이 큰 직업이 98%의 대체율인 운전사이다. 반대로 가장 대체가 어려운 직종 중의 하나가 1.5%의 대체율인 CEO이다. 다른 대체율을 보면 내과의사는 0.4%, 학교선생은 1%, 변호사는 3.5%, 회계사는 94%, 건설노동자는 88%이다.
그럼 702개 직종 중 소프트웨어에 관한 직업만 추려서 보자.
대체율(%) |
직종 |
0.65 |
시스템분석가 |
1.5 |
컴퓨터과학자 |
3 |
네트워크/시스템 관리자 |
3.5 |
정보 시스템 관리자 |
4.2 |
응용프로그램 개발자 |
13 |
시스템 소프트웨어 개발자 |
21 |
정보보안 분석가 |
21 |
웹 개발자 |
21 |
네트워크 아키텍트 |
48 |
프로그래머 |
그럼 "시스템분석가", "개발자"와 "프로그래머"의 차이는 무엇일까? 사실 국내에서는 이 차이를 정확하게 구별하고 채용하는 회사도 없거니와
실제 회사 안에서도 이렇게 나누어져 있지도 않다. 국내 소프트웨어 산업자체가 이런 구분을 정확하게 하고 있지도
않다. 경력기간으로 분류하는 것은 잘못이다. 사병은 평생가도 장교가
되지 못한다. 하는 업무가 다르기 때문이다.
여기서 가장 어려운 것은 분석가, 개발자, 프로그래머의 역량을 구별하는 것이다. 물론 한 사람이 여러 역할을 하느냐 아니냐는 회사 규모와 처한 환경에 따라 다르지만 역량은 분명히 다르다. 요새 나온 신문기사 중에 대규모 외주 개발을 분할발주를 하는데 1단계 분석과 설계, 2단계 구현으로 나누어서 발주를 하겠다는 말이 있는데 이는 아직 분석, 설계, 구현을 전혀 이해하지 못해서 벌어지는 국내의 기이한 현상이다. 이런 식의 분할 발주는 국내를 제외하고는 전세계에 존재하지 않는다. 논리적으로도 존재할 수가 없다. 분할발주는 1단계 분석단계와 2단계 설계/구현 단계로 하는 것이 옳다. 분할발주에 대해서는 이전 기사들에서 누누이 설명했기 때문에 여기에서 또 설명하지는 않는다. 1단계 분석단계가 바로 분석가가 수행하는 작업이다. 2단계에는 개발자와 프로그래머가 섞여 있다. 분석가는 당연히 같은 경력기간의 프로그래머보다 연봉이 10배 정도 높을 수도 있다.
하여튼 국내 소프트웨어의 잘못된 관행이 빨리 없어지기 위해서는 먼저 본질에 대한 정확한 이해가 필요하다. 본질에 대한 정확한 이해 없이 표면적인 증상처방의 단세포적인 법규로 대응해야 과거 20년 이상 그랬듯이 점점 더 깊은 웅덩이로 빠질 뿐이다.
옥스포드의 결과에서 왜 AI가 프로그래머의 반을 대체하지만 분석가는 거의 없어지지 않는지의 이유를 심각하게 생각할 필요가 있다. 자신이 프로그래머라는 사실 자체도 인지하지 못하고 있을 수도 있다. 회사에 자기가 없으면 안된다는 생각도 대부분은 매우 위험한 착각이다. 하여튼 장기적으로 소프트웨어 관련 산업에 종사할 개인들로서는 자신의 직업의 본질과 그 위험성을 알고 현명하게 대처하는 것이 중요하다.
댓글 없음:
댓글 쓰기