프로그래머가 이직 후 적응을 어렵게 만드는 치명적인 요인들
목차
나에게 말걸지 마!
(코드도사 운영자 칼럼)
최근에 “자유로운 프로그래머”가 되기 위해서 과감히 회사를 그만두고 약 3개월 간의 “외도” 를 했지만 현실의 벽에 부딪혀 어쩔 수 없이 다시 직장인에 복귀하였습니다.
그만두기 직전에 다녔던 회사에 복귀를 하였는데요, 이 회사는 임베디드 시스템을 개발하는게 아닌 x86 기반의 서버 장비에 SW를 구동시켜서 시스템을 개발하는 곳입니다. 따라서 저는 C/C++ 을 사용하여 열심히 디버깅 및 프로그래밍만 하면 되는 회사이지요.
그런데… 문제가 생기기 시작했습니다.
얼마전에 제가 쓴 칼럼인 “고인물” 에 대한 내용입니다. 회사 복귀 후 풀어야 할 몇가지 숙제가 있었는데 그 숙제를 여전히 풀지 못하고 답답한 상황에 직면해 버리고 말았습니다.
과연 무슨 일이 일어났던 것일까요?
이직이 활발한 프로그래머. 그러나 이직은 때로 독이 된다.
프로그래머(개발자)는 현재에도 직장인들 중에서 “이직”이 꽤 활발한 직업에 속합니다. 다른 직업군들에 비해 기술적인 일이기 때문에 수요에 비해 공급이 부족한 직업이기도 합니다.
어떤 직업이든 간에 대한민국과 같이 “시장경제” 를 도입한 국가에서는 “수요와 공급의 법칙” 에 따라 직업의 가치가 달라집니다. 현재 IT 산업에 가장 필요한 인재인 “프로그래머” 는 여전히 수요에 비해 공급이 부족합니다. 따라서 자연스레 몸값도 높아지고 스카웃 하려는 회사도 많아지게 됩니다.
이런 특징은 프로그래머들에게 “이직” 에 대한 욕망을 부추깁니다. 처음 프로그래머를 시작해서 연봉 3천만원을 받았는데 2~3년 경력을 쌓게 되면 쌓은 경력에 따라 여기저기서 “스카웃 제의” 가 들어올 가능성이 높습니다.
그래서 “프로그래머” 들 중에는 연봉을 높이기 위해 일부러 이직을 하기도 합니다. 사실 프로그래머들이 몸값을 높이려면 현재 다니던 회사에서 “연봉 인상”을 해줘야 하는데 대한민국의 수많은 회사들 중에 보상을 잘 해주는 회사들은 그리 많지 않다는게 현실입니다.
일단 이직을 하게 되면 “연봉 인상” 이 될 가능성이 굉장히 높습니다. 회사는 사람이 급히 필요하고 프로그래머는 연봉 인상을 원한다면 대체적으로 채용을 원하는 회사에서 연봉 인상을 해주기 마련입니다. 물론 연봉 인상률은 회사와 상황에 따라 천차만별이므로 이직을 한다고 해서 연봉이 급격하게 오르는 것은 쉽지는 않습니다.
그럼에도 이직을 하게 되면 연봉은 어쨌든 오를 가능성이 높기 때문에 프로그래머들의 이직은 꽤 활발합니다. 특히 5년이상 경력을 쌓은 프로그래머들은 채용 시장에서 가장 많이 선호하기 때문에 몸값이 뛸 가능성도 존재합니다.
그런데… 여기서 프로그래머들이 간과하는 부분이 있습니다.
이직을 한다고 해서 그 회사에서 잘 적응하고 오래 다닐 수 있을까?
사실 이 부분이 가장 큰 문제입니다. 몇 가지 예를 들어볼까요?
- 많은 연봉을 제시 받아서 이직을 했지만 체계도 없고 개발 업무 폭탄에 빠져버린 경우
- 좀더 많은 연봉을 제시 받아서 작은 중소기업으로 이직했지만 회사의 재무 상태나 매출이 떨어지는 등의 나쁜 상황이 발생한 경우
- 좋은 조건으로 이직을 하였으나 기술적으로 배울께 없고 오히려 내가 모든 기술적인 부분을 혼자 터특하고 헤쳐나가야 하는 경우
- 좋은 조건으로 이직을 하였으나 선배 개발자나 동료 개발자들의 소통에 어려움을 겪는 경우 혹은 고인물들이 많은 경우
- 다니고 있던 회사가 상황이 안좋아져 권고 사직을 받고 급하게 이직하였는데 이 회사도 재무 적인 상황이 안좋은 경우
- 헤드헌터의 달콤한 제안에 넘어가서 이직하였으나 실제 회사의 모습이 다른 경우
- 좋은 조건으로 이직하였으나 내가 원하는 업무가 아니었던 경우
물론 회사는 어딜 가든 장점과 단점이 공존하게 됩니다. 내가 아무리 좋은 조건으로 이직을 해도 막상 회사에 가면 내 생각과 회사 상황이 다른 경우가 허다합니다. 그런데 단순히 “연봉을 높이기” 위해서 이직을 하는 경우에는 위와 같이 내 생각과 다른 경우가 발생하게 될 수 있습니다.
따라서 너무 활발한 이직은 본의 아니게 “독” 이 될 가능성이 있습니다.
최근에 내가 겪은 이직 후 어려움에 대하여
자유로운 프로그래머를 꿈꾸며 그만두었던 회사로 다시 복귀를 했습니다. 이 회사는 그동안 겪었던 “제조업” 회사를 떠난 뒤 대안으로 찾았던 회사입니다.
다시 복귀 의사를 표시하자 회사에서는 흔쾌히 승낙해 주었습니다. 이 회사는 규모도 작고 개발 인력도 부족하던 찰나 타이밍이 적절히 잘 맞았던거 같습니다. 그래서 저는 현업으로 손쉽게 복귀할 수 있었고 자유로운 프로그래머에서 다시 직장인 프로그래머로 생활을 시작하였습니다.
그런데… 내부적인 문제가 도사리고 있었음을 조금씩 알게 되었습니다.
개발 환경의 부재 및 정보 공유의 문제
이 회사에 복귀하기 전에는 바쁘게 진행되던 프로젝트에 투입되어서 급하게 개발을 진행하였습니다. 따라서 내부 사정을 파악하기 어려웠고 빠른 시간내에 개발 업무 파악과 개발 진행이 동시에 이루어졌습니다. 그러다 프로젝트가 마무리되고 제가 “자유로운 프로그래머”를 꿈꾸게 되면서 퇴사를 하였습니다.
물론 퇴사하기 전에 대략 파악한 바에 의하면 사내 개발자들의 태도나 문화가 “쉽지 않음” 을 느꼈지만 다시 복귀를 하고 보니 생각보다 문제가 심각함을 알게 되었습니다.
가장 드러나는 문제로 “정보 공유가 너무 안된다” 라는 점입니다. 저는 개발 경력이 있다보니 회사를 이직할때에도 “시니어” 취급을 받습니다. 그런데 규모가 작은 회사일수록 신규 입사자에게 “정보 공유” 가 제대로 되지 않는 문제점이 종종 발견되곤 합니다.
이런 경험이 있다보니 회사를 이직하다보면 정보 공유가 잘 안되는 점에 대해서 “그려러니” 하는 부분이 있습니다. 즉 이런 상황에 익숙하다는 뜻입니다.
그럼에도 어느정도 “기본적인” 부분은 알려주거나 자료를 제공받아야 개발을 진행하는게 가능합니다. 제 아무리 경력있고 능력이 뛰어나더라도 새로운 회사에서 개발을 하기 위해서는 “개발 환경” 관련 정보들을 제공받아야 하는게 당연합니다.
하지만 지금 복귀한 회사는 이런 과정이 “전혀” 없다는게 문제였습니다. 여러 서버 장비가 연동되어 동작하는 시스템이어서 누군가는 이 시스템에 대해 간략하게라도 설명이 필요한데 그 누구도 설명을 해주지 않았습니다.
제공받은 것은 개발문서 PPT 자료 2~3개 파일과 시스템의 개괄적인 내용(1시간 정도)을 들었을 뿐입니다. 그리고 git 레파지토리 정보와 git 계정을 생성해준거 외에는 다른 정보는 어느 누구도 공유해 주지 않았습니다.
지금까지 몇달이 지나도 이 정보들이 공유가 되지 않고 있다는 점도 의아합니다. 심지어 소스를 “빌드” 하는 방법조차 공유가 되지 않고 있습니다. 결국 제 스스로 어떻게 어떻게 해서 알아내는 방법밖에는 없었습니다.
이 부분에 대해서 여러번 어필했지만 최근에서야 “신경을 써주는 척” 하는 상황입니다. 제가 겪어본 회사들 중에서 이 정도로 정보 공유가 안되는 회사는 또 처음 겪어봅니다.
만약 이 글을 읽는 프로그래머가 저 같은 상황에 놓여있다면 이 부분에 대해서 꼭 얘기를 해야 합니다. 많은 부분의 정보들을 다 알 필요는 없지만 최소 개발을 하는데 “기본적인” 정보는 반드시 알려달라고 하세요. 그렇지 않으면 개발을 하는 프로그래머 입장에서는 어려움을 겪게 될 수 밖에 없습니다.
업무적인 커뮤니케이션의 부재
현재 다니는 회사에서 가장 “크리티컬” 한 부분이라고 생각됩니다. 다시 복귀하여 맡은 개발 업무가 정해졌지만 그 누구와도 협업을 위해 “대화”를 해본 적이 3달 동안 한번도 없습니다.
심지어는 “협업” 을 하라고 지시를 받은 프로그래머와 개발 관련하여 대화를 나눠 본적이 없습니다. 답답함을 느껴 윗선에 회의를 요청하고 어필도 하였으나 변하는 것은 없었고 여전히 커뮤니케이션이 제대로 되지 않고 있습니다.
입사한지 얼마 되지 않은 사람 입장에서는 이런 커뮤니케이션의 부재가 꽤나 크게 다가옵니다. 저 혼자 하는 개발이 아닌 여러명이 같이 하는 개발이라면 “의사소통”은 필수라고 볼 수 있습니다. 그런데 의사소통도 없이 저 혼자 알아서 할 수 있을까요? 현 회사 프로그래머들의 마인드를 이해할 수가 없었습니다.
이런 상황으로 인해 저는 “고민”에 빠질 수 밖에 없었습니다.
프로그래머가 이직을 어렵게 만드는 치명적인 요인중 하나인 “텃세”
여러분이 이직을 하면서 가장 어려움을 느꼈던 부분은 어떤 것이 있을까요? 환경의 변화? 사람의 변화? 어느 직종의 직장인들도 비슷하겠지만 프로그래머들 입장에서도 가장 치명적인 요인은 “텃세” 라고 볼 수 있습니다.
그런데 이상합니다. 사람이 부족해서 회사에서도 “프로그래머”를 채용했지만 그런 프로그래머에게 텃세를 부리는게 좀 이상하지 않을까요? 그런데 이 부분은 인간 사회의 조직 문화와 인간의 이기심이 적절히 버무려진 지극히 본능적인 요소라고 볼 수 있습니다.
텃세를 부리는 형태는 몇가지가 있습니다.
- 신규 입사자에게 회사 제품에 대한 기술적인 정보를 잘 알려주지 않는 경우
- 신규 입사자에게 어렵거나 바쁜 일을 떠넘기거나 배워야 한다는 뉘앙스로 막 시키는 경우
- 신규 입사자에게 의도적으로 대화를 하지 않거나 배척을 하는 경우(점심을 같이 먹지 않는 등)
- 신규 입사자에게 조직내 모임에 끼워주지 않는 경우
- 신규 입사자가 새로운 일을 추진할 때 여기저기 딴지를 거는 경우
이 외에도 “텃세” 라고 여기는 케이스가 더 있을 수 있으나 일단 생각나는 범위는 이정도로 정리 할 수 있을 거 같습니다.
저는 최근에 다니던 회사에 복귀를 하면서 위의 1번과 3번 케이스를 겪었습니다. 현 회사에는 내부적으로 아는 인물이 전혀 없으며 이 회사에 들어오게 되면서 내부 인력들을 전부 새로 알게 된 케이스입니다.
따라서 다른 개발 인력과의 관계는 서로 어색한게 당연합니다. 그래서 서로 조심스러우며 처음에는 대화가 어려울 수도 있지만 어느정도 경력이 있는 시니어 프로그래머들은 “프로” 답게 적절한 커뮤니케이션을 하면서 개발을 진행하는데 문제점이 없어야 할 것입니다.
1번 케이스를 겪었지만 사실 규모가 작은 중소기업들은 기술 정보와 자료들을 잘 공유해 주지 않거나 아예 자료가 없는 경우가 허다했습니다. 그래서 이런 부분은 “그나마” 이해가 되는 부분입니다.
하지만 3번 케이스인 “커뮤니케이션 부재” 는 이해하기 어렵습니다. 저는 회사에서 필요로 하기 때문에 뽑힌 인력이고 제가 일을 하게 되면 회사 리소스도 덜어지게 되니 내부 개발 인력들도 좀더 편해지는게 당연합니다.
그러나 기존의 개발 인력들은 저와 대화를 의도적으로 기피하고 되도록 대화를 하지 않으려는 행위를 하고 있습니다. 현재 맡은 일이 협업이 필요하기 때문에 저는 커뮤니케이션이 필요하지만 그들은 일체 커뮤니케이션을 하지 않으려고 합니다.
처음에는 그려러니 했지만 시간이 지날수록 “의도적” 이라는 생각이 들 수 밖에 없네요. 그리고 여기서 “고인물” 들의 특징을 알게 되는거 같습니다.
“텃세”와 “고인물”의 상관관계
A 프로그래머는 한 회사에 10년이상 일한 시니어 프로그래머입니다. 그는 회사의 기술적인 지식과 노하우를 매우 잘 알고 있습니다. 그래서 회사 대표나 임원들도 A 프로그래머에게 함부로 대하지 못합니다.
어느날 회사에 B 라는 프로그래머가 새로 입사했습니다. B는 경력자이며 A와 비슷한 경력의 프로그래머입니다. A의 업무를 덜어주고 회사 규모를 키우기 위해 윗선에서 채용을 결정하고 채용이 된 프로그래머입니다.
A 입장에서는 자기 업무도 덜어주고 경력자라고 하길래 좀더 편해지겠다고 생각합니다. 그리고 B가 입사한 후 처음에는 원활한 대화와 친근하게 대했지만 시간이 흐를수록 B가 괘씸해지기 시작했습니다.
B는 자꾸 기술적인 부분을 막 물어보네. 그건 내가 힘들게 알아낸건데… 이제부터 B랑 말 섞지 말고 알려주지도 말아야 겠다.
그 이후로 A는 B와 대화를 일체 하지 않았습니다. B가 물어보면 단답형으로 대답하고 먼저 말을 걸지 않았습니다.
심지어는 업무상 필요한 대화임에도 메일로 간략히 답변을 해주거나 “잘 모르겠다~” 라는 식으로 B에게 대답을 했습니다. B는 어리둥절 했으나 A의 성격이겠거니 하고 넘어갔습니다.
그러다 이슈가 생겨서 A가 꼭 확인해야 할 일이 생겼습니다. 그래서 B가 도움을 요청했으나 A는 B의 업무라고 대답하고 도움을 거부했습니다. 결국 B는 이 일을 계기로 몇개월 만에 퇴사를 결정하고 말았습니다.
이 이야기는 프로그래머의 텃세에 대한 단적인 예를 들어본 것입니다. 보통 텃세는 한 회사에 오래 다니거나 기술적으로 많이 알고 있는 프로그래머들이 부리는 경우가 많습니다.
그런데 텃세를 도대체 왜 부릴까요? 한 사람이 더 투입되면 그만큼 개발 업무도 줄어들고 내 자신도 더 편해질텐데 말이지요.
여기서 예를 든 A 프로그래머는 자신의 기술적 지식과 노하우가 “자산” 이라고 생각하기 때문입니다. 그리고 그 자산을 쌓기까지 자신의 어려움과 난관을 극복하면서 쌓아올렸기 때문에 자신의 “밥그릇” 이라고 생각하는 것이지요.
따라서 후에 들어온 외부자가 그 자산을 쉽게 얻으려고 하면 본능적으로 “방어기재”가 생기게 됩니다. 너한텐 함부로 줄 수 없다 이겁니다.
또한 A 프로그래머는 자신의 지식과 노하우를 남들에게 공유할 생각이 없습니다. 자신이 혼자 가지고 있다가 편하게 회사를 다니기 위한 “무기”로 사용하려고 합니다. 그래서 지극히 “고인물” 적인 행태를 보이고 있습니다.
그래서 A 는 B 에게 이런 행위를 하는 것이라고 볼 수도 있습니다. 제가 앞전에 설명드렸던 현 회사의 프로그래머들도 이런 마인드로 텃세를 부리는거 같아 보이기도 합니다.
하지만 IT 기술이라는 것은 다른 기술에 비해 “오픈소스” 마인드가 강하고 결국 시간이 지나면 예전 기술이 되버립니다. 그들의 텃세는 시간 문제일 뿐입니다.
프로그래머는 “텃세”가 독이 될 수도 있다.
전 현 회사의 프로그래머들이 “고인물” 과 “텃세” 의 특징을 동시에 지니고 있다고 판단했습니다. 지금까지 파악하건데 이 회사에 오래 있었으며 현 회사 제품에 대하여 지식과 노하우를 쌓았을 겁니다. 그래서 편하게 다니고 월급받기 위해서 “텃세”를 부리는 것도 어느 정도 이해는 됩니다.
하지만 프로그래머는 변화에 적응하지 않으면 결국 도태될 가능성이 높습니다. 현 회사에 SW는 C/C++로만 짜여진 소스인데 요즘 SW는 C/C++만 짜여진 SW의 비율이 얼마나 될까요? 임베디드 제품 이외에는 웹, 앱 등의 SW는 C/C++로 짜여진 소스는 거의 없습니다.
물론 래거시 코드를 만진다고 해서 금방 사장되거나 사라지지는 않을겁니다. C/C++은 당분간 계속 쓰일 겁니다. 그럼에도 자바 스크립트나 파이썬이 SW 시장에 엄청난 영향을 미쳤듯이 C/C++을 한순간에 다른 언어로 대체될 가능성도 분명 존재합니다.
그래서 전 개인적으로 프로그래머들은 “고인물”을 되어선 안된다고 생각합니다. 그리고 새로운 사람들에게 텃세를 부릴 필요도 없습니다. 기본적인 개발 업무를 할 수 있게 어느정도 도와주고 추후에 알아서 하게끔 가이드만 해주면 됩니다.
그리고 자신이 쌓은 지식과 노하우를 “텃세”의 도구로 사용하지 않았으면 하는 바램입니다. 결국 그 행위는 나중에 자신에게 “독”으로 돌아올 테니 말이지요.