Archive

Archive for October, 2007

대한민국 개발자의 우울, 자기책임론에서 구조개혁론으로

October 27th, 2007

출처 : http://www.zdnet.co.kr/itbiz/column/anchor/goodhyun/0,39030292,39161841,00.htm
2007년 우리네 개발자의 자화상은 유난히 수척하고 우울하다. 연이어 터져 나오는 개발자 처우에 대한 보도와 칼럼들은 IT를 이공계 기피의 공식 상징으로 만들어 버렸다. 이런…… 별로 낭만적이지 않다.

어느덧 개발자의 후생(厚生)은 나의 최우선 관심사가 되어 버렸다.

우리는 누구나 자기가 좋아하는 일을 하는 삶을 꿈꾸고, 또 그 일이 사회에 가져다 주는 가치에 걸맞은 대가를 받기를 바란다. 낭만적 인생의 얼개란 의외로 단순하다. 그렇다면 개발자들은 적어도 자기가 좋아하는 일이 무언지 안다는 면에서는 행복한 이들이다. ‘알고리즘의 오르가즘’, 즉 내 논리가 증명될 때의 기쁨에 끌려 이 바닥에 들어 왔기 때문이다. 허나 이 ‘손맛’ 누구나 맛볼 수는 있지만, 그 대가는 천차만별이다. 스톡옵션과 인센티브 덕에 벤츠를 모는 프로그래머도 있지만, 그 동갑내기는 소위 말하는 SI 막장의 트러블 프로젝트 속에서 요구분석조차 제대로 되지 않은 시스템을 무한 반복적으로 수정하고 있기도 하다. 전자는 한 사람의 개발자가 세상을 흔들 가치의 원천임을 증명한 셈이지만, 동시에 후자는 정부가 정한 단가표로 조달 가능한 부품에 불과함을 증명하고 있다.

이 차이의 원인은 어디에 있을까? 운이라고 말하면 성의 없는 대답이지만, 노력 탓이라고 말하는 것도 잔인한 기만이다. 지금 개발자들이 겪는 우울은 이 격차에 대한 울분이라기보다, 후자에서 전자로 이어지는 연속된 흐름이 발견되지 않는 구조적 모순에 있다. 닮고 싶은 롤모델도 없고, 괴로운 나날을 지킬 비전도 없다. 그도 그럴 만 하다. 안타깝게도 우리 주위에는 기술의 힘에 의해 기업의 지속 가능성(Sustainability)를 확보한 곳은 찾기 힘들다. 대신 기묘한 다단계의 착취 구조의 잉여 축적으로 지속 가능성을 근근이 유지하는 곳만 즐비하다. 가치를 발휘할 대상을 찾지 못하는 이들이 가치를 발휘할 리 없다. 악순환이다. 그렇기에 대부분의 경우 자기책임론은 무책임한 말이다.

어떻게 하면 좋을까? 가치를 둘러싼 사회의 문제란 결국 경제적 문제다. 그리고 경제적 부조리의 대부분은 수요와 공급의 구조 변화에서 온다. 우리는 이 구조를 간과해 왔다. 이를 알아차린 혹자는 의사나 변호사처럼 이익을 대변할 길드를 형성해야 한다고 말하고, 또 다른 이는 구조적 문제를 해소할 ‘당’을 만들어야 한다고 농담 같은 진담을 해 오기도 한다. 공급자의 입장에서 공급을 조절하는 구조를 꿈꾸는 기초적 반항심이다.

그러나 이는 더 본질적 문제를 간과하고 있다. 그 것은 ‘업’, 즉 프랙티스(practice)라는 개념이 완성되는 과정이다. 의사도 변호사도 모두 구조적 절차, 예컨대 선별 과정과 자성 절차를 통해 자신들의 업을 정의하게끔 하고 그 정의에 맞는 수행을 하도록 스스로를 단련하고 있다. 이 것이 구조의 힘이다.

우리는 스스로를 개발자라고 말하지만, 이는 그냥 운동선수라고 말해 버리는 것과 마찬가지의 뭉툭한 묶음이다. IT라는 산업 역시 산업으로서의 스포츠 전체와 같아서, 어떠한 종목을 선택할지에 따라 이 산업에 참여한 신인의 미래는 크게 달라진다. 인기, 비인기 여부, 그리고 프로 리그의 존재 여부, 여기에 자신의 적성 및 특기, 비전이 더해져서 스포츠인으로서의 인생은 구조 안에서 만들어 지는 것이다.

