우리나라의 많은 소프트웨어 기업에서는 대학 졸업자를 바로 쓰지 못한다는 불평을 한다. 대학의 소프트웨어 교육이 잘못되었다는 불평이다.
예를 들어 현장에서는 ‘파이썬’을 쓰는데 대학에서는 여전히 ‘C언어', ‘자바’를 교육하고 있어서 대학 졸업생이 입사해도 재교육을 시키기 위해서 많은 시간과 비용을 지불해야 한다고 불평을 한다. 심지어는 입사후 ‘파이썬'을 가르치기 위해서 6개월나 소요된다고 한다.
우리나라 소프트웨어 기업에 대학 졸업자가 입사후 바로 실무에 투입되지 못하는 현상이 대학의 잘못이라고 주장하는 것이다.
하지만 나는 기업의 문제가 더 크다고 생각한다.
그 반증이 있다. 우리나라 대학 소프트웨어 관련 학과 졸업생이 미국의 소프트웨어 회사에 입사하는 경우 이런 불평이 없다. 입사 후 첫날부터 무리없이 실무에 투입된다.
그럼 우리나라 소프트웨어 회사에는 어떠한 문제가 있을까?
■ 신입 개발자 교육 위한 문서·시스템 있는 곳 드물어
신입 사원이 입사 한 후에 정상적으로 업무에 투입되기 위해서는 많은 교육을 실시해야 하는 기업이 많다. 집체 교육을 하기도 하고 사수를 지정해 주고 오랜 기간동안 실무 교육을 시켜야 한다. 회사에 따라 다르지만 수주에서 수개월이 지나서야 간신히 실제 업무를 수행할 수 있다.
경력직 개발자를 채용할 때는 같은 분야 경력자를 훨씬 선호한다. 개발자의 근본적인 소프트웨어 개발역량보다는 동일 분야 경력자를 찾는다. 의료, 보안, 금융 등 같은 분야의 경력자를 채용하면 신입보다는 적은 교육으로 실무 투입이 가능하다. 그래서 동일 경력 개발자를 찾는다.
회사의 지식 자산이 대부분 개발자들의 머리 속에 있어서 신입개발자가 입사를 해도 문서나 시스템을 통해 배울 수가 없고 대부분 사수와 같이 일하면서 사수를 통해 경험적으로 배워야 한다. 이런 방법은 선배들의 시간도 많이 소비하고 입사자가 생길 때마다 반복되며 이들이 선배가 되면 또 똑같은 일이 또 반복된다. 악순환이 반복되는 것이다.
우리나라 소프트웨어 회사들의 환경에서는 단기적으로는 동일 분야 경력자 채용이 효율적이만, 장기적으로는 개발 분야와 상관없이 근본적인 소프트웨어 역량이 뛰어난 개발자를 채용하는 것이 회사에 더 도움이 된다.
그럼 글로벌 소프트웨어 회사는 어떨까?
글로벌 소프트웨어 회사는 대졸 신입이라도 어떻게 입사 첫날부터 실무에 투입될 수 있을까?
글로벌 소프트웨어 회사는 ‘파이썬’ 개발자를 채용할 때도 꼭 ‘파이썬’ 개발 역량 및 경험이 있는 개발자를 채용하지 않는다. 즉, ‘파이썬’ 코딩을 한 줄도 해본적이 없어도 ‘파이썬’ 개발자로 채용이 될 수 있다.
물론 개발 역량이 부족하면 채용될 수 없다. ‘파이썬’이 아니라도 한두개의 개발언어를 완벽하게 사용할 수 있다면 ‘파이썬’은 몇시간이면 기본적인 사용법을 익힐 수 있고, 업무를 수행하면서 점점 익숙해져서 금방 ‘파이썬’을 능숙하게 사용할 수 있다.
글로벌 소프트웨어 회사에서는 신입 개발자가 입사를 해도 사수가 붙어서 교육을 시키지 않는다. 일하는데 필요한 많은 정보는 시스템이나 문서로 준비가 되어 있어서 입사자 스스로 학습할 수 있다. 또한 프로젝트를 수행할 때도 스펙, 설계 문서가 개발에 투입되기 충분하게 작성되어서 있어서 바로 개발을 할 수 있다. 물론 신입 직원은 쉬운 부분부터 개발에 투입되면 경력이 쌓이고 실력이 검증 되면 점점 어려운 일을 맡긴다.
■ 대학도 수십년전 커리큘럼 고수…최신 기술·기법 교육 필요
그렇다고 우리나라 대학의 소프트웨어 교육에는 문제가 없을까?
대학은 학원이 아니다. 기업이 ‘파이썬’ 개발자가 필요하다고 ‘파이선’을 교육시켜 공급시켜주는 기관이 아니다.
대학은 개발자가 평생을 일해가는데 필요한 기본적인 소프트웨어 지식 및 인문학도 가르치는 곳이다. 이런 면에서는 우리나라 소프트웨어 대학의 교육에는 큰 문제가 없다. 그렇다고 문제가 전혀 없는 것은 아니다.
소프트웨어 기술은 급속도로 발전하는데 여전히 몇십년전 커리큘럼을 위주로 가르치는 대학도 있다. 그래서 대학에서 소프트웨어 교육 4년을 받아도 Git 사용법도 모른는 경우도 있다.
대학에서 소프트웨어 교육을 할 때도 기업에서 프로젝트를 하는 것처럼 소스코드 관리, 이슈관리, 빌드 자동화 등 이런 일련의 방법을 교육에 접목하는 것이 좋다. 해외 유수의 대학의 소프트웨어 교육 시에는 기업의 개발 전문가들이 대학 교육에 참여를 하여 최신 기술 및 기법도 같이 교육하고 있다.
객체지향 프로그래밍을 잘 배우고 개발 언어 한두개만 빠삭하면 기업에서 새로운 언어로 개발하는데 큰 문제가 없다.
나도 Pascal, C 언어를 먼저 익혔지만, 필요할 때마다 새로운 언어를 습득해서 지금까지 십여가지의 개발언어를 사용해왔고, 개발 언어가 바뀌는 것에 대한 아무런 저항이 없다.
기업이 바뀌지 않고 대학 탓만 하는 것은 아무런 도움이 안된다.
관련기사
- 비대면 소프트웨어 개발에 가장 중요한 문서는2020.10.19
- 진짜 비대면 업무 방식 vs 가짜 비대면 업무 방식2020.09.18
- 비대면 온라인 화상회의를 효율적으로 하는 방법2020.09.07
- 효율적 비대면 업무를 위해 사용하면 안되는 5가지2020.08.10
지금의 관행처럼 사수 부사수 시스템을 고수하고, 누가 입사하더라도 많은 교육이 필요하다면 근본적인 문제가 있는 것이다.
어떤 개발자가 입사하더라도 기존에 회사에 구축해 놓은 문서와 시스템을 통해서 입사 첫날부터 실무에 투입할 수 있는 환경을 만들어야 한다. 물론 하루 아침에 이렇게 바뀔 수 없다. 그러고 나면 동일 분야 경력자를 찾아 헤메지 않고 개발자의 근본적인 역량, 문제 해결 능력이 뛰어난 개발자를 채용하는데 집중하고 이들이 회사를 더욱 성장시켜 줄 것이다.
*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.