2015.03.02

칼럼 | 우리는 소프트웨어 개발자인가 아닌가?

정철환 | CIO KR
얼마 전 필자의 페친 한 분이 올리신 포스팅에서 던진 화두가 한동안 생각에 잠기게 했다. 그분이 던진 화두는 ‘SI(SM포함하여 IT서비스 분야로 통칭) 영역의 개발자를 소프트웨어 개발자의 범주에 넣을 수 있는가?’였다. 필자는 IT 분야에 몸담을 초창기부터 기업의 정보시스템을 지원하는 시스템 엔지니어로 시작하여 SI의 개발자, PL, PM을 두루 거쳐 현재는 기업의 정보전략을 담당하고 있으니 포스팅에서 던진 화두에 뭔가 얻어맞은 듯 한 느낌이었다. ‘과연 나는 제대로 된 소프트웨어 개발을 해 본적이 없었나? 나는 소프트웨어 개발자였던 적이 없었던 건가?’하는 생각을 곰곰이 해 보게 되었다. 물론 포스팅을 올리신 분의 의미도 충분히 알 수 있었다. 소위 전문 소프트웨어 개발을 하는 기업에서 SI 분야를 안 좋게 보고 있다는 것도 안다. 필자 역시 ‘SI는 21세기 노가다’라는 표현을 쓰기도 했었으니까... 하지만 소프트웨어 개발자의 범주에도 포함하지 못할 정도인가에 대해서 고민해 볼 수 밖에 없었다.

별 의미 없는 사항인지는 모르겠으나 위키피디아에 software developer로 검색을 했을 때 ‘ In short, developers "make" software for the world to use’라는 문구를 봐도 SI 개발자는 분명 소프트웨어 개발자다. 하는 일에 대한 정의사항을 봐도 요구사항 분석, 소프트웨어 설계, 개발, 테스트, 운영 등 정확히 하는 일과 일치한다. 정보통신산업진흥원이 발간한 ‘2013년 소프트웨어 산업 연간보고서’를 보면 2012년 기준으로 소프트웨어 산업에 종사하는 인력의 수가 패키지 소프트웨어는 3만 4,000명, IT서비스 분야는 11만 5,000명으로 인원수도 압도적으로 많다. 관련 기업의 매출액도 소프트웨어 패키지 상위 26개사 매출액 합계가 2012년 기준으로 1조 2,182억 원, IT서비스 상위 23개사의 매출액 합계가 12조 5,791억 원이다. 그렇다면 ‘이렇게 국내 소프트웨어 산업의 인력과 매출의 대부분을 점유하는 IT서비스 분야의 개발자를 소프트웨어 개발자의 범주에 넣어야 할 것인가? 아닌가?’를 고민하게 만드는 이유가 과연 무엇일까?

우선 가장 중요한 이유로 국내 SI 개발 프로젝트의 추진 형태가 근본적으로 건설업의 사업추진체계를 많이 따르고 있기 때문이 아닐까 생각한다. 소프트웨어 개발 프로젝트를 발주한 원청 업체와 계약을 맺은 주 계약 업체는 다시 전체 프로젝트를 분할하여 각기 하도급 업체와 계약을 한다. 하도급 업체는 개발을 위해 필요한 개발 인력을 자체적으로 보유하기 보다는 인력을 전문적으로 공급하는 업체로부터 개발자를 공급받는다. 자체적으로 운영하는 인력이 아닌 늘 유동적인 인력을 공급받는 관계로 하도급 업체나 주 계약업체나 프로젝트를 통한 소프트웨어 개발 노하우가 축적되지 않는다. 따라서 개발 방법론이나 테스트 방법론 등에 대한 체계적인 수행에 대한 관심도 적다. 필자가 SI 분야에 뛰어들었던 1990년대 초반에는 국내 SI기업들은 방법론이나 소프트웨어 개발 프로젝트의 운영에 대해 지대한 관심을 가지고 있었다. 그러나 개발자를 외주 인력으로 대체하는 비율이 점점 높아지면서 방법론의 발전도 없고 관리체계도 심화되지 못하고 있는 것으로 생각된다. 그러다 보니 검증되지 않은 인력에 체계적이지 않은 소프트웨어 개발이 확산되고 인건비 경쟁에 고급 개발자의 설 자리가 없어짐에 따라 SI 분야의 소프트웨어 개발이 단순 노가다 형태에 점점 가까워지고 있는 것이 그 이유라는 것이다.