이 적응과 선택이 합리적이고 타당한 분기점과 분배구조를 통해 거쳐 가면서 누구는 맨유의 일원으로 또 누구는 마포구 조기축구회의 일원으로 각각 나름의 땀을 흘리게 된다. 이 것이 성숙된 구조를 지닌 산업의 일원에게 주어진 낭만성이다. 가장 인간적이며 원초적인 파이팅 정신을 스포츠에서 찾게 되는 이유는 어쩌면 이 절차적 투명성 덕일지 모른다. 스포츠는 이를 가능하게 하는 구조를 완성했다. 고대 그리스 시절부터.

우리네 IT에게 결여된 것은 이러한 구조다. 우리는 왜 훌륭한 선수가 되지 못하냐는 질책은 있었지만, 어떠한 종목을 선택하는 것이 바람직한지 귀띔을 듣지 못했다. 그런 일을 태릉선수촌을 만든 정부에 기대해 보면 좋겠지만, IT에게 주어진 정책은 축구가 인기니까 6개월 과정으로 축구 선수를 배출하자는 근시안적인 방책뿐이었다. 그 덕에 98년에 엔터프라이즈 자바를 처음 하던 시절에 받던 ‘선생님’ 대우가, 불과 10년도 안돼 단순 노무직의 신세가 되어 버린다. 더 아이러니한 것은 10년 동안 아무리 훌륭한 축구 스킬을 쌓았어도 이를 알아 주는 이는 없고, 넘치는 축구 선수 지망생 속에 스트라이커는 묻혀 버린다. 오늘 아침 조기축구회에 처음 나온 이도 박지성도 모두 똑같은 과기처 단가표를 받아 든다. 그나마 다행히 박지성은 특급일 것이다.

더 큰 문제는 야구 선수마저 축구를 해야 하는 상황이다. 유난히 획일적인 사회 덕인지 모르지만, 어느 한 기술이 선택되면 업계 전체에 그 쏠림 현상은 무지막지하고, 여기에는 일종의 종교적 교조주의까지 가세한다. 눈치 보듯 동종 업계의 흐름을 뛰어 넘지 않는 RFP로 발주가 나고, 어느 누구도 새로운 것을 시도하지 않은 채 그저 그런 시스템이 계속 완성된다. 그리고 IT는 점점 새로운 것을 기피하며 혁신과 거리가 멀어진다.

개발자의 생산성을 비약적으로 향상시킬 방안이 있어도, 그 기술을 쓰는 개발자의 단가가 비싸다는 이유로 기각되곤 한다. 이는 혁신의 상실일뿐더러 기회의 상실이다. ‘보이지 않는 손’의 위업이라 해버리면 그만이지만, 정책이란 이러한 상실을 지키기 위한 것 아니었던가.

어쩌면 국가나 정부의 정책이 밸런스를 맞추는 일은 애초에 무리일지 모른다. IT에서 일어나는 대부분의 변화는 정책 수행이나 입안 주체가 지닌 능력이나 태도의 문제나 차원을 넘어 초국가적 IT 트렌드의 결과이기 때문이니까. 그러나 아무리 글로벌화로 평평한 세계가 되어도 여전히 국가의 경계가 주는 문화적 경제적 사회적 기회의 차이는 지대하기에, 지렛대가 되어야 할 정책의 몫은 여전하다. 한 국가의 스포츠 정책이 생활 체육보다 엘리트 체육에 치중하는 이유도 이 차이의 가시적 해소를 위함이다. 왜 오프쇼어가 존재하는지, 왜 전세계의 IT 시스템이 여전히 미국발 플랫폼에 의존하고 있는지를 기억해 보자. 아무리 세계가 평평해져도 물리적 IT강국과 그 가치의 흐름은 존재한다.

