http://www.okjsp.net/bbs?seq=218823



SI도 솔루션 만큼 기술력이 필요합니다.


원론적으로 말하자면 SI도 솔루션 분야 만큼 기술력이 필요합니다. 단지 이제까지 우리나라 IT 환경에서 SI 분야는 기술력을 따질 이유가 없는 방향으로 특화되었을 뿐입니다.

구조적으로 프로젝트 산출물의 완성도가 아닌 수주 금액과 인건비 차액에 따라 수익이 발생하는 이상 영업으로 무마할 수 없는 수준의 심각한 결함이 나오지 않는 범위 내에서 최소한의 비용으로 프로젝트를 수행하는 것이지 SI라는 분야 자체가 기술력을 필요로하지 않는 것이 아닙니다.

아래 글에서 어떤 분들은 게임 소프트웨어나 구조 계산 등의 솔루션을 만들 때 수학이나 공학적 지식을 알아야 하기 때문에 더 높은 기술 수준이 필요한 것처럼 말씀하시지만, 3D 그래픽에서 수학이나 건축관련 프로그램에서 공학 지식은 금융권 SI의 계산식과 같은 도메인 지식이지 소프트웨어 개발에 대한 지식이 아닙니다.

반면에 아키텍처나 개발방법론 혹은 자료구조 등에 대한 지식은 솔루션 뿐 아니라 SI에서도 고품질의 결과물을 만들어 내기 위해 반드시 필요한 내용입니다. 단지 국내에서 일반적 SI 프로젝트를 하는데 인건비 비싼 고급 인력을 데리고 그런 걸 신경쓰면서 훌륭한 결과를 내봐야 아무도 알아주지 않고 수익만 감소하니 안하고 있을 뿐입니다.

SI 개발이 기술력이 필요없는 것처럼 느껴지는 건 기술력이 필요없는 방법으로만 개발하기 때문입니다. 어떤 SI 개발자분은 이제까지 실무에서 추상클래스를 써본적이 없다고 하시던데, 과연 기업의 인트라넷 시스템은 분야를 막론하고 추상화 할 수 있는 개념이 하나도 나오지 않을 만큼 규모가 작고 단순한가요?

SI는 무슨 사이트던지 다 웹개발일 뿐이라고 주장한다면 자바에서 웹 관련 만큼 다양한 프레임워크와 기술이 쏟아져 나오는 분야가 어디에 있는지 반문하고 싶습니다.

JSF, Play, Wicket 등등 자바 기반 웹개발 프레임워크는 하늘의 별만큼 많습니다. 국내 SI에서는 스프링 MVC만 쓰고 있을 뿐이죠. ORM 관련 제품도 그만큼 다양합니다. 단지 국내 SI에서 Mybatis만 고집할 뿐입니다.

그나마 스프링MVC를 쓴다는게 반드시 'Spring-way'를 이해하고 그런 방식으로 개발을 한다는 것도 아닙니다. 그냥 스프링의 극히 일부 기능만 이전 소스 참조해서 무한 반복하는 것 뿐이죠.

요컨대, SI의 기술력 논란은 분야의 문제가 아니라 관행의 문제라는 것입니다. 오히려 경우에 따라 단일한 도메인의 단일한 코드베이스를 제품이 팔리는 한 수 년씩 리거시화 될 때까지 유지보수 해나가는 솔루션보다 그 때마다 고객의 요구사항에 따라 다양한 설계를 경험해볼 수 있고 그 시점의 최신 기술을 시험해볼 수 있는 SI가 기술적으로 더 나은 기회를 제공할 수도 있습니다.

산출물 품질에 책임지지 않는 인력 업체들이 몇 단계의 하도급을 거쳐 그 때 그 때 검증되지 않은 인력을 뽑고, 성과를 품질이 아닌 단가와 납기만으로 측정하기 때문에 무조건 싸고 빨리 끝낼 수 있는 방법만을 선호하게된 결과가 지금의 기술력이 전혀 필요하지 않는 우리나라 SI의 현실이 된 것입니다.

객체지향에 대한 이해도나 여러 프레임워크의 경험 및 숙련도가 모두 다른 인력을 팀으로 급조해서 모호한 요구조건과 범위에 비해 짧은 납기를 던져주고 결과를 채근하면 결국 모두가 아는 기술적 공통분모, 즉 가장 널리 쓰는 프레임워크로 화면을 찍어내고 다들 익숙한 SQL로 모든 비즈니스 룰을 구현한다는 공식이 나오게 됩니다.

기술보단 등급이나 단가 이야기가 더 자주 나오는 이곳이지만 따지고 보면 발주처에서 그런 것들을 신경쓰는 이유도 다를 바 없습니다. 소프트웨어 개발을 잘 모르는 발주 업체들이 그런식으로 날림으로 만들어낸 산출물에 만족하지 못하니 문제의 원인을 다른 데서 찾는 것 뿐입니다.