두번째는 국내 IT서비스 분야를 이끌어가고 있는 기업들의 문제이다. 역시 ‘2013년 소프트웨어 산업 연간보고서’에서 예를 들고 있는 글로벌 주요 소프트웨어 및 IT서비스 기업들은 애플, 구글, 오라클, 마이크로소프트, 어도비, CA, 시트릭스, EMC, HP, IBM 등이다. 국내의 주요 소프트웨어 및 IT서비스 기업을 머릿속에 그려보면 기업의 모습이 많이 다른 것을 알 수 있다. 특히 IT서비스 분야의 주요 국내 기업들이 글로벌 기업들과 비교할 때 가지는 가장 큰 차이는 SI 분야나 SM 분야 이외에 별도의 소프트웨어 패키지의 개발이 거의 활성화 되어 있지 않다는 점이다. 오히려 스마트폰과 스마트 TV 등을 제조하는 기업에서의 소프트웨어 개발이 좀 더 체계적이고 심화된 시스템을 가지고 있지 않을까 생각한다. 국내 소프트웨어 산업을 이끌어가는 주도적인 기업들의 문화가 소프트웨어 개발에 대한 관심이 적다는 것이 IT서비스 부문에서 근무하는 개발자의 소프트웨어 개발 역량의 향상에도 부정적인 영향을 준다. 그러다 보니 국내 소프트웨어 시장에서 거의 대부분을 차지하고 있는 IT서비스 분야에서 근무하는 개발자들이 인정받지 못하는 이유이기도 하다.

세번째로는 IT서비스 분야에 만연해 있는 고객의 갑질도 작은 이유 중의 하나가 아닐까 한다. IT서비스 분야는 특성 상 소프트웨어 개발을 하려면 고객과 직접 대면이 많다. 그런데 국내 IT서비스 기업이 고객들에게 오랜 기간에 걸쳐 ‘갑과 을’의 문화를 정착시켰다. 그래서 많은 개발자들이 전문 소프트웨어 개발자로서 고객으로부터 인정을 받아 자부심을 느끼게 하기 보다는 과도하고 일방적일 수도 있는 고객의 요구에 묵묵히 그리고 신속하게 대응해야 하는 서비스 정신이 우선이라는 ‘서비스 맨’의 마인드를 심어 놓았다. 그리고 시스템이 조금이라고 문제가 발생하면 고객은 원하는 만큼 화를 내도 되는 문화가 형성된 것도 문제다. 언제부터 IT서비스를 담당하고 있는 개발자들이 ‘노비’가 되었는가? 그러니 스스로도 ‘나는 소프트웨어 개발자가 아냐’라는 생각을 가지게 하지는 않았는가 한다.

상기 요인들이 소위 전문 소프트웨어 개발회사에서 근무하는 개발자들이 IT서비스 분야를 꺼리게 만들고 심지어 비하하게 만드는 원인이 될 수 있지 않을까? 그래서 필자의 페친이 그런 내용의 포스팅을 올리게 된 것은 아닐까? 이상적인 소프트웨어 개발자라면 자신의 분야에서 오랜 경험을 보유하여 고난도의 소프트웨어 개발 프로젝트를 이끌 수 있으며 오픈소스 커뮤니티에도 기여하고 소프트웨어 관련 테크니컬 블로그도 운영하는 청바지와 티셔츠를 입은 면도하지 않은 텁수룩한 사람이 머릿속에 그려지지 않는가? 그런데 IT서비스 분야의 개발자들은 그런 모습과는 너무나도 다른 사람들이니까 말이다.