한국 내에도 IT에 특화된 수많은 공공 단체들이 있지만 이에 대한 심도 깊은 고찰이 어디에서 이루어지고 있는 지 궁금하다. 예컨대 국가가 나서서 오픈소스를 이야기하지만, 오픈소스가 국내 개발자의 전체적 후생에 어떠한 영향을 미치는지 설명책임이 없다. 정책자 들은 오픈소스가 우리의 미래라고는 하지만, 우리에게는 아직 북구나 북미에서처럼 오픈소스 커미터로 활동하는 일에 대한 직업적 환경이 형성되지 못했다. 글로벌 벤더가 북구나 북미에서처럼 이들을 한국에서 고용하지도 않고, 또 그렇지 않더라도 돈을 받지 않고 연구에 몰두할 수 있는 사회적 안전망을 국가나 학계가 갖추어 주지 않는다. ‘스캔디나비안 객체 지향 학풍’, ‘핀란드의 기나긴 겨울’과 같은 은유적 여유조차 없는 우리에게 오픈소스는 ‘소프트웨어는 거저’라는 잘못된 인식의 획득뿐이고, 그 결과 세계에 기여는 안 하면서 가져다 쓰기만 하는 기형적 오픈소스 문화만 남게 되었다. 구조적 문제의 일례다.

도대체 무엇이 우리의 미래인가? IT 강국이라고 공염불은 하지만 그 실체는 없고, 참여자는 좌절하고 있다. 좋아서 시작은 했지만, 어떻게 하면 가치를 발휘할 수 있는지 알려 주지 않는다. 축구 선수는 늘어났지만 클럽이 없다. 운이 좋아 프로 축구단에 소속되면 다행이지만, 일부 개인에게 돌아간 이 요행을 산업 전체에 바랄 수는 없다. 그렇다면 야구가 있음을 알려야 한다. 올림픽을 열어야 한다. 세계 선수권에 나가야 한다. 새로운 종목에 도전해야 한다. 여자 양궁을 찾아야 한다. 쇼트 트랙을 찾아내야만 한다.

업계에 참여하는 개개인 모두가 IT의 미래를 날카롭게 읽어 내어 그 길을 내달리고 또 시장까지 열어 줄 수 있는 성과물을 만들어 주기를 바란다면 이는 욕심이다. 우리는 지금껏 그 욕심 속에서 자책해 왔다. 개인이 내달릴 수 있는 구조가 없는 곳에서, 개인이 움직여 주지 않는다 해봐야 아무 일도 일어나지 않는다.

다행히 구조의 왜곡을 먼저 읽어 내는 이들은 분명 존재한다. 그들은 기업인일수도, 마케터일수도, 에반젤리스트일수도, 블로거일수도, 정책가일수도, 혹은 이 글을 읽는 여러분 일수도 있다. 이 업계의 이 사회의 구조를 바꾸는 일, 우리의 몫이다. 구조 개혁은 어쩌면 길을 먼저 읽어 낸 이들의 책임이다. 미래란 그들이 뜯어 고칠 이 구조의 결과인 것이다. 개인은 구조의 영향을 받지만, 그 구조를 만드는 것은 개인이라는 사실. 이 것이 우리가 지닌 가장 큰 희망이기도 하다. @

Development

당신의 조직은 개발자를 올바르게 관리하고 있는가?

October 15th, 2007

원문 : http://www.zdnet.co.kr/itbiz/column/anchor/hsryu/0,39030308,39162121,00.htm

한국의 많은 소프트웨어 업체들이 개발자를 제대로 관리하지 못하고(또는 안하고) 있다. 소프트웨어 개발은 정신에 의한 작업이다. 누가 하는 가에 따라서, 어떤 동기부여를 하는 가에 따라서, 어떤 환경에서 하는 가에 따라서, 어떻게 관리하는 가에 따라서 엄청나게 다른 결과를 만들어낸다. 

하지만 관리라는 이름 하에 개발자에게 모욕적인 대우를 하는 경우도 많다. 작업에 지장이 있을 정도의 저사양 개발장비를 제공하고, 좁아터진 공간에, 계속 울리는 전화벨과 시끄러운 대화 소리, 휴식공간이라고는 전혀 없는 조직도 많다. 직원들의 일거수일투족을 감시하고, 심지어는 복장 검사를 하는 경우도 있다.

또한 프로젝트 데드라인을 맞추기 위해 새벽에야 겨우 집에 들어갔음에도 불구하고, 출근시간에 몇 분 늦었다고 해서 지각을 체크하고 전체 직원이 모인 회의에서 실명을 거론하는 회사도 있다. 그런 회사일수록 야근수당이 없고 교통비도 지급하지 않으며 사소한 비용을 아낀다. 한마디로 작은 비용을 절약함으로써, 신뢰 상실이라는 큰 비용을 지불하는 것이다.