고객사 입장에서는 무슨 소프트웨어 방법론을 어떻게 사용했고 자신들의 비즈니스를 어떤 객체지향적 설계로 어떤 API로 구체화 했는지 알 수가 없습니다. 그러니 자신들이 이해하는 범위에서 문제의 원인을 찾으려 하고 그게 '경력 낮은 값싼 인력' 혹은 '경력을 속이는 개발자'로 결론이 나니 단가표니 등급 제도니 하는 것들이 생기는 것입니다.

결국 국내 SI 분야의 모든 문제의 해법은 납기와 단가가 아닌 객관적 품질 기준을 확보하고 적용하는 방법을 찾는데 있는 것입니다. 건설업과 자주 비교되는 IT 분야인 만큼 적어도 건축 감리 수준의 검증 프로세스가 자리잡는다면 많은 문제가 개선될 것으로 봅니다.

정리하면, 현재 SI의 낮은 기술 요구조건에 대한 문제는 분야 자체의 근본적 한계가 아닌 국내의 특수한 비즈니스 환경이 가져온 왜곡된 결과라는 것입니다.

기술도 필요없는 SI 개발에 자조적인 한탄을 하면서도 막상 단가나 등급을 두고는 불만을 토로하는 분들이 많습니다. 하지만 IT 비즈니스라고 해서 기본적인 수요 공급의 원칙이 피해가는 것이 아닙니다.

누구나 쉽게 배워서 쉽게 할 수 있는 일은 낮은 대우를 받습니다. 어렵게 배울 수 있고 잘하는 사람이 적은 기술은 높은 대우를 받습니다.

정말로 SI라는 분야 자체가 학원 6개월만 수강하면 누구나 실무에 바로 투입할 수 있을 만큼 익힐 수 있고, 2-3년만 기초적인 작업을 반복 숙달하면 숙련자가 되는 일이라면 도대체 무슨 근거로 고액 연봉을 기대하는 것인가요?

특히 이 곳에는 사회정의를 말하면서 마치 SI개발자들이 의사, 변호사 등의 전문직이나 대기업 직원들에 비해 부당한 대우를 받고 있다는 식으로 목소리를 높이는 분들이 많습니다.

하지만 정확히 말하자면, 국내 SI 환경에서 정의롭지 않은 건 그 분들이 받는 급여 수준이 아닙니다. 오히려 우리나라 SI 개발자 인건비는 그들의 기술 숙련도와 그에 필요한 준비 과정을 고려할 때 발주처 기준으로 따진다면 턱도 없이 높은 것이 사실이고, 최종 단계에서 실급여를 따진다고 해도 타 분야보다 높은 편입니다.

믿기지 않는다면 당장 IT를 그만두고 6개월 학원 수강후 바로 2000만원 초중반 쯤 연봉을 받으며 일을 시작해서 몇 년만 버티면 두 배 가량 연봉 상승을 기대할 수 있는 업종을 찾아 보시기 바랍니다.

진짜 SI 분야에서 정의롭지 않은 건 비숙련 노동자에게 전문직에 준하는 높은 급여를 안기지 않는 것이 아니라, 실제로 전문 노동력이 필요한 분야임에도 중간 인력관리 업체들만 노력없이 이익을 가로채서 비숙련 인력만으로 감당하기 힘든 업무를 강제하는 것 뿐입니다.

물론 원칙적으로는 급여를 떠나서도 보상없는 야근 강요나 비인격적 대우, 급여 미지급 등 여러 잘못된 관행들이 많습니다. 하지만 이러한 문제 대부분은 앞서 언급한 SI의 근본 문제가 해결되면 적어도 크게 개선이 될 것으로 기대할 수 있습니다.

애초에 보상없는 야근 강요 자체가 발주사가 지급하는 인건비보다 부족한 금액으로 낮은 숙련도의 개발자를 모아놓고 전문성 없는 기획자가 요구분석 설계를 맡아 일정 준수를 종용하는 과정에서 비롯된 문제들이기 때문입니다.

하도급 관행 및 비용과 납기로 결과를 측정하는 근본 문제가 해소되어도 남아있을만한 '문제'라면 아마도 몇몇 분들이 기대하시는 SQL만 잘하는 '중급 개발자'들이 의사나 변호사 만큼 대우 받는 시대가 되지 않는다는 정도가 아닐까 싶습니다.

하지만 대부분의 상식이 있는 개발자들은 SI든 솔루션이든 개발자들은 타분야 전문직과 견줄만한 기술력이 있을 때 그 만큼 높은 대우를 받고, 기술이 모자라면 낮은 급여를 받지만 적어도 부당한 야근을 강요받거나 인격 모독을 받지 않는 수준에서 시장경제 제도 안의 사회정의를 이해하고 있을 것이라 믿습니다.