하지만 평생을 IT서비스 분야에 몸 담고 있는 필자는 여전히 ‘IT서비스 분야의 개발자들도 훌륭하고 뛰어난 개발자들이다’ 라고 생각한다. 그 분들이 없다면 과연 국내의 소프트웨어 산업이라는 것이 있었겠는가? 누군가의 지적처럼 기업과 공공분야 그리고 국민들이 일상적으로 사용하는 소프트웨어 중 SI 개발을 통해 개발되지 않은 것이 얼마나 될까? 그리고 IT서비스의 전문 개발자의 지원 없이 기업들은 경영을 지속할 수 있을까?


필자가 아쉬운 것은 위의 문제들이 처음부터 있었던 것은 아니라는 것이다. 국내 IT서비스 분야가 생겨나던 1990년대에는 앞서 이야기 한 것처럼 SI 기업들이 소프트웨어 개발의 첨단이었고 개발방법론에 대한 연구도 앞장섰으며 개발자들은 지속적인 교육을 받을 수 있었다. 그리고 프로젝트에 나가면 고객들로부터 IT 전문가로 대접도 융숭히 받았던 시절이 있었다. 시간이 흐르면서 전반적으로 IT 분야의 침체가 지속, 확대되고 그에 따라 3D 업종, 아니 4D업종으로까지 불리며 치킨집이 최종 종착지라는 자조 섞인 이야기가 회자되는 한 국내 소프트웨어 산업의 밝은 미래를 이야기 할 수 있을까? IT서비스 분야의 개발자도 누구도 의심하지 않는 전문 소프트웨어 개발자로 인정받을 수 있는 날이 오길 바란다...

*정철환 팀장은 삼성SDS, 한양대학교 겸임교수를 거쳐 현재 동부제철 IT기획팀장이다. 저서로는 ‘SI 프로젝트 전문가로 가는 길’이 있으며 삼성SDS 사보에 1년 동안 원고를 쓴 경력이 있다. 한국IDG가 주관하는 CIO 어워드 2012에서 올해의 CIO로 선정됐다. ciokr@idg.co.kr



2015.03.02

칼럼 | 우리는 소프트웨어 개발자인가 아닌가?

정철환 | CIO KR
얼마 전 필자의 페친 한 분이 올리신 포스팅에서 던진 화두가 한동안 생각에 잠기게 했다. 그분이 던진 화두는 ‘SI(SM포함하여 IT서비스 분야로 통칭) 영역의 개발자를 소프트웨어 개발자의 범주에 넣을 수 있는가?’였다. 필자는 IT 분야에 몸담을 초창기부터 기업의 정보시스템을 지원하는 시스템 엔지니어로 시작하여 SI의 개발자, PL, PM을 두루 거쳐 현재는 기업의 정보전략을 담당하고 있으니 포스팅에서 던진 화두에 뭔가 얻어맞은 듯 한 느낌이었다. ‘과연 나는 제대로 된 소프트웨어 개발을 해 본적이 없었나? 나는 소프트웨어 개발자였던 적이 없었던 건가?’하는 생각을 곰곰이 해 보게 되었다. 물론 포스팅을 올리신 분의 의미도 충분히 알 수 있었다. 소위 전문 소프트웨어 개발을 하는 기업에서 SI 분야를 안 좋게 보고 있다는 것도 안다. 필자 역시 ‘SI는 21세기 노가다’라는 표현을 쓰기도 했었으니까... 하지만 소프트웨어 개발자의 범주에도 포함하지 못할 정도인가에 대해서 고민해 볼 수 밖에 없었다.

