본문 바로가기
자기계발,소양관리

[개발/자기경영] 자신을 진화시키고 환경을 만들어내는 개발자

by SB리치퍼슨 2014. 4. 10.


어느 분야를 막론하고 경력이 쌓여갈 동안 매년 같은 일만 반복하는 해위를 하지 않으려고 노력해야 

보다 더 나은 경력과 연봉, 지식, 명예가 따르기 마련이다.





PAR-TIC-I-PA-TION, or 37 pieces of library flair (also a 365days shot)
PAR-TIC-I-PA-TION, or 37 pieces of library flair (also a 365days shot) by cindiann 저작자 표시비영리동일조건 변경허락





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

자신을 진화시키고 환경을 만들어내는 개발자

류한석 (IT 컬럼니스트)   2007/12/10

 

지난 컬럼에서 살펴본 개발자 관리의 문제점 및 좋은 관리 지침에 대해 독자들의 많은 피드백이 있었다. 그만큼 관리가 제대로 되고 있지 않다는 실증일 것이다. 올바른 관리의 밸런스를 갖추는 것은 쉽지 않다. 통제에 집착한 나머지 '관리를 위한 관리'를 하게 되거나, 리소스 부족 또는 자율에 집착한 나머지 방임을 하게 되는 경우가 많기 때문이다.

또한 이러한 잘못된 관리의 근원적인 문제는 곧 시스템의 문제라고 볼 수 있다. 단지 관리자 개인의 철학과 도덕성만으로는 어쩔 수 없는 조직문화, 그리고 조직의 프로세스로부터 엄청난 영향을 받기 때문이다. 사실, 조직문화와 시스템의 문제는 일개 개인이 어떻게 할 수가 없다. 시스템에 반발하면 퇴출당하거나 스스로 나가야 할 뿐이다.

이에 대해서는 필자 스스로 여러 기업들을 전전하면서 가슴 절절하게 느낀 부분이다. 그러므로 관리자들은 조직문화에 맞추어서 그리고 시스템을 위배하지 않는 가운데에서 자신의 관리 철학을 구현하려고 노력해야 할 것이다. 이것이 관리자를 위한 애정 어린 조언이다.

시스템을 바꿀 수 없다면 자신을 바꿔라
그렇다면 개발자 개개인은 어떻게 해야 할까? 많은 개발자들이 사회 환경과 조직 시스템에 대해 불만이 많다. 하지만 자신이 권한이 없다면, 사회와 조직은 바꿀 수 없다. 그것에 반발심을 가진 채로 자신에게 맞는 노력을 하지 않는다면, 마치 사춘기 소년이 트라우마를 안겨준 부모에게 반항한 나머지 자신의 인생을 망가뜨리는 것처럼 개발자 자신의 삶도 망가질 뿐이다.

조직은 개발자의 경력관리를 해주지 않는다. 이점은 불변의 진리이다. 정말 잘못된 일이지만, 현실을 보면 많은 회사들이 직원을 "달면 삼키고 쓰면 뱉는 일"이 빈번하다. 그러니 사람들이 생존의 욕구에 집착한 나머지 자아실현은 엄두도 내지 못하고 있는 것이 아닐까? 생존조차 쉽지 않은 것이 이 사회의 현실이다. 더군다나 개발자 직종에 몸담고 있다면 삭막한 현실은 몇 배 더 증가한다.

사회에서 성공한 선배 개발자(그 성공의 기준이 돈이든 명예든 자아실현이든)를 찾아보기가 참으로 힘들다. 물론 그것의 가장 큰 이유는 바로 업계 풍토 때문인데, 그것에 대해서는 이미 두 차례에 걸쳐서 컬럼을 쓴 바 있다. 업계 풍토는 서서히 변하거나 변하지 않는다. 개발자 개인이 바꿀 수 있는 것은 단기적으로는 단지 자기 자신뿐이다. 그렇다면 개발자 개인이 갖추어야 할 주요 역량에는 어떤 것들이 있는지 살펴보자.

