소프트웨어 ‘고급인력 ’문제
고건 이화여자대학교 석좌교수/ (겸)오픈소스소프트웨어재단 이사장
정보과학회가 국내외 학자들을 모시고 2007년 6월 26일 “컴퓨터공학의 위기 극복방안”이라는 주제로 워크숍을 개최했는데 그때 “미국 최우수 대학들은 실습을 매우 중요하게 여기며 시스템소프트웨어 과목들이 어려운 실습을 많이 요구해 실습 부담 때문에 컴퓨터학과를 기피하는 학생이 많이 나올 정도였다”고 미시간대학 신강근 교수는 밝혔다. 필자는 30년간 서울대에서 운영체제를 가르쳤는데 실습교육을 시키는 게 가장 어려웠다. 대학에서는 UNIX가 중요했는데 UNIX가 돌아가는 하드웨어 (미니컴퓨터나 엔지니어링 워크스테이션) 가격은 천문학적이었다. UNIX 소스코드까지 확보하려면 300만 달러가 더 필요했는데 그 당시 정부는 난색을 표했다. 무엇보다 “우리는 SI만 하면 되지 운영체제는 우리나라가 육성할 분야가 아니다”라는 것이 국내 의견이었다. 그래서 학생들에게는 운영체제를 이론만 가르쳤다. 국내 기업에도 호소해 보았다. 2000년대 초 김형주 학부장의 요청으로 모 대기업을 함께 방문해 소프트웨어 시험실습 환경 지원을 요청하였다. 그러나 반응은 싸늘하였다. “우리 회사는 소프트웨어 학과에 투자하지 않습니다” 였다. 그때의 절망적인 기억을 아직도 지울 수 없다.
그렇게 암울한 시간을 보내다가 2004년부터 좋은 소식이 들려왔다. 공개소프트웨어 바람이 전 세계적으로 불기 시작한 것이었다. 공개소프트웨어는 시스템소프트웨어 실습교육에 이상적이다. 왜냐하면 학생들이 자유로이 그 내부를 들여다볼 수 있고, 연구실 컴퓨터로도, 집 컴퓨터로도 얼마든지 가져갈 수 있기 때문이다. 대부분 상용 소프트웨어는 소스코드가 비밀일 뿐만 아니라 그에 대한 역공학 자체가 법으로 금지되어 있다. 리눅스는 무료였고 인텔 486과 같은 저렴한 하드웨어에도 올라가기 시작하였으므로 대학도 얼마든지 갖출 수 있게 되었다. 그리고 공개소프트웨어에 관하여는 수많은 좋은 책과, 논문들이 존재했다. (상용 소프트웨어는 내부가 비밀이므로 사용법 자료만 있을뿐 이었다.) 이런 이유들 때문에 공개소프트웨어는 시스템소프트웨어 실습교육을 시킬 수 있는 최상의 기회였다. 시스템 소프트웨어는 어느 나라나 엄격한 비밀로 유지했었다. 자국 대학에만 소스코드를 제공하고 외국 대학에는 높은 장벽을 쌓았다. 그래서 컴퓨터를 생산하던 미국이나 일본만 대학에서 시스템소프트웨어를 제대로 가르칠 수 있었다. 그러다가 드디어 한국에서도 시스템소프트웨어를 제대로 가르칠 수 있는 시대가 도래한 것이다! 필자는 외국에서 제공하는 Tutorial에 부지런히 등록해 몇 차례 강의를 듣고 와서 서울대학교에서 리눅스 커널 강의를 개설하였다.
그러나 리눅스 강의 성과는 매우 적었다. 원인은 세가지로 요약할 수 있다. 첫째 공부가 어려웠고 둘째 학위취득에서 불리했으며, 셋째 사회에서의 보상이 Zero에 가까웠다. 첫째 리눅스 커널은 공부가 매우 어려웠다. 리눅스 커널은 수천명의 개발자들이 30년 가까이 개발한 코드이므로 크기가 방대했다. 그리고 운영체제는 일반 소프트웨어보다 훨씬 이해하는게 어려웠다. 한학기로도 부족해서 두학기에 걸쳐 가르쳤는데 학생들도 엄청나게 많은 시간을 별도로 투입하지 않으면 도저히 따라올 수 없는 과목이었다.
둘째 그런데도 리눅스 커널로는 논문 쓰는게 너무 어려웠고 졸업도 오래 걸렸다. 당시 정부는 모든 연구를 SCI 논문 수로 평가했는데 이론 논문보다 실험을 통해 검증까지 하는 논문을 쓰려면 5년 이상 리눅스와 더 씨름하지 않으면 안되었다. 그리고 “논문수가 남들보다 훨씬 적으니 Experimentalist는 2nd class citizen”이라는 누명까지 뒤집어 써야 했다. (필자가 1988년 MACH 스케줄링을 개발하던 Bob Fitzgerald에게 물어보니 그가 MACH 스케줄링 코드를 개발하는데는 7년이 걸렸는데 스케줄링 이론은 단 수주만에 고안한 것이었다고 한다.) 실험 분야는 엄청난 투자에 비해 논문이 적으니 당연히 학생들이 적었다.
세 번째 원인은 사회가 이들에게 보상을 제대로 해주지 않기 때문이다. 예를들어 리눅스에서 어느 정도 실력을 갖추려면 10년 가까이 한 우물만 깊이 파야 하는데 우리나라에서는 리눅스는 기업도 정부도 아무도 거들떠보지 않았었다. 그러다가 최근 4차 산업혁명이 대두되면서 리눅스 고급인력이 많이 필요해지고 있다. 그러면서 이제는 대학이 제대로 된 인력을 배출하지 않는다고 눈총을 주고 있다. 그러나 대학에서 아무리 좋은 강의를 개설해도 보상이 미미하면 학생들은 그 과목을 택하지 않는다. 4차 산업혁명은 경제개발계획이나 자본이나 설비나 원료로 이뤄지는 것이 아니다. 오직 고급인력이 필요할 뿐이고 특히 시스템소프트웨어 인력 확보가 향후 이 나라 자동차, 가전, 조선, 유통 등 산업분야의 국제경쟁력을 결정짓게 될 것이다.
결론으로 우리사회는 시스템소프트웨어에서 탁월한 능력을 갖춘 인력들에게 글로벌 수준의 보상을 해주어야 한다. 그러지 않고서는 좋은 인재들이 공급되지 않을 것이다. 설사 좋은 인재들이 배출되도 다 구글 등 외국 기업에 빼앗길 것이다. 우수한 공개소프트웨어 인력이 많이 필요하다면 연봉을 높여 주면 된다. 그러면 우수한 학생들이 많이 수강할 것이고, 10년 후 훈련받은 학생들이 사회에 많이 진출하게 될 것이다.(고급인력은 하루 아침에 키워지는 것이 아니다!)