그런 회사에서 만들어지는 소프트웨어는 품질이 나쁘다. 불행한 개발자들은 품질이 나쁜 소프트웨어를 만들어 낸다. 어쩌면 잠을 못 자고 피로에 지친 개발자들이 내쉬는 서글픈 한숨이 소프트웨어의 영혼에 스며들어 가는 것은 아닐까? 저주받은 소프트웨어. 마치 호러영화의 한 장면처럼 느껴진다.

회사는 직원들을 사랑하지 않으면서, 직원들에게 애사심을 강요하는 회사를 보고 있자면 실소가 나온다. 물론 회사로서는 직원들에게 사랑을 보여줄 수 없는 가장 큰 이유가, 열악한 비즈니스 환경으로 인한 비용적 압박 때문이라고 얘기할 것이다. 백분 양보하여 그것을 인정한다고 할 지라도, 그렇다면 도대체 왜 부적절한 관리자에게 관리를 맡기고 있는 것일까?

나쁜 관리자가 프로젝트를 망치고 있다!
업계를 보면 관리자의 자격이 전혀 없는 사람이 관리를 맡고 있는 경우가 무척 많다. 나쁜 관리의 비용은 엄청나다. 단지 팀 구성원들의 작업에 지장을 주는 정도가 아니라, 조직의 목표 달성에 해악을 미치며 결국 상당한 대가를 치르게 만들고 프로젝트를 완전히 망치는 경우가 빈번하다.

필자는 단지 관리자를 잘못 배정했기 때문에 수백억 원의 손해를 본 어느 대기업의 프로젝트를 경험한 적이 있다. 팀원들은 모두 유능했고 각자의 마음 속에 일을 잘하고자 하는 열정이 있었지만, 관리자의 무능과 변덕과 학대로 인해 팀원들은 모두 좀비가 되어갔다. 일부는 떠났고 일부는 일을 하지 않았고 일부는 하는 척을 했다. 결국 수년간 프로젝트를 진행했으나 결과는 나오지 않았고 프로젝트는 취소됐다. 몇 가지 추가적인 원인이 없었던 것은 아니지만, 가장 주요한 요인은 ‘나쁜 관리자의 존재’ 그 자체였다.

나쁜 관리자는 팀원들이 무엇을 하고 있는지 알지 못하며(또는 관심이 없으며), 팀원들의 능력을 제대로 파악하지 못한 채로, 원칙 없이 업무를 지시하며, 부적절한 인력을 배치하고, 팀원들과 제대로 대화를 나누지 않으며, 펫프로젝트(pet project, 고위층 또는 자신의 개인적인 관심으로 만들어낸 프로젝트)로 인해 업무 우선순위를 마구 바꾸고, 결과가 나와도 잘했는지 못했는지 제대로 판단하지 못한 채 자신의 기호에 따라 결과를 재단한다. 한마디로 그들은 조직의 목표와 팀원의 성장에는 아무런 관심이 없으며 단지 자신의 안위만 생각하는 사람들이다.

그러한 나쁜 관리자의 존재가 지극히 예외적인 경우라고 생각하는가? 만일 그렇다면 당신은 조직 생활의 경험이 많지 않든가, 아니면 억세게 운이 좋은 경우일 것이다. 그런 나쁜 관리자로 인하여 젊은 시절의 소중한 경험을 빼앗기는 팀원들이 몹시 많다. 나쁜 관리자의 해악은 단지 프로젝트의 실패로 나타나는 것뿐만 아니라, 사람들의 인생에서 그 시기에 필히 겪어야 할 소중한 경험까지 앗아가 버리는 것에 있다. 좋은 관리를 받아보지 못한 사람은 좋은 관리를 할 수가 없다.

좋은 관리자가 되기 위한 지침
그렇다면 좋은 관리란 어떻게 관리하는 것인가? 하단과 같이 몇 가지 지침을 제시할 수 있을 것이다.

첫째, 바라는 결과를 명확히 알려주어야 한다. 어떤 관리자들은 자신이 무엇을 원하는지 자기 스스로도 정확히 모르는 채 작업을 지시하고, 팀원의 작업 결과를 그날그날의 기분에 따라 자신의 기호대로 판단하곤 한다. 그런 관리자는 관리자로서의 자격이 없다.

