IT이야기

고등학교를 졸업하고 개발자로 취직하기 - 4

초하류 2017. 11. 16. 10:30

요즘 기업들은 크건 작건 전산 시스템을 사용하기 때문에 어느 정도 규모가 있는 회사들은 전산부서를 운영 합니다. 하지만 IMF 이후로 기업들은 핵심역량이 아니면 아웃소싱이 경제적이라는 원칙하에 전산실을 최소화 해서 운용 하고 있습니다.

 

그래서 전산실이 있더라도 회사에서 필요한 시스템을 직접 개발 하는 회사는 거의 없습니다. 시스템이 필요하면 예산 확보해서 발주 하고 프로젝트를 진행 합니다.

 

만약 패키지SW위주로 도입 된다면 전산실의 인력이 최소화 되어 있더라도 요구사항에 맞는지 어느 정도 확인할 수 있을 겁니다. 이미 만들어진 패키지SW를 작동 시켜 보면 되니까요. 그런데 요구사항에 맞는 기능을 개발하거나 패키지SW를 커스터마이징 해야 한다면 어떻게 될까요? 개발할 역량이 없는 전산실이 도입되는 솔루션의 기능을 파악 할 수 있을까요? 커스터마이징 가능 정도는요? 커스터마이징이 기존 솔루션의 기능에 미치는 영향은 파악할 수 있을까요?

 

불가능하죠. 그런데 왜 이런 관리 불가능한 커스터마이징이나 신규 개발이 계속 될까요? 좀 비싸더라도 외산 잘나가는 패키지SW를 사면 다 해결 되지 않을까요? 그게 또 그렇지가 않습니다. 패키지SW는 산업별 공통적으로 발생하는 업무에 특화될뿐 각 회사별로 생기는 이런 저런 잡다한 기능까지 커버 하는 것은 불가능하거든요. 그런 특화된 기능을 개발하는 가장 좋은 방법은 그 회사에서 개발인력을 보유해서 개발하는 겁니다. 그런데 대부분의 회사 전산실이 개발 능력을 상실한 상태다 보니 평소에 접수되는 이런 저런 요구사항들을 프로젝트 하나 발생할 때 마다 한꺼번에 처리 하려고 합니다.

 

그래서 대부분의 우리나라 IT 프로젝트는 꼭 필요한 솔루션 기능 + 이번 사업의 형이상학적인 목적(수평적 커뮤니케이션 증대, 협력강화 등)을 달성하기 위한 뭔지 모를 기능과 화면들 + 지난 프로젝부터 지금까지 전산실에 요구된 각종 잡다한 기능개발로 구성되게 됩니다. 어떤 모습이어야 이걸 해결 할 수 있는지 아는 사람은 없죠. 발주처도 모르고 그걸 수주 하려고 덤비는 회사도 모릅니다.

 

그렇게 프로젝트가 시작되면 보통 주어지는 시간이 길어야 6개월 남짓의 시간입니다. 그 시간 동안 한두달은 분석 설계 한다고 지나가고 한달은 시스템 오픈 테스트와 각종 절차들을 위해 빼고 나면 실제 개발할 수 있는 시간은 3달 남짓입니다. 이런 짧은 기간 동안 제대로된 소프트웨어를 개발할 수 있을까요? 이렇게 얼렁 뚱땅 새로 개발되거나 엉망인 패키지위에 덕지 덕지 커스터마이징한 시스템은 사용자 편의를 위한 User Interface는 고사 하고 여기 저기가 삐걱거리는 상태로 사용자에게 불편을 안겨 주게 됩니다. 그러다 보니 돈을 들여 만든 시스템들도 사용율이 저하 되어 골치거리가 되고 이 사람 저 사람에게 골치거리 취급을 받으며 폭탄돌리기의 대상이 되다가 어느 정도 시간이 지나면 이런 저런 이유를 들어 또 프로젝트를 진행 하게 됩니다.

 

