컴퓨터
06/04/07 23:25(년/월/일 시:분)
SW 개발자들이여, 람보가 돼라. - 소만사 대표, DevDays 2006 기조연설 중에서
http://itviewpoint.com/tt/index.php?pl=1348
“SW 개발자들이여, ‘람보’가 돼라”? - 현실에 람보는 없다
http://www.jreference.com/blog_kr/?p=82
이 문제에 대해서, 최근 읽고 있는 책이 도움이 될 것 같아 소개하고자 한다.
|
프로젝트 데드라인 (2003년) - 한빛미디어(Microsoft) |
'프로젝트 데드라인(Under pressure and on time)은 개발자가 아니라 프로젝트 매니저의 입장에서 쓴 책이다. 어떻게 하면 갖가지 압력 속에서 데드라인에 맞춰 좋은 소프트웨어를 만들 것인가, 하는 것을 풍부한 경험을 바탕으로 간추린 실용 서적이다.
뭐 이런 종류의 책이 늘 그렇듯 흥미롭긴 하지만 사실 그렇게 도움이 되는 건 아니다. 나도 반은 심심풀이로 읽고 있지만, 그래도 간혹 가다가 정말 경험에서 우러나오는 말이 툭툭 튀어 나오기에 조금 소개하고자 한다.
경험 사례
우리는 반 농담 삼아 누메가의 직원들을 신, 신에 가까운 사람, 신이 되려고 하는 사람으로 나누어 부르곤 했다. 모든 직원이 최소한의 업무 수행 능력을 가지고 있었으며, 그 중 대부분이 뛰어난 재능을 가지고 있었지만, 모든 사람이 회사에 똑같은 수준으로 기여하지는 못했다.
- 4장, 서열과 문화 중에서 (85페이지)
개발자의 입장에서는 받아들이기 싫겠지만, 매니저의 입장에서 좋은 개발자와 나쁜 개발자가 갈리는 것은 사실일 것이다. 그 중에서 잘 하는 사람을 쓰고 싶고, 못 하는 사람은 빼고 싶은 것이 사람 마음 아닐까?
물론 못 하는 사람이라고 실력이 없는 것은 아니고, 그런 사람도 있어야 프로젝트가 돌아가기 때문에 다 감싸안아서 팀을 운영해야 겠지만, 최소한 잘 하는 개발자와 못 하는 개발자를 다르게 관리할 필요는 있을 것이다.
서열을 정하는 법
우선 서열은 간단하게 운용되어야 한다. 서열을 정하는 방법을 고민하는데 쓸데없이 힘을 많이 빼거나 시간을 지나치게 낭비하고 싶지는 않을 것이다. 필자는 직원들의 서열을 정할 때 사람들을 세 가지로 분류하는 것이 가장 간단한 방법임을 발견했다. 그 세 가지는 핵심 그룹, 중간 그룹, 외부 그룹이다.
핵심 그룹
회사에 가장 중요한 사람들은 핵심 그룹으로 분류된다. 능력 있는 관리자나 리더라면 누가 팀에 가장 많이 기여하고, 누가 어려운 상황을 잘 극복할 수 있는지 잘 알고 있을 것이다. 여러분은 이 사람들의 힘을 빌려 제품을 만든다. 그들은 장기적인 성공에 반드시 필요한 사람들이므로, 누구인지 파악하고 보상해야 마땅하다.
일반적으로 핵심 그룹으로 분류된 사람들은 가장 상급자이고, 가장 능력이 있으며, 가장 믿을만한 팀원이다. 그들은 간부 회의에 참여하여 전략이나 제품 방향 그리고 회사의 다른 중요 문제들에 대해 논의하며, 직무에 대한 리더십과 탁월한 기술력을 발휘한다. 또한 가장 필요할 때 큰 일을 해내며, 제품 출시를 책임지고, 성공을 위해 열심히 노력한다. 과거에 그래왔듯이 앞으로도 맡겨진 일을 모두 수행해낼 것이다.
중간 그룹
중간 그룹은 주목받는 신예들로 구성된다. 이 사람들은 핵심 그룹에 속해 있는 사람들만큼 재능이 있거나 많은 기술을 가지고 있지는 않지만, 프로젝트의 성공에 매우 중요한 역할을 한다. 또한 일반적으로 핵심 그룹만큼 많은 경험을 가지고 있지는 않지만, 많은 열정과 흥미, 잠재적인 성장성 그리고 훌륭한 태도를 보인다.
중간 그룹은 업무를 제대로 수행해내지만 기대 이상의 성과를 올리는 사람들은 아니다. 꾸준하고 빈틈이 없으며 일관적이지만, 뛰어나지는 않다. 제품의 출시는 그들 손에 달려 있기는 하지만, 프랜차이즈(franchise) 선수만큼의 수준은 아니다.
외부 그룹
외부 그룹은 회사에 새로 들어오거나 기대만큼 충분히 업무를 수행하지 못하는 대다수의 사람들로 구성된다. 그들은 얼마나 일을 잘 수행하는지와 상관없이 중요한 업무에서 배제된다. 또한 회사의 핵심 인재가 되기 위한 준비 기관과 자신의 능력을 다른 사람에게 입증할 수 있는 시간을 필요로 한다.
외부 그룹은 상대적으로 교체하기 쉬운 사람들로 구성된다. 그들이 회사를 떠나더라도, 회사의 장기적인 성공에는 별다른 영향을 미치지 못할 것이다.
-4장, 서열과 문화 중에서 (82~83페이지)
이렇게 볼때 관리자의 입장에서 사람이 부족하다는 얘기는 항상 나올 수밖에 없다. 물론 그들이 필요한 건 외부 그룹이 아니라 최소한 중간 그룹일테고 가능하면 핵심 그룹일 테지만.
이 책의 뒤에서 언급되지만, 핵심 그룹을 붙잡아 놓기 위해서는 충분한 보상을 해주어야 한다고 한다. 그러기 위해서는 금전적 보상만이 아니라 그 개발자가 더 성장할 수 있는 회사 문화를 만드는 것도 필요하다고 한다. 즉, 일부 뛰어난 개발자를 붙잡아놓기 위해서 회사 문화를 개혁할 필요까지도 있다는 것이다! 와 대단해
이런 맥락에서 볼때 소만사 대표의 "SW 개발자들이여, 람보가 돼라"는 발언은, 핵심 그룹에 속하는 개발자가 되라는 의미로 보인다. 회사에 들어와서 공부할 시간은 없을테니까, 그 전에 미리 공부해서 오라는 말이겠지.
모든 개발자가 핵심 그룹에 속할 수는 없을 것이다. 설령 아무리 우수한 개발자만 모아놓는다 하더라도, 그 안에서 또다시 그룹이 갈릴 것이다. 이것은 상대적인 문제다. 그런 이유로, 이것은 어디까지나 관리자의 입장에서 하는 말이다.
개발자의 입장에서는 아무리 노력해도 극복할 수 없는 재능의 한계가 분명히 있을 것이다. 그리고 어쩌면 자기는 아무리 노력해도 외부 그룹에 속할수밖에 없는 운명을 타고난 개발자도 있을 것이다. 그런 사람에게 위와 같은 "람보가 돼라"는 말을 해봤자 소용 없겠지만, 혹시라도 가능성은 있는데 아직 성장을 덜 한 개발자의 경우에는 이런 말이 조금은 효과가 있을지도 모르겠다.
하여간 위 발언은 틀린 말은 아니지만, 개발자 세미나의 기조연설로는 여러모로 부적절했던 것이 사실이다. 관리자 세미나였다면 모를까. 재능 없는 개발자들의 의욕을 꺾기에 충분했다. 팀을 관리하려면 재능 없는 사람도 필요하기 마련인데 말이다.