둘째, 위임을 적절하게 수행해야 한다. 어떤 사람의 그릇은 위임할 수 있는 양의 크기로 정해진다. 즉 어떤 사람이 이루어낼 수 있는 최대 성과치는 그가 팀원들에게 권한을 위임할 수 있는 능력에 의해서 결정된다는 뜻이다. 할 일이 너무나 많지만 일할 시간이 없고 혼자서 모든 일을 처리하려고 하는 관리자는 탈진증후군(burnout syndrome)에 빠지게 된다. 그리고 탈진증후군에 빠진 관리자는 결국 팀을 궤멸시킨다.

셋째, 방법보다는 결과에 초점을 맞추어야 한다. 이 말에 오해가 없기를 바란다. 오로지 결과만 중요시하라는 뜻이 아니라, 결과가 올바르다면 방법은 팀원에게 맡겨두라는 뜻이다. 개발자 출신의 관리자는 자신이 선호하지 않은 방법으로 구현을 했다는 이유로 팀원을 질책하거나 업무를 회수하는 잘못을 저지르는 경우가 많다. 그런 관리자는 좋은 결과도 팀원들의 신뢰도 얻지 못할 것이다. 결과가 옳다면 그 방법은 팀원에게 맡겨두는 포용력을 가져야 한다.

넷째, 피드백을 주고, 코칭을 하고, 경력 개발을 지원해야 한다. 피드백이란 해당 직원의 업무 결과에 대해 어떻게 생각하는지 그 내용을 전달하는 것이다. 코칭은 일종의 도움을 주는 것으로서 선택 가능한 사항들 속에서 실행 계획을 만들도록 도와주는 것이다. 그리고 팀원이 새로운 지식과 경험을 쌓음으로써 성장할 수 있도록 경력 개발을 지원해야 한다. 팀원의 경력 개발에 전혀 신경을 쓰지 않은 관리자들이 너무 많다. 그것은 팀원을 일회용품으로 취급하고 있음을 스스로 증명하는 것과 같다. 경력 개발에 도움을 받은 팀원은 관심을 갖고 도와준 관리자를 언제까지나 기억할 것이다.

다섯째, 좋은 관리자는 자기 자신을 관리하는 사람이다. 좋은 관리자는 감정의 폭발에 반응하기보다는 사건에 대응한다. 불필요한 감정을 발산하여 팀원에게 공포심을 조장해서는 안 된다. 만일 감정이 폭발했거나 또는 잘못된 지시를 했다고 판단될 시에는 즉각 솔직하게 인정하고 사과를 해야 한다. 실수를 인정하는 관리자는 인간적으로 보인다.

좋은 관리 방법을 배우기는 힘들다. 왜냐하면 그것은 눈에 잘 보이지 않기 때문이다. 하지만 우리는 그것을 배우고 실천해야 한다. 그것이야말로 업계에 만연된 악순환의 고리를 끊어버리는 유일한 방법이기 때문이다. 우리가 겪은 불행한 경험을 다시금 후배들에게 전달해서는 안 된다.

비록 기술 중심의 소프트웨어 업체라고 할 지라도, 기술 관리란 기술이 아니라 사람을 다루는 것임을 잊지 말아야 한다. 회사가 가능한 범위 내에서 최상의 업무 환경을 제공하고, 개발자 개개인을 세심히 배려하는 피드백, 코칭, 경력 개발을 지원하는 관리자가 있는 조직이라면 개발자는 결코 불행하지 않을 것이며 더 나아가 어려운 일도 기꺼이 극복해 낼 것이다.

하지만 지금 이 순간에도 많은 기업들이 사소한 비용 절감과 무의미한 규칙 준수를 위해 직원들의 신뢰를 잃고 있으며, 나쁜 관리자를 배정함으로써 프로젝트와 팀원의 인생을 망치고 있다. 나쁜 관리자는 개인, 회사, 사회 모두에 악영향을 미치는 존재이다.

반면에 좋은 관리자는 탁월한 결과를 만들어내고 팀원들을 성장시키고 사회 전반에 좋은 인재를 공급한다. 그런 훌륭한 관리자가 어디 흔하냐고 항변하는 기업의 목소리가 들린다. 하지만 기업들이여, 그런 변명보다는 좋은 관리자를 채용하려는 노력, 그리고 양성하려는 노력, 그리고 그가 ‘진짜 관리’를 제대로 수행하였는지 평가하려는 노력을 무엇보다 먼저 기울여야 하지 않을까? @

Gossip