한국에서 SW 개발자가 성공하지 못하는 세가지 이유

Programming/Etc 2007. 7. 14. 14:02
소프트웨어 개발자 직종에 대한 회의론적인 얘기가 여기저기에서 들린다. 한때 IT 붐이 일었을 때는 많은 사람들이 개발자를 지망하기도 했다. 하지만 최근 상황을 보면, 신규 유입되는 인력이 아주 적은 편이다. 요즘 젊은이들은 영악해서 이 직종에 비전이 없다는 것을 너무나 잘 알고 있다.

신참 인력뿐만 아니라 고급 인력도 많이 부족하다. 현재의 사회 풍토에서 고급 인력으로 성장하는 것은 결코 쉬운 일이 아니기 때문이다. 그저 사회가 제시하는 길을 따라가다가는 고급 인력이 되는 것이 아니라 퇴출된다.

필자의 경우를 보면, 필자는 정말 프로그래밍이 좋아서 시작한 8비트 키드이다. 중학교 1학년 때 처음으로 컴퓨터를 알게 된 이후로 한시도 컴퓨터와 떨어진 적이 없는 소위 컴퓨터광(geek)이다. 하지만 대학 졸업 후 사회에 나와 첫 직장인 SI 업체에서 일하면서 몇 번이나 눈물을 흘렸다. 이후 프리랜서, 개인회사 창업, 벤처기업, 중소기업, 대기업, 외국계 기업을 두루 걸치면서 현재까지 겨우 살아남을 수 있었다.

만일 그런 인생의 순간순간에서 이를 악물고 분발하지 못한 채 끈을 놓아버렸다면 어땠을까? 정말 아찔한 생각이 든다. 특유의 헝그리 정신으로 인해 겨우 버텼으며 성격도 많이 변했다. 그간 필자 자신 그리고 선배, 동료, 후배들을 보면서 느꼈던 생각을 정리해서 개발자가 성공할 수 없는 이유 세 가지를 꼽아 보았다.

SI 중심의 왜곡된 업계 구조

첫 째, 업계 구조가 SI 중심으로 왜곡되어 있다. 국내의 소프트웨어 산업은 패키지나 솔루션 비즈니스가 제대로 작동되지 않는 상태에서, 대기업 중심의 SI 업체들이 시장을 차지하고 있다. 그 과정에서 산업의 혈액 순환이 잘 되지 않아, 대기업만 돈을 벌뿐 중소기업들은 협력 업체라는 미명 하에 근근이 먹고 살고 있는 형편이다. 통계에 따르면 전체 매출의 80% 이상을, 그리고 영업 이익의 90% 이상을 대기업 계열 SI 업체 상위 3개사가 가져가고 있다.

SI는 소프트웨어 산업을 구성하는 한 가지 요소일 뿐이지만 국내에서는 거의 SI 밖에 없는 수준이다. 그런 상태에서 빅3업체가 모든 것을 가져가고 있으며, 산업 전반에 하청 및 재하청에 따른 죽음의 순환 고리를 형성하고 있다. 그런 생태 구조에서 개발자는 단지 머리 수에 불과할 따름이다. 또한 전문적인 지식에 대한 가치 판단이 제대로 이루어지지 않고 있기 때문에, 소프트웨어 아키텍처까지도 비전문가에게 맡겨지는 경우가 많다.

SI 중심의 산업 구조, 그리고 전문가에 대한 평가 체계가 없고 단지 머리 수에 의해 개발자에 대한 판단이 이루어지는 상황에서 개발자의 성공 사례는 나올 수 없다. 대기업의 협력 업체에서 일하는 많은 개발자들이 과중한 업무로 인해 참다못해 전업을 하거나 건강이 나빠져서 자의반 타의반 일을 더 이상 할 수 없게 되곤 한다. 그러한 이유 때문에 많은 개발자들이 스스로를 막장 인생이라고 표현하고 있다.

엉성한 개발자 관리
둘째, 소프트웨어 업체들이 개발자를 제대로 관리하지 못하고 있다. 소프트웨어 개발은 멘탈(mental) 작업이다. 인간의 정신에 의해 결과물이 만들어지고 그것이 성공과 실패를 좌우한다. 하지만 국내 대부분의 소프트웨어 업체들은 그러한 멘탈 작업에 적합한 업무 환경을 제공하지 못하고 있다. 또한 커리어 관리도 이루어지지 않고 있다. 물론 실적에 대한 보상도 미비하다.

개발자들에 대해 출퇴근 시간을 정확하게 체크하고(아니, 출근시간을 지키는지 체크하고 퇴근시간은 얼마나 늦는지 체크한다), 집중할 수 없는 시끄러운 환경을 제공하고, 업무 실적의 가치를 제대로 평가하지도 못한다. 심지어 복장 점검을 하기도 한다. 또한 요즘 개발자들은 전문적인 교육은 고사하고 일일 세미나에 참석하는 것도 어려운 형편이다. 많은 기업들이 최소한의 투자조차 기피하고 있기 때문이다.

