2009년 2월 10일 화요일

우리는 당장 써먹을 수 있는 경력 개발자 위주로 뽑아요.

언제부터인가 소프트웨어 개발자를 경력 개발자 위주로 채용하는 것이 일반화 된 것 같습니다.
물론 다른 업계도 마찬가지이지만, 당장 써먹을 수 있는 경력직을 선호하는 것은 사실입니다.

그렇게 경력직 위주로 개발자를 채용하다가 개발팀의 조직 구조가 효율적이지 못하게 변하는 경우를 종종 보게 됩니다. 소규모 개발조직이라면 어떠한 구조라도 별 상관이 없다면 일정 규모 이상의 개발조직은 각 직급별 적정한 분포를 가지는 것이 효율적입니다. 

그럼, 경력 개발자 위주로 채용을 하다가 종종 벌어지는 조직 구조의 변화의 예를 하나 들어 보겠습니다.


진화 단계설명
탄두형회사의 초기에 일반적인 조직 구조 형태입니다.
항아리형신입 개발자보다 경력 개발자를 위주로 채용을 하면서 자연스럽게 아래 부분이 줄어들게 됩니다. 또 아래 계층이 충성도가 부족하여 더 많이 퇴사를 하게 됩니다.
스페이드형항아리형이 점점 심해지면 뒤늦게 개발 조직이 비효율적으로 변한 것을 깨닫고, 신입 직원을 다시 뽑기 시작합니다. 이러면서 조직은 스페이드형으로 변합니다.
오뚜기형다시 정상적인 조직 구조로 바꾸려고 해도 비어있는 중간 계층은 쉽게 메꾸기가 어렵습니다. 즉, 회사를 이끌어가는 초창기 멤버와 고참들과 뽑은지 얼마 안되는 직원들이 개발조직의 주를 이루게 됩니다. 그래서 정상적인 분업이 이루어지지 않습니다. 일은 고참들에게 몰리고, 하층 개발자들은 기대에 못미치는 성과를 내고 있습니다.

여기서 예로든 하부 조직이나 중간 조직이 빈약한 구조가 개발에 전혀 지장을 주고 있지 않다면 특수한 개발 조직이거나 각개격파형 개발조직 구조일 것입니다. 또는 주먹구구이거나요.
대부분의 조직은 각 기능별 계층별로 업무가 나눠지며, 아래 계층의 개발자가 인원수로는 더 많이 필요하게 됩니다. 하지만 그렇지 못한 경우 그러한 Value가 낮은 일까지 고참들이 수행을 해야 하고, 이 과정에서 자연스럽게 이루어지는 교육 및 기술 전달이 이루어지지 않는 악순환이 벌어집니다. 이 과정에서 개발 팀의 생산성은 낮아지게 되고, 미래 전만도 어두워집니다.

그럼에도 불구하고 경력개발자만을 위주로 채용하는 이유는 여러가지가 있습니다.
  • 단기적인 이익을 내려는 경영층의 조급증
  • 신입 개발자를 채용해도 효과적으로 교육시킬 수 있는 교육 시스템 부재
  • 3,4년 미래도 내다보지 못하는 HR Plan
  • 주먹구구 식으로 개발을 하고 있기 때문에 체계는 필요 없고, 무조건 경험 많고 능력 있는 개발자만 필요한 경우
이미 회사를 위해서 오랫동안 헌신한 개발자들이 개발은 잘하고 업무관련 지식은 뛰어난데, 소프트웨어 전문가로서는 턱없이 모자라는 경우가 흔합니다. 오랫동안 각개격파식으로 혼자서 북치고 장구치고 하는 식으로 개발들을 많이 해왔기 때문에 이런 일들이 일어납니다. 이경우 이러한 고참 개발자들이 다른 회사로 이직을 할 경우 그 가치가 현저히 떨어지는 경우가 많습니다. 전문가로서의 역량은 부족하기 때문입니다. 자칫하면 이러한 공신들이 희생될 수도 있고, 골치덩어리가 될 수도 있습니다.

그러면 어떻게 해야 할까요? 

적어도 개발자를 채용할 때는 오늘 당장 필요해서 뽑는다는 생각만 가지고 채용하는 것은 위험합니다. 적어도 몇 년을 내다보는 채용 계획이 있어야 합니다. 그리고 계획에 따라서 항상 채용을 위한 노력을 기울여야 합니다. 그리고 이미 채용한 개발자와 미래에 채용할 개발자들의 경력 개발 계획을 갖추고 있어야 합니다. 이것만 따로 돌아가는 것이 아니고 회사의 개발 프로세스와 조직 등 모든 것이 맞물려 돌아가야 개발자도 성장을 하면서 자연스럽게 생산성이 높은 조직을 유지할 수 있게 됩니다. 사람에서 사람에게로 고참에서 신참에게로 기술과 지식이 전달되고 조직이 계속 성장하려면 기반시스템, 개발문화가 필수적입니다. 전혀 체계가 없는 개발조직이라면 지금이라도 하나씩 갖춰나가는 수 밖에는 없습니다

이것을 해결할 끝내주게 좋은 방법은 없습니다. 가장 효율적인 것부터 찾아서 하나씩 바꿔나가는 겁니다.