프로그램을 개발할 능력이 없는 전산실을 운영 하면서 업무 시스템을 새로 개발하려고 하거나 기존 패키지SW를 커스터마이징 하는 것은 무리한일이고 프로젝트를 발주 하는쪽이나 수행 하는 쪽 모두에게 도움이 되지 않습니다.

 

패키지SW 위주로 솔루션을 도입 한다면 수주를 위해 패키지SW의 완성도를 높이기 위한 노력을 할것이고 개발 실력이 뛰어난 개발자가 귀한 대접을 받을 수 있을 겁니다. 하지만 우리나라 시장에서 패키지SW의 완성도를 높이기 위해 시간과 돈을 투자해봤자 대충 만든 패키지로 원하는 만큼 커스터마이징 하는 회사가 더 높은 평가를 받습니다.

 

각 회사 전산실에서 스스로 개발을 진행 한다면 전산실 인력을 채용할 때 개발 실력을 위주로 뽑을 수 있겠죠. 하지만 대부분의 전산실에서 필요한 능력은 전산에 대한 대략적인 개요와 함께 납품하는 밴더들을 혹독하게 관리(라고 쓰고 착취라고 읽습니다.)하는 능력이 더 대접 받습니다.

 

결과적으로 현재 우리나라에서 개발자들이 취업할 수 있는 대부분의 회사들의 첫번째 관심사는 개발능력이 아닙니다. 전산실은 물론이고 패키지SW 회사에 입사 한다 하더라도 자사 제품을 고도화 하거나 성능을 개선 시키는 노력 보다는 프로젝트에 투입되어 고객의 요구사항을 잘 캐치 할 수 있는 프로세스 이해 능력과 CRUD 입력 화면 적당히 구성할 수 있는 정도의 개발 능력이 필요합니다..

 

거기에 더해서 필드에서 개발자들의 몸값을 좌우 하는 개발자 기술등급 체계도 많은 문제를 내포 하고 있습니다. 소프트웨어산업협회에서 인정하는 소프트웨어 개발자의 등급은 총 9단계로 자료입력원, 초급기능사, 증급기능사, 고급기능사, 초급기술자, 중급기술자, 고급기술자, 특급기술자, 기술사로 이루어 집니다.

 

고등학교를 졸업하고 개발자가 되면 초급 기능사로 인정 됩니다. 제아무리 개발을 잘해도 더 윗등급으로 올라갈 수는 없습니다. 그런데 실무에서 개발자의 등급은 초급 기술자부터 입니다. 왠만한 프로젝트에 초급 기능사 프로필을 넣으면 그냥 빠꾸 먹습니다. 기능사를 넘어 초급기술자가 되려면 개발 관련 실무 경력을 쌓아야 하지만 앞서 말한 이유들 때문에 고등학교를 졸업하고 정상적인 실무 경력을 쌓기는 하늘에 별따기 입니다. 하지만 대학을 졸업하면? 전공과 관계없이 누구나 초급 기술자가 될 수 있습니다

 

초급기술자가 되고 난 이후 중급과 고급, 특급기술자는 근무경력으로만 산정이 됩니다. 내가 아무리 실력이 좋아도 초급기술자가 되고 난 이후 7년이 지나지 않으면 죽었다 깨나도 고급 기술자가 될 수 없습니다. 반대로 말하면 개발을 잘못한다고 하더라도 7년만 버티면 고급 기술자가 되는거죠. 이건 개발 능력이 뛰어 나면 뛰어날수록 손해 볼 수 밖에 없는 구조입니다.

 

이런 현실을 아는지 모르는지 고등학교를 졸업하고 개발자로 취직한다는 목표를 가지고 취업특성화고니 마에스터고를 만든다는 것은 현재 우리나라 IT 산업이 돌아가는 모습을 전혀 알지 못하는 탁상공론일 뿐입니다.