개발자 개인이 갖추어야 할 주요 역량
첫째, 주변 상황과 인간의 역학관계를 이해하고 교류하는 커뮤니케이션 스킬이다. 많은 개발자들에게 있어 가장 부족한 역량이 바로 이것이다. 혹자는 이렇게 말한다. 개발자들은 그 특성상 커뮤니케이션 스킬이 부족할 수밖에 없고, 외국에서는 그것을 인정해주는데 한국에서는 왜 그렇지 않냐고. 실제로 소프트웨어 강국들을 보면, 개발자들에게 개발에만 집중할 수 있는 환경을 제공해주며 멀티플레이어 역할을 원하지 않는다. 하지만 한국은 소프트웨어 강국이 아니다! 또한 아무리 개발자를 대우하는 외국에서도 성공하는 개발자들은 커뮤니케이션 스킬이 뛰어난 사람들인 경우가 많다.

이 점을 간과해서는 안될 것이다. 커뮤니케이션 스킬은 개발자가 노력해서 갖추어야 하는 것이며 그것을 폄하해서는 안 된다. 개발자들과 함께 일해본 기획자들은 개발자들의 커뮤니케이션 문제점에 대해 지적하는 경우가 많다. 그들은 개발자들의 커뮤니케이션 태도가 닫혀있고, 어려운 용어를 남발하며, 대세에 영향을 미치지 않는 사소한 문제에 집착하고, 타인의 요구에 대해 관심을 가지지 않는다고 필자에게 하소연하곤 한다. 개발자 출신인 필자가 보기에도 그런 개발자들이 많다는 것을 인정하지 않을 수 없다.

물론 그러한 캐릭터가 바로 개발자이다. 그렇기 때문에 하루 종일 모니터를 바라보며 코딩의 세계에 빠져있을 수 있는 것이다. 하지만 만일 고도의 집중력를 발휘할 수 있는 캐릭터의 특성을 유지하면서 또한 타인과의 커뮤니케이션 스킬에 있어 조금의 향상이라도 가져온다면, 더욱 더 개발을 잘 할 수 있는 환경을 얻게 될 것이다. 즉 코딩을 더 잘하기 위해 커뮤니케이션 스킬이 필요한 것이다. 좋은 커뮤니케이션 스킬은 좋은 환경을 만들어 준다. 만일 데일 카네기의 책 한 권 읽어본 적이 없다면 지금 당장 인터넷 서점에서 구매하기 바란다.

둘째, 기술향상과 인간수양을 위한 자기계발이다. 자기계발이란 조직이 책임져주는 것이 아니다. 다시 한번 말하지만 조직은 경력관리를 해주지 않으며 자기계발을 시켜주지도 않는다. 회사가 시켜주는 교육은 단지 회사 업무를 위한 것일 뿐이다. 그것마저도 직원들이 함께 받는 경우가 대부분이라서 경쟁력 향상에 별로 도움이 되지 않는다.

자기계발은 여유 있을 때 행하는 것이 아니다. 실제로 인간이라는 존재는 한없이 여유로운 동물이라서, 시간이 많으면 더 게을러질 뿐이다. 그러므로 자기계발은 시간이 없을 때 짬을 내서 하는 것이라고 생각하는 것이 좋다. 그리고 자기계발에는 두 가지 측면이 있다. 하나는 개발자로서 기술적인 측면의 자기계발이고, 또 다른 하나는 인간으로서 인간수양 측면의 자기계발이다.

신기술 습득에 대해서는 다 아는 부분이니 따로 얘기하지 않겠다. 인간수양은 흔히 간과되지만 몹시 중요한 부분이다. 태어난 그 자체의 결함 가득한 성격 그대로 산다면 동일한 실수와 실패를 반복하게 될 뿐이다. 인간으로서의 멋진 점은 자신을 계속 가다듬으면서 조금이라도 완성된 인간을 지향하는데 있다. 다양한 책을 읽고, 가보지 않은 곳을 가고, 많은 사람들을 만나야 한다. 만일 이것을 해낸다면 인생의 도를 깨우친 멋진 개발자가 될 수 있을 것이다.