댓글 6개:

  1. 제가 경력 8년차 인데요. 저희 팀에 막내 입니다. ㅠㅠ;
    신규 인력은 안뽑는데다가 요즘 IT로 오는 인력이 없다보니 이바닥도 노령화가 되가는 추세네요.
    특히 경력자만 사랑하는 금융권은 더욱 심합니다.
    덕분에 좀더 오래 남아서 개발 하겠지만..
    설계를 하고 싶어도 코더가 없다보니 설계+개발을 병행해서 해야 하는 업무 과중...
    결국 야근으로 이어지는 악순환..

    전엔 5명(중급2명, 초급3명)이 하던 플젝이였다면
    요즘엔 중급3이 5명의 몫을 하고 있습니다.

    거기에 단가는 고정이죠.. 젝일~!

    답글삭제
  2. 묘재님 안녕하세요.
    묘재님 같은 경우가 이 바닥에서 워낙 흔하게 벌어지고 있습니다. 8년차가 막내라면 좀더 심하네요. 이경우는 항아리형에서 개선을 한 것이 아니라 좀더 심해져서 허공에 뜬, 즉 공중부양 항아리형이 되었네요. 이런 조직은 다시 바로 잡는데도 시간이 많이 걸립니다.

    묘재님같은 경우는 경력은 고참인데, 일은 신참, 고참일 가리직 않고 북치고 장구치고 다해야 하겠네요. 이럴 때 자칫 업무에만 매달려서 현재 수준에 머물러 있을 수 있는데, 스스로 소프트웨어 전문가가 되기 위해서 노력을 많이 하는 것이 좋겠습니다. 제가 하는 세미나에는 HR관련 내용이 있으므로, 원하시면 제가 묘재님 회사에서 강연이나 세미나를 해드릴 수 있습니다.
    감사합니다.

    답글삭제
  3. 회사의 사세가 계속적으로 커지지 않는 이상, 그리고 중고급 개발자들이 나가지 않는 이상 신규채용을 해서 인력구조를 저렇게 유지한다는 건 사실상 불가능하죠.

    관리상으로는 피라미드 구조를 유지해야 할텐데 일을 편하게 하려면 중고급 개발자들이 더 많은 역피라미드가 좋고... 말씀하신것 처럼 2~3년 앞을 보고 회사의 형편에 맞도록 인력관리를 하는 것이 중요해 보입니다.

    다만 영세한 개발업체의 경우에는 당장 이번 프로젝트를 성공시키느냐 마느냐가 회사를 문닫느냐 마느냐의 갈림길이 되기 때문에 현실적으로 2~3년 앞으로 보고 구인계획을 세운다는 건 무리라고 봅니다. 이런 곳은 소수정예의 올라운드 플레이어를 원할 뿐이죠. (하지만 임금은 그렇지 않고...)

    답글삭제
  4. 우울한 딱따구리님 안녕하세요.

    사실, 영세업체, 당장 월급이 문제인 회사, 또는 아주 소규모 회사, 이런 회사들은 계획을 세운다는 것이 불가능하죠. 이런 회사는 비즈니스 계획도 세우기가 힘들죠.
    일단 정상적인 성장을 하고 있는 어느 정도 규모가 있는 회사라야 HR 계획을 세울 수 있겠죠.

    그리고 우울한딱따구리 말씀대로 고참개발자들이 아무도 회사를 나가지 않고, 회사는 성장도 하지 못하고 있다면 정말 문제네요. 개발자들의 연봉은 계속 올라가서 비용은 점점 더 많이 드는데, 매출은 제자리이고, 개발자들이 생산성은 증가하지 않는다면, 어려운 상황이네요. 개발자들은 어느정도 회사를 옮겨 다녀서 각 업계에서 서로 배운 지식들이 퍼져나가고 공유가 되면서 서로 발전을 하는데, 왠지 대부분 단절되어서 일을 하고 있다는 생각이 듭니다.

    그리고 소수정예 올라운드 플레이어가 단기적으로는 좋아보이지만, 상당히 리스크가 큰 방법입니다. 일단 그 소수정예 인원이 퇴사를 하면 큰 문제입니다 이것 자체가 리스크이죠. 그리고 고급인력이 누구나 할 수 있는 간단한 일까지 수행해야 합니다. 이렇게 소수 인력에게 의존도가 너무 높은 것은 큰 리스크입니다. 조직의 시스템이 이 리스크를 어느 정도 덜어 내야 합니다.

    답글삭제
  5. 저도 몇년을 내다보고 신입을 뽑아서 교육시킨다는 것이 아주 이상적이라고 생각합니다만 현실에서는 참 쉽지가 않습니다. 당장 할일이 쌓여 있는데 신입 뽑는 다는게 회사 입장에서는 쉽지 않죠. 개인적으로나 산업적으로 생각해 보면 이상적인데 회사의 현실에서 보면 전혀 이상적이지가 않습니다. 경기나 좋으면 모를까 가뜩이나 경기도 안좋아 회사의 존폐가 걸린 상황이라면 더 그렇겠죠. 이 간격을 어떻게 줄여야 할까요...

    답글삭제
  6. Jake님 안녕하세요.
    너무 이분접적으로 생각하기보다는 평소에 채용에 대해서 얼마나 준비하고 항상 대비하는지 생각해보면 별 생각이 없는 관리자들이 대부분입니다. 채용은 관리자들의 중요함 미션중에 하나인데 말입니다. 당장 이번달에 개발자가 필요하면 그때서야 부랴부랴 뽑는 것이 태반이죠. 이런 상황이라면 뭐 생각할 것도 없는 것 같습니다.
    그리고 회사의 구조가 이미 경력자 위주로 각개전투식으로 일을 하고 있다고 하면 이제부터 신입을 뽑자는 주장은 어려울 것 같습니다.
    또, 회사가 존폐의 위기 상황이라면 백약이 무효죠.
    회사가 이미 시스템적으로 동작을 하고 있고, 기존의 개발자들이 성과를 잘 내고 있으며 성장을 하고 있는 회사여야지 HR에 대한 계획이 가능합니다.

    이도저도 아닌 상황이라면 일단 회사의 체질 개선이 우선이겠죠. 그렇지 않으면 신입개발자 뽑아다가 별로 써먹지도 키우지도 못하니까요.

    답글삭제