그것은 중소기업은 말할 것도 없고 소위 초일류 기업을 지향한다는 대기업도 마찬가지이다. 열악한 업무 환경을 제공하면서 성과에 있어서는 최고의 아웃풋을 강요한다. 개발 환경만 제대로 제공되지 못하는 것이 아니라 관리도 제대로 안되고 있다. 부적절한 관리자들이 개발자를 정신적으로 학대하고 있다. 소프트웨어 개발자로서 생존하기 위해서는 사회 구조적 환경, 그리고 기업문화와 싸워야 한다. 많은 선배 개발자들이 그런 생존을 위한 싸움에서 졌고 결국 사라져 갔다.

개발자들의 스킬 부족과 닫혀진 태도
셋째, 끝으로 개발자들의 커뮤니케이션 스킬 부족과 태도 문제를 지적하지 않을 수 없다. 이 문제는 한국적 기업문화(상명하복)와 결합하여 더욱 복잡한 문제를 야기하고 있다. 개발자들은 특히 다른 직종에 비해 성격이 까칠한 경우가 많다. 자신만의 지식과 세계가 있기 때문에 그것이 전부라고 우쭐한 채로, 다른 개발자나 다른 직종을 존중하지 못하는 사람들이 꽤 많다.

하지만 “타인이 원하는 것에 대해 관심을 갖지 않는 사람”은 인생의 가시밭길을 걷게 된다. 그런 태도는 타인과의 협업을 어렵게 하고 결국 자기 자신이 원하는 것도 얻지 못하게 한다. 젊은 시절에는 그런 태도에도 불구하고 큰 문제가 없을 수 있겠지만, 30대 중반이 넘을 때까지도 태도를 변화시키지 못할 경우 이후에 많은 고난을 겪게 된다. 그것은 이미 인간의 역사에서 증명된 삶의 법칙이다.

똑똑하고 샤프한 개발자들은 종종 있다. 하지만 타인의 관심사에 진정으로 주의를 기울이고 타인에게 친절한 마음을 가진 개발자를 만나기란 참으로 힘들다. 이것은 다른 직종도 마찬가지이겠지만 (개발자 출신인 필자가 볼 때에는) 개발자들의 세계에 유독 이런 까칠함과 폐쇄성이 심하다.

물론 그런 독불장군적 태도가 단지 개발자들의 탓만은 아닐 것이다. 많은 개발자들이 피해 의식을 갖고 있으며 그것이 타인에 대한 공격적 태도로 나타나기도 한다. 사회적 환경의 미비, 그리고 커뮤니케이션 스킬이 부족한 개발자들. 이 조합이 더욱 안타까운 결과를 만들어낸다.

추가적으로 언급할 점은, 혁신해야 할 여러 가지 네가티브한 요인에도 불구하고 개발자들끼리 잘 뭉치지 못한다는 사실이다. 외국과 달리 개발자 커뮤니티의 활동이 많지 않다. 물론 JCO(자바 개발자 커뮤니티), SCA(소프트웨어 커뮤니티 연합) 등 개발자들의 모임이 없는 것은 아니지만 가끔 오프라인 모임이나 컨퍼런스를 개최할 뿐, 별다른 ‘사회 변혁적 활동’을 구현하지는 못하고 있다. 개발자들의 실상을 알리고 대안을 마련하고 정부나 기업들과 접촉을 하고 해외에 진출하고 창업을 하는 등의 좀 더 적극적으로 행동하는 것이 필요하다.

아마도 필자의 이런 글에 대해 그저 현실에 대한 비판에 불과하다고 얘기하는 이도 있을 것이다. 하지만 대응 방안을 마련하기 위해서는 먼저 냉정하게 현실을 정리하지 않을 수 없다.

요약해보자. 대기업 계열사들이 장악한 SI 위주의 산업 구조에서 개발자들은 성장하지 못하고 성공하지 못한다. 이런 사회 풍토에서 과연 존경 받거나 성공한 개발자들이 얼마나 되는가? 또한 많은 소프트웨어 업체들의 기업 문화가 후진적이다. 제대로 된 업무 환경을 제공하지도 못하면서 프로젝트 관리도 안 된다. 그러면서 성과에 대해서는 초일류를 원한다. 이율배반적이다.

개발자들의 태도 문제도 있다. 환경을 바꾸지 못하면 자기 자신을 바꾸어야 한다. 개발자 스스로 그런 인식을 가져야 한다. 피해의식에 사로잡혀 있는 것만으로는 삶이 억울하지 않은가? 개인적으로 커뮤니케이션 스킬을 향상시키고 타인에 대해 친절한 태도를 갖추는 인간 수양이 필요하다. 그리고 동료 개발자들과 함께 변혁을 위해 협업하고 개척해나갈 부분이 있다는 것을 알고서 행동해야 한다.