별 의미 없는 사항인지는 모르겠으나 위키피디아에 software developer로 검색을 했을 때 ‘ In short, developers "make" software for the world to use’라는 문구를 봐도 SI 개발자는 분명 소프트웨어 개발자다. 하는 일에 대한 정의사항을 봐도 요구사항 분석, 소프트웨어 설계, 개발, 테스트, 운영 등 정확히 하는 일과 일치한다. 정보통신산업진흥원이 발간한 ‘2013년 소프트웨어 산업 연간보고서’를 보면 2012년 기준으로 소프트웨어 산업에 종사하는 인력의 수가 패키지 소프트웨어는 3만 4,000명, IT서비스 분야는 11만 5,000명으로 인원수도 압도적으로 많다. 관련 기업의 매출액도 소프트웨어 패키지 상위 26개사 매출액 합계가 2012년 기준으로 1조 2,182억 원, IT서비스 상위 23개사의 매출액 합계가 12조 5,791억 원이다. 그렇다면 ‘이렇게 국내 소프트웨어 산업의 인력과 매출의 대부분을 점유하는 IT서비스 분야의 개발자를 소프트웨어 개발자의 범주에 넣어야 할 것인가? 아닌가?’를 고민하게 만드는 이유가 과연 무엇일까?

우선 가장 중요한 이유로 국내 SI 개발 프로젝트의 추진 형태가 근본적으로 건설업의 사업추진체계를 많이 따르고 있기 때문이 아닐까 생각한다. 소프트웨어 개발 프로젝트를 발주한 원청 업체와 계약을 맺은 주 계약 업체는 다시 전체 프로젝트를 분할하여 각기 하도급 업체와 계약을 한다. 하도급 업체는 개발을 위해 필요한 개발 인력을 자체적으로 보유하기 보다는 인력을 전문적으로 공급하는 업체로부터 개발자를 공급받는다. 자체적으로 운영하는 인력이 아닌 늘 유동적인 인력을 공급받는 관계로 하도급 업체나 주 계약업체나 프로젝트를 통한 소프트웨어 개발 노하우가 축적되지 않는다. 따라서 개발 방법론이나 테스트 방법론 등에 대한 체계적인 수행에 대한 관심도 적다. 필자가 SI 분야에 뛰어들었던 1990년대 초반에는 국내 SI기업들은 방법론이나 소프트웨어 개발 프로젝트의 운영에 대해 지대한 관심을 가지고 있었다. 그러나 개발자를 외주 인력으로 대체하는 비율이 점점 높아지면서 방법론의 발전도 없고 관리체계도 심화되지 못하고 있는 것으로 생각된다. 그러다 보니 검증되지 않은 인력에 체계적이지 않은 소프트웨어 개발이 확산되고 인건비 경쟁에 고급 개발자의 설 자리가 없어짐에 따라 SI 분야의 소프트웨어 개발이 단순 노가다 형태에 점점 가까워지고 있는 것이 그 이유라는 것이다.

두번째는 국내 IT서비스 분야를 이끌어가고 있는 기업들의 문제이다. 역시 ‘2013년 소프트웨어 산업 연간보고서’에서 예를 들고 있는 글로벌 주요 소프트웨어 및 IT서비스 기업들은 애플, 구글, 오라클, 마이크로소프트, 어도비, CA, 시트릭스, EMC, HP, IBM 등이다. 국내의 주요 소프트웨어 및 IT서비스 기업을 머릿속에 그려보면 기업의 모습이 많이 다른 것을 알 수 있다. 특히 IT서비스 분야의 주요 국내 기업들이 글로벌 기업들과 비교할 때 가지는 가장 큰 차이는 SI 분야나 SM 분야 이외에 별도의 소프트웨어 패키지의 개발이 거의 활성화 되어 있지 않다는 점이다. 오히려 스마트폰과 스마트 TV 등을 제조하는 기업에서의 소프트웨어 개발이 좀 더 체계적이고 심화된 시스템을 가지고 있지 않을까 생각한다. 국내 소프트웨어 산업을 이끌어가는 주도적인 기업들의 문화가 소프트웨어 개발에 대한 관심이 적다는 것이 IT서비스 부문에서 근무하는 개발자의 소프트웨어 개발 역량의 향상에도 부정적인 영향을 준다. 그러다 보니 국내 소프트웨어 시장에서 거의 대부분을 차지하고 있는 IT서비스 분야에서 근무하는 개발자들이 인정받지 못하는 이유이기도 하다.

