2009년 2월 2일 월요일

개발자는 일자리 구하기 힘들고 회사는 개발자 구하기 힘들고

개발자는 일자리 구하기 힘들고 회사는 개발자 구하기 힘든 현상은 오래된 현상이지만, 요즘 들어서는 더 심해지는 것 같습니다. 이러한 고충을 얘기하는 주변 분들이 많아진 것으로 봐서 확실히 채용 문제가 점점 어려워 지는 것 같습니다.

이와 같은 불일치가 일어나는 원인이야 뻔하죠.
서로의 눈높이가 높기 때문입니다.

개발자는 좋은 직장을 구하기가 어려운 것이고, 회사는 좋은 개발자를 구하기가 어렵습니다.

이중에서 회사의 채용활동에 포커스를 해보려고 합니다.

과거에 한창 거품일 때는 개발자의 "개"자만 붙어도 일단 뽑아갔는데, 쓴맛을 좀 봤죠. 개발자가 다 같은 개발자가 아니라는 것을 알게 되었습니다. 개발자들의 퍼포먼스 차이는 최대 28배까지 난다는 조사도 있듯이 어설픈 개발자 뽑아봤자 해고도 못하고 골치덩어리라는 것을 알게 되었습니다. 그렇다고 좋은 개발자를 뽑기도 어렵습니다. 저도 소프트웨어 개발자 면접을 수백 명 이상 봐왔지만 실력 있는 개발자는 정말 찾기가 어려웠습니다.

또, 기업들은 단기적으로 성과를 낼 수 있는 경력 개발자를 뽑는데만 치중을 해서 채용 구조는 갈수록 왜곡이 되고 있습니다. 누구나 신입 시절이 있는데, 경력만 뽑아가면 신입은 언제 경력 개발자가 될 기회를 잡을 수 있을까요? 이러는 이유 중의 하나가 대부분의 회사가 신입 개발자를 제대로 키울 수 있는 능력조차 없다는 겁니다. 많은 경우 개발자가 알아서 일하면서 배우는 방식이고, 회사의 지원은 사수나 멘토 하나 붙여주고 도재 식으로 하나씩 가르쳐 주는 것이죠. 이 경우 선배와 후배간의 끈끈한 정이야 생기겠지만, 둘다 교육에 많은 시간을 쏟아야 하지만, 정작 가르쳐 주는 것은 그리 많지 않습니다. 

이런 식으로 2, 3세대 거쳐가면 즉, 회사가 7~10년쯤 지나게 되면 회사 초기의 지식들은 대부분 사라지고 개발자 인원수는 늘었으나 각자 또는 팀 별로 각개격파 형식으로 개발을 하고 있는 모습을 발견하게 됩니다. 그럼에도 회사 설립 초기보다는 엄청나게 낮은 생산성과 많은 커뮤니케이션 부재과 제품의 낮은 품질로 고민들을 하고 있죠. 

이러다 보니 그냥 경험 많은 경력사원을 선호하지만, 그렇다고 각개격파 식 개발 방법은 크게 바뀌지 않습니다. 이런 개발방식은 회사의 규모와 생산성이 반비례하기 때문에 더 이상 개발팀의 규모를 키울 수가 없습니다.

이러한 이유로 대부분의 소프트웨어 회사는 성장의 한계에 부딪치게 되는데, 개발자 인원수로 100명 내외를 못 넘기게 됩니다. 물론 이를 훨씬 넘기고 크게 성장한 회사들 중에서도 영업적으로 드라이브해서 덩치만 키워 놓은 회사들이 많습니다. 이런 회사도 결국 한계에 부딪히는 것은 마찬가지죠. 물론 모든 소프트웨어 회사가 덩치를 키워야만 하는 것은 아니지만, 성장을 위해서 덩치를 키워야 하는 회사들의 발목을 잡는 것은 사실입니다.