셋째, 작은 성공을 통해 큰 성공을 얻을 수 있도록 끊임없는 변화하고 실행해야 한다. 주변 상황과 인간을 입체적으로 이해하고 교류하면서, 기술과 인간적 소양의 자기계발을 하다 보면, 어느 순간 기회가 온다! 이것은 정말 준비된 사람에게만 주어지는 선물과도 같다. 하지만 준비되지 않은 사람에게는 기회 자체가 주어지지 않거나 또는 기회가 왔다고 하더라도 그 자신이 눈치챌 수 없다.

우리 스스로 저주를 받을 것인지 축복을 받을 것인지 선택할 수 있는 것이다. 그렇다. 어떤 측면에서 인생은 충분히 콘트롤 할 수 있다. 자신을 진화시키다 보면, 우리 자신이 이 사회에 변화를 줄 수 있는 주체라는 것을 깨닫게 되고 실제로 변화를 행할 수 있는 기회를 얻게 되는 것이다. 그러한 기회를 얻기 위해서는 끊임없이 변화하고 실행해야 한다. 자기 자신에게 다가오는 모든 기회를 수용하며 그 결과를 확인해야 한다. 불안감과 두려움 따위로 인해 좋은 기회를 포기해서는 안 된다.

자신에게 좀 벅차다고 생각하는 바로 그것을 떠맡아야 한다. 그 일을 하게 되면 그 일을 하기 전에 자신이 생각했던 그 모든 게 바보 같았다는 것을 깨닫게 된다. 그리고 이미 사람이 달라지고 있는 것을 발견하게 된다. 결국 그 일을 끝마쳤을 때는 모든 것이 변해있다. 작은 성공사례를 반복하고 반복하면서 더 큰 성공사례를 향해 다가가는 것이다. 그러니 신기술 구현이든, 새로운 프로젝트를 떠맡는 것이든, 자격증 도전이든, 커뮤니티 창설이든, 이직이든, 대학원 진학이든, 외국 취업이든 두려워하지 말고 실행하기를 바란다. 실행하면 모든 것이 달라진다.

환경, 조직, 사람간의 역학관계를 이해하고 미래를 준비하는 개발자
유능한 개발자는 기술력이 뛰어날 뿐만 아니라, 자신이 해야 할 일을 둘러싼 기술적/정치적 환경을 입체적으로 이해하고 교류하며, 자신에게 요구될 역량을 미리 갖추고 있으며, 적절한 시점에 곧바로 행동에 옮길 수 있는 실행력을 갖춘 사람이다.

왜 개발자가 이렇듯 기술 외적인 부분에 대해 신경을 써야 할까? 이런 필자의 논리에 대해 불편한 감점을 느끼는 개발자도 있을 것이다. 충분히 이해하고 있다. 그러므로 좀 더 부연설명을 해보겠다.

만일 현재 자신이 처한 환경이 돈, 명예, 자아실현의 관점에서 자신의 원하는 만큼 만족스럽다면 필자가 제시한 이러한 역량들에 대해 신경 쓰지 않아도 좋다. 그런 분들한테는 여기까지 글을 읽게 해서 죄송할 따름이다. 하지만 자신이 처한 환경이 만족스럽지 않다면 그것이 커뮤니케이션 스킬과 자기계발, 실행력이 부족하기 때문은 아닌지 생각해 보기 바란다.

필자가 언급한 역량들은 사실 개발자뿐만 아니라 이 사회의 모든 개인이 갖추어야 할 역량이라고 볼 수 있다. 하지만 잘못된 업계 풍토로 인해 어려움에 처해있는 개발자들에게 있어 특히 부족하면서도 더욱 요구되고 있는 역량이라고 볼 수 있다. 이러한 역량들이 가져다 주는 놀라운 결과들을 간과하지 않았으면 좋겠다.

환경을 바꿀 수 없으면, 자기 자신을 진화시키고 결국 환경을 만들어 내야 한다. 그러지 못한다면 잘못된 업계 풍토로 인한 희생양이 될 뿐이다. 이 사회에 대한 올바른 이해와 방향 감각을 갖추고 있으면서, 부단히 노력하며 진화를 꿈꾸는 개발자의 앞날에 커다란 행운을 기원한다. @


반응형

댓글