세번째로는 IT서비스 분야에 만연해 있는 고객의 갑질도 작은 이유 중의 하나가 아닐까 한다. IT서비스 분야는 특성 상 소프트웨어 개발을 하려면 고객과 직접 대면이 많다. 그런데 국내 IT서비스 기업이 고객들에게 오랜 기간에 걸쳐 ‘갑과 을’의 문화를 정착시켰다. 그래서 많은 개발자들이 전문 소프트웨어 개발자로서 고객으로부터 인정을 받아 자부심을 느끼게 하기 보다는 과도하고 일방적일 수도 있는 고객의 요구에 묵묵히 그리고 신속하게 대응해야 하는 서비스 정신이 우선이라는 ‘서비스 맨’의 마인드를 심어 놓았다. 그리고 시스템이 조금이라고 문제가 발생하면 고객은 원하는 만큼 화를 내도 되는 문화가 형성된 것도 문제다. 언제부터 IT서비스를 담당하고 있는 개발자들이 ‘노비’가 되었는가? 그러니 스스로도 ‘나는 소프트웨어 개발자가 아냐’라는 생각을 가지게 하지는 않았는가 한다.

상기 요인들이 소위 전문 소프트웨어 개발회사에서 근무하는 개발자들이 IT서비스 분야를 꺼리게 만들고 심지어 비하하게 만드는 원인이 될 수 있지 않을까? 그래서 필자의 페친이 그런 내용의 포스팅을 올리게 된 것은 아닐까? 이상적인 소프트웨어 개발자라면 자신의 분야에서 오랜 경험을 보유하여 고난도의 소프트웨어 개발 프로젝트를 이끌 수 있으며 오픈소스 커뮤니티에도 기여하고 소프트웨어 관련 테크니컬 블로그도 운영하는 청바지와 티셔츠를 입은 면도하지 않은 텁수룩한 사람이 머릿속에 그려지지 않는가? 그런데 IT서비스 분야의 개발자들은 그런 모습과는 너무나도 다른 사람들이니까 말이다.

하지만 평생을 IT서비스 분야에 몸 담고 있는 필자는 여전히 ‘IT서비스 분야의 개발자들도 훌륭하고 뛰어난 개발자들이다’ 라고 생각한다. 그 분들이 없다면 과연 국내의 소프트웨어 산업이라는 것이 있었겠는가? 누군가의 지적처럼 기업과 공공분야 그리고 국민들이 일상적으로 사용하는 소프트웨어 중 SI 개발을 통해 개발되지 않은 것이 얼마나 될까? 그리고 IT서비스의 전문 개발자의 지원 없이 기업들은 경영을 지속할 수 있을까?


필자가 아쉬운 것은 위의 문제들이 처음부터 있었던 것은 아니라는 것이다. 국내 IT서비스 분야가 생겨나던 1990년대에는 앞서 이야기 한 것처럼 SI 기업들이 소프트웨어 개발의 첨단이었고 개발방법론에 대한 연구도 앞장섰으며 개발자들은 지속적인 교육을 받을 수 있었다. 그리고 프로젝트에 나가면 고객들로부터 IT 전문가로 대접도 융숭히 받았던 시절이 있었다. 시간이 흐르면서 전반적으로 IT 분야의 침체가 지속, 확대되고 그에 따라 3D 업종, 아니 4D업종으로까지 불리며 치킨집이 최종 종착지라는 자조 섞인 이야기가 회자되는 한 국내 소프트웨어 산업의 밝은 미래를 이야기 할 수 있을까? IT서비스 분야의 개발자도 누구도 의심하지 않는 전문 소프트웨어 개발자로 인정받을 수 있는 날이 오길 바란다...

*정철환 팀장은 삼성SDS, 한양대학교 겸임교수를 거쳐 현재 동부제철 IT기획팀장이다. 저서로는 ‘SI 프로젝트 전문가로 가는 길’이 있으며 삼성SDS 사보에 1년 동안 원고를 쓴 경력이 있다. 한국IDG가 주관하는 CIO 어워드 2012에서 올해의 CIO로 선정됐다. ciokr@idg.co.kr

X