회사가 채용한 개발자를 제대로 활용하려면, 회사가 제대로 갖추고 있어야 합니다. 회사가 갖춰야 할 것을 한 줄로 표현 할 수는 없지만, 조직, 프로세스, 기반시스템, 개발문화 등을 제대로 갖추고 있어야 합니다. 이것도 회사의 규모와 성격에 알맞게 갖추고 있어야 합니다. 또 이는 개발자 개개인의 몫이라기 보다는 주로 경영자가 해야 할 일이 더 많습니다. 경영자들이 이에 대한 필요성을 깨닫는 것이 먼저 해야 할 일입니다. 

댓글 4개:

  1. 실력있는 개발자를 어떻게 뽑아야 하는지도 저도 궁금하네요. ^^;
    시험을 보고 뽑아도 시험만 잘보는 사람이 있으니.. ㅠㅠ
    개발은 센스가 중요한데요.
    저도 많이는 않했지만 4~6번의 SI를 해보니 랭귀지를 잘해도,
    결국 센스가 없으면 개발 본수가 안나와서 힘든 경우도 많이 봤습니다.

    그리고 개발자 입장으로서 좋은 회사 고르기가 넘 힘들어요.
    막장 SI 파견회사 정규직으로 가는거보다 그냥 프리랜서 하는게 더 속편하니..
    그렇다고 대형SI회사는 면접+시험을 봐야 하니 ..
    제가 아는 실력있고 게으른 개발자들은 그냥 프리랜서를 선호 하더군요.

    답글삭제
  2. 묘재님 안녕하세요.
    실력있는 개발자를 뽑는 것을 설명하자면 칸이 부족하지만, 간단히 요약하면 저는
    1. 개발자의 해당 경력에 적합한 실력을 봅고
    2. Smart하고 Logical한 사고방식을 보고
    3. Coding Test를 합니다.

    흔히들 무슨 프로젝트 해봤냐?고 물어보고 우리회사의 프로젝트와 비슷한 프로젝트를 많이 해봤으면 높게 평가를 하는데, 저는 그러한 Domain지식은 많이 안보고 특히 경력이 작을수록 얼마나 Smart한지를 봅니다. 그리고 경력이 많은 개발자들은 더욱더 까다롭게 봅니다. 소프트웨어 전문가로서 얼마나 넓은 지식과 경험이 있는지 봅니다. 하지만 위로 올라갈수록 요건을 충족시키는 개발자를 뽑기는 더욱 어렵습니다.
    프리랜서로 일하는 것도 좋지만 프리랜서로 오래 일하면 수십 명이서 협업을 하면서 배워야 하는 여러가지 것들을 못익히는 수도 있기 때문에 프리랜서로 일을 한다면 더욱도 다양한 경험을 위해서 노력해야 할 것 같습니다.
    사실 그렇다고 하더라도 우리나라 대부분의 소프트웨어 회사들이 개발자들은 단순히 코딩 실력과 Domain지식과 경험을 위주로 평가하기 때문에 별 문제도 없겠네요. ^^

    답글삭제
  3. 레이님 글에도 공감하지만, 묘재님 말씀에도 심히 공감합니다.
    작년까지 SI 업종에서 오래 근무를 했는데, 실력 있는 개발자들은 프리랜서를 선호하니...
    그렇게 분위기를 만들어 버린 기업들의 잘못도 크지요.

    결론은 개발 문화를 일깨워야 한다는 것. 그런데 문화를 만들기 위해서
    우선 기업 내에서 주류가 된다는 것이 넘기 힘든 벽인 것 같습니다.
    여전히 대부분의 IT 회사에서 엔지니어들이 주류가 되기 힘드니 말입니다 ^^;

    답글삭제
  4. 써니님 안녕하세요.
    저도 묘재님 의견에 공감합니다. 그리고 그 현실이 안타깝죠. 프리랜서 개발자들에게 프리랜서 선호에 대한 의견을 좀 들어 봤으면 좋겠네요.

    답글삭제