왜곡된 업계 구조 속에서 가만히 있으면 퇴출될 뿐이다. 우리에게는 행동이 필요하다. 이후의 컬럼에서 하나씩 대응 방안을 다루어보도록 하겠다.

출처 : ZDNet Korea - 류한석(IT 컬럼니스트)
    

설정

트랙백

댓글

예의 바른 소프트웨어의 특성

Programming/Etc 2007. 4. 10. 23:54
요즘 전철을 오가며 읽고 있는 앨런 쿠퍼의 “정신병원에서 뛰쳐나온 디자인”을 보고 있는데 지옥철 2호선을 오가는 지라 하루에 10장 읽기도 어렵다. 그 본문 중에 예의 바른 소프트웨어의 특성에 관한 이야기가 나온다.

우리가 당연하게 받아들이고 있는 여러 가지 소프트웨어의 문제점들에 대한 이야기들이 나오는데 소프트웨어를 만든 사람으로서는 실용적이지 않은 귀찮은 질문들을 수없이 던지는 기능적인 요소들이 사용자에게 선택의 기회를 주었다고 생각하지만 사용자로서는 그다지 환영하지 않으며 선택의 여지들을 제공받는 것은 충복이 아니라 고문에 가깝다는 이야기가 나온다. 이러한 것들은 앨런 쿠퍼가 이야기 하는 무례한 소프트웨어다.

사실 이런 경험들은 무수히 많이 있다. 하루에도 수십 번씩 파일을 삭제할 것이냐, 프린트를 정말 할 것이냐, 창을 닫을 것이냐, 프로그램을 종료할 것이냐와 같은 메시지 창을 확인하게 되는데, 이러한 훈련 과정에는 대부분의 사람들은 자신의 어떤 행동에 대한 메시지로 인식하고 꼼꼼하게 읽고 확인하지 않는 듯 하다.

이런 바람직하지 않은 사용자의 훈련으로 그러한 소프트웨어의 무례한 행동에 대해 별로 거부감을 느끼지 않으며 그것이 잘못된 행동이든 잘 된 행동이든 무의식적으로 결정권을 컴퓨터에게 넘겨버린다.

물론 이러한 안내문이 없이 파일을 삭제하거나 덮어버릴 수 있는 여지도 다분히 있지만 안내창의 일련의 행동에 학습된 사용자가 과연 그것을 보고 삭제를 포기하거나 덮어쓰기를 취소하는 경우가 얼마나 있을까 하는 의구심이 든다.

예의 바른 소프트웨어의 특성
1.    나에게 관심을 갖는다.
2.    나에게 공손하다.
3.    사근사근하다.
4.    상식이 있다.
5.    내가 필요로 하는 것을 예측한다.
6.    빠르게 반응한다.
7.    자신의 개인적 문제에 대해 떠벌리지 않는다.
8.    정보에 밝다.
9.    통찰력이 있다.
10.    자신감을 갖고 있다.
11.    집중력을 유지한다.
12.    유연하게 대처한다.
13.    즉각적인 만족을 제공한다.
14.    신뢰할 수 있다.

책 에서도 이야기 했지만 이러한 무례한 소프트웨어의 행동들은 더 많은 문제점을 미리 예방하는 차원에서 행해지는 경우가 대부분일 듯 싶다. 나 또한 어떠한 기능적인 요소들에 대해서 작업을 진행할 때는 이보다 더 무례하고 돌이킬 수 없는 잘못을 사용자 탓으로 돌리기 위한 술책(?!)을 강구하는 편이다.

앞으로 어떠한 방향으로 소프트웨어가 변화해 갈지는 시대의 흐름에서 이미 밝혀진 것 같다. 하지만 그것을 구현하고 설계하는 것이 사람인 만큼 사람과 사람의 이해가 선행되지 않고서는 예의 바른 소프트웨어의 모든 요소들을 충족할 수 있는 소프트웨어는 나타날 수 없을 듯 싶다.
사용자 삽입 이미지
블로그에 추가한 사용자 방문 카운터



    

설정

트랙백

댓글

  • 하얀별 2007.04.11 15:07 신고 ADDR 수정/삭제 답글

    소프트 웨어도 예의가 있군요!! ^^:::

  • 미디어몹 2007.04.12 17:45 ADDR 수정/삭제 답글

    Jasu 회원님의 포스트가 미디어몹 헤드라인에 링크되었습니다. 다음 헤드라인으로 교체될 경우 각 섹션(시사, 문화, 엔조이라이프, IT) 페이지로 옮겨져 링크됩니다.