프로그래머로 오래 버티는(?) 방법?
목차
(이글은 운영자의 주관적인 생각이 담겨있음을 사전에 알려드립니다. 참고만 하시기 바랍니다.)
요 근래 들어서 이직을 하고 나니 프로그래머로 오래 일하는게 내 머릿속에 화두가 된 측면이 있다.
내가 추구하는 프로그래머는 시간과 공간에 제약을 받지 않는 자유로운(Free) 프로그래머이다. 그럴려면 회사 업무에 휘둘리거나 제약을 받지 않는 입장이어야 한다.
하지만 프로그래머로 일한지 얼마 안된 주니어 프로그래머라면 이야기는 달라진다. 나같은 경우는 십수년의 경력이 있기 때문에 더 많은 돈을 받기 위해서 조건이 좋은 회사로 이직하거나 현재 회사에서 자리를 지키기 위해 “예스(Yes)맨”이 될 생각은 없다. 따라서 회사에서 해고를 한다고 해도 크게 동요하거나 자리 보전을 위해 처세술을 부릴 생각도 전혀 없다. 오히려 잘라주면 매우 고맙다. 그 이유는 실업급여를 받으면서 당분간 쉴수 있기 때문이다(*^^*)
반면에 프로그래머로써 일한지 얼마 안된 주니어 프로그래머들은 입장이 그렇지 못할 것이다. 기술적인 부분이 많이 쌓아야 하고 프로그래밍 스킬로 쌓아야 할것이다. 어렵게 회사에 입사했는데 회사에 자리를 잡지 못하면 얼마나 오래 일할수 있을지 무수한 걱정이 들거나 스트레스를 받을 수 있다.
이직이 수월하려면 어느정도 경력이 쌓이고 기술 스펙이 쌓였을때 가능하다. 프로젝트를 한번 끝내본 경험이 없거나 한가지 일만 한게 아닌 이것저것 잡다한 업무만 했던 주니어 프로그래머라면 이직이 수월하지 않을 가능성도 있다.
또한 관리자의 일정 압박이나 성과 압박, 사내 정치, 회사 매출 등에 따라 달라지는 회사 태도 등을 경험하지 못했다면 이런 요소들의 휘둘려서 지레 겁을 먹고 옆에 사람 따라서 퇴사를 해버리는 등의 성급한 선택을 하는 프로그래머들도 있다. 그래서 시작한지 얼마 안된 많은 프로그래머들이 현실이 녹록치 못함을 깨닫고 IT 회사들을 떠나거나 멀리하는 결과를 맞이하기도 한다.
그렇다면 이 포스트의 주제를 다시 짚어보자. 프로그래머가 오래 버틸수 있는 방법은 과연 무엇일까? 차근차근 짚어보도록 하겠다.
주니어 때에는 일단 시키는 대로 해본다
회사에서 대리 이하, 주임 이하의 프로그래머들을 보통 주니어 프로그래머라고 한다. 이때까지는 회사 경험이 많지 않고 노하우도 부족하기 때문에 윗사람의 말 한마디에 상처를 받거나 스트레스를 받을 수 있는 시기이다.
그러나 이 시기에 큰 욕심이 없다면 일단 회사에서 시키는 대로 개발을 하면 된다. 프로세스가 이상한 회사이고 불합리한 구조의 회사라고 해도 이 시기의 경험했던 모든 것들은 내가 배울 수 있는 소중한 자산이라고 보면 된다.
회사에서 가르쳐준게 없고 본인 스스로 맨땅에 헤딩하면서 파악했다고 해도 그런 경험을 프로그래머로서 일을 하기 위한 밑거름이라고 보면 된다. 회사는 학교가 아니라 영리를 추구하는 집단이기 때문에 프로그래머에게 학교처럼 가르쳐주는 곳이 절대 아니다. 또한 그걸 기대해서도 안된다.
또한 이 시기에는 주니어 프로그래머들에게 큰 일을 맡기지 않는다. (물론 이상한 곳은 주니어 혼자서 다 하게끔 하기도 한다.) 그리고 자신이 없다면 의사 표현을 분명하게 해야 한다. 부담이 되는 개발 업무를 군소리 없이 한다고 하면 그 부담은 오로지 자신의 책임이 될 수 밖에 없는 것이다.
아직 경험도 충분히 하지 않은 상황에서 비전이나 미래를 걱정할 필요가 전혀 없다. 프로그래머는 스스로 열심히 해야 하는 것은 맞지만 경험을 한 것과 하지 않은 것은 엄청난 차이이다. 제 아무리 날고 기는 천재 프로그래머라고 해도 경험이 많은 프로그래머에 비할 바 못된다.
따라서 별다른 잡생각이나 비전 혹은 내 길이 아니라는 등의 쓸때없는 생각을 할 필요도 없는 것이다. 2~3년 경험해보고 이쪽이 나와 적성이 맞지 않는다면 그때가서 생각해봐도 된다. 어차피 직장 생활 3년 경험은 나의 자산이 되는 소중한 경험이기 때문이다.
대다수의 IT 회사들은 경영상 문제 아니면 당신이 조금 실력이 부족하거나 못한다고 해서 절대 자르거나 나가게끔 하지 않는다. 이 시기에는 위에서 시키는 대로 개발 방향을 정하고 프로그래밍 언어 다루는 스킬과 디버깅 스킬 등의 기술 스펙을 열심히 쌓는게 중요하다.
이렇게 하면 큰 문제없이 주니어 시기를 버틸 수 있을 것이다.
인내심을 가지고 버텨본다
내가 다니는 회사에서 얼마전에 입사한 신입 A씨의 이야기를 다룬적이 있다.
이 친구가 안타까웠던 것은 얼마전에 했던 각오와 다르게 조금 어렵고 회사에서 성과를 내주길 기대한다는 이유로 포기를 하려 했던 것이었다. 물론 일한 지 얼마 안된 프로그래머나 다른 분야의 신입 직장인라고 해도 부담스러운 것은 분명하다.
하지만 아직 시작도 제대로 안한 상황에서 회사의 시선을 신경 쓸 필요가 없다. 특히 신입 프로그래머들을 채용한 회사들은 신입들의 상황을 다 알고 채용한 것이다. 신입 프로그래머들에게 당장 실무에 투입하여 성과를 내달라고 하는 것은 불가능에 가깝다.
따라서 회사는 1~2년 앞을 내다보고 채용을 한 것이다. 이 시기에 조금 못해도 상관없다. 실력적으로 부족하다고 해도 열심히 하는 모습과 겸손한 자세를 유지하면 회사에서도 그 점을 인정해준다. 앞에서 언급했듯이 이 시기에는 경험이 거의 없기 때문에 관리자들이나 선배 프로그래머들이 시키는 대로 하면 되는 것이다.
잘하면 좋지만 못한다고 해서 걱정할 필요도 없다. 나같은 경우는 4년차때 이직을 처음 했는데 새로 이직한 회사에서 평가가 너무 좋지 않은 나머지 결국 정리해고 대상이 된적이 있다. 물론 이때 열심히 해도 부족했기 때문에 어쩔수 없다고 생각했다. 그렇게 평가가 좋지 않아도 2년정도 그 회사에서 개발 업무를 했고 퇴사를 하였는데 그 사건이 전화 위복이 되어서 많은 것을 깨닫고 열심히 하게 되는 프로그래머로 성장한 듯 하다.
따라서 내가 실력이 부족하고 회사에서 성과를 내주길 바란다고 해서 부담을 가지고 그만둘 생각은 할 필요가 없다. 오히려 그런 시선을 신경쓰지 말고 내 할일만 열심히 하고 프로그래밍 스킬을 키우면 된다. 어차피 당신의 평가가 좋지 않아도 회사가 망하지 않는 이상 2~3년은 버틸수 있다.
공부를 끊임없이 한다
프로그래머로서 계속 일을 하기 위해서는 끊임없이 자기 스킬을 쌓고 관련된 지식을 습득해야 한다. 사실 이 부분이 결코 쉽지 않음을 알고 있다.
주변에 프로그래머를 그만둔 사람의 이야기를 들어보면 그만 둔 가장 큰 이유가 “공부를 계속 하기 싫어서”다. 회사에 취업하기 직전까지 십수년이 넘게 공부를 했는데 그 지겨운 공부를 계속 하니 지친다는 것이다. 공부를 계속 해야 하는 것은 어느정도 맞는 말인것은 사실이다.
당신이 한 회사에 오래 몸담지 않는다면 필시 이직을 할텐데 같은 업종이라고 해도 이직을 하면 기술 스펙이 약간씩 달라지기 때문에 필시 새로운 지식을 습득해야 한다. 또한 시간이 조금만 흘러도 새로운 기술 스펙이 나오기 때문에 관련하여 찾아보고 공부를 해야 할 수 밖에 없을 것이다.
따라서 당신이 프로그래머로 오래 일하고 싶다면 공부는 필수라고 볼 수 있다. 나의 경우에는 주니어 시절에 매일 같이 공부하는게 싫어서 게을리 하다가 뒤쳐지고 다니던 회사에서 사직 권고를 당하는 바람에 크게 깨닫고 새로운 기술 스펙과 지식을 빨리 습득하는 습관을 들이도록 노력했었다.
공부는 학교다닐때에도 지겹게 했는데 회사 다니면서 또 해야 한다고? 물론 지치고 싫을 수 있다. 하지만 프로그래머 뿐만 아니라 성공하는 소수의 사람들은 공부를 생활화 하고 끊임없이 노력을 했기 때문에 그 위치까지 올라갔다고 보는게 맞다. 그만큼 당신이 프로그래머로 오래 일하고 싶고 성공하고 싶다면 공부를 끊임없이 해야 한다.
회사를 다니면서도 부족한 부분이 있다면 별도로 시간을 내서 강좌를 듣거나 인터넷 강의, 동영상 강의를 들어보는 것도 아주 좋은 방법이다. 또는 업무에 필요한 교육이 필요하다면 회사에 얘기해서 유로 외부 강좌나 세미나를 들어보는 것도 좋은 방법이다.
만약 공부하는게 도저히 적성에 맞지 않다면 다른 분야의 일을 찾아보는 것도 나쁘지 않다. 그 이유는 프로그래머는 공부를 하는것 또한 즐겨야 일도 재밌고 오래 할 수 있다. 공부 자체가 즐겁지 않다면 당신은 다른 분야를 찾아보고 자신의 적성에 맞는 일을 찾는 것도 나쁘지 않다.
꾸준히 운동을 한다
프로그래머는 단기간에 대박을 터트리는 단기 레이스가 아닌 장기 레이스로 생각하면 된다. 물론 초창기에 창업하여 대박을 터트리는 프로그래머들도 존재하긴 하지만 그 비율은 매우 드물다.
장기 레이스를 펼치기 위해서는 건강한 신체가 중요하다. 가만히 앉아서 모니터를 쳐다보고 키보드와 마우스를 만지는데 운동이 필요하다고? 당연히 필요하고 운동을 해야 몸이 아프지 않고 오랜시간동안 책상에 앉아서 프로그래밍을 할 수 있다.
운동이라고 해서 거창할 것은 없다. 회사 사무실에서 오랫동안 앉아있으면 어깨가 결리거나 허리나 엉덩이가 아픈 증상이 나타나거나 소화 불량이 생기게 되는데 이는 몸을 움직이지 않아서이다. 1시간마다 한번씩 스트레칭을 해주는 것도 좋은 방법이다.
하지만 단순히 스트레칭만 한다고 해서 몸이 건강해지지는 않기 때문에 시간을 내서 체육관(헬스장)을 다니거나 수영, 자전거, 등산, 조깅등의 유산소 운동을 병행해주는게 좋다. 이건 내가 경험을 해보니 결혼 하기 전에 동료와 함께 자전거를 타고 등산을 했더니 확실히 몸이 결리거나 지뿌둥한 증상이 사라졌다. 또한 소화불량 증세도 사라지고 살도 빠지기 때문에 건강도 좋아진다.
프로그래머와 같이 장시간 책상에 앉아서 일을 하는 사람들은 그래서 운동이 필요하다. 당신이 프로그래머로 오래 일하고 싶다면 일단 건강한 신체를 가지고 있어야 가능하다. 사무실에 오래 앉아있는 편한 일같이 보이지만 프로그래머는 정신적 스트레스와 소화 불량, 어깨 결림, 비만, 성인병에 취약하기 때문이다.
연봉에 일희일비 하지 않는다
최근 프로그래머들의 연봉이 급격하게 상승했다는 뉴스를 봤던 적이 있었다. 하지만 현실은 전혀 그렇지 않다.
위의 글들은 프로그래머 연봉과 관련하여 내 생각을 적어 본 글이다. 프로그래머들의 연봉이 전반적으로 상승하는 추세인것은 맞지만 신입 프로그래머들에게 연 6천만원 수준의 고액 연봉을 지급하는 회사는 IT 서비스 대기업인 “네카라쿠배” 같은 기업들이나 삼성전자 같은 대기업(삼성전자가 이렇게 줄지는 의문) 정도가 가능하다.
중소기업이나 중견기업의 신입 프로그래머의 연봉 수준은 2,600~3,000만원 정도일 것이다. 사실 이정도 수준인 것도 꽤나 놀라운데 그 이유는 내가 신입 시절인 15~20년전에는 신입 연봉이 평균 2,200만원 수준이었다. 특히 나같은 경우는 2,000만원으로 시작했었다.
그런데 현재 신입 프로그래머들의 연봉 수준은 과거의 내가 신입 시절의 연봉 수준에 비해 크게 오르지 못했다. 그만큼 대우가 그리 좋지 않은 것이다. 연 6,000만원 수준의 연봉은 대기업이나 가능한 액수이다.
그래서 당신이 4천만원 이상의 연봉을 바란다면 굳이 프로그래머를 할 필요가 없다. 프로그래머가 다른 업종에 비해 상대적으로 약간 높다 뿐이지 연봉을 많이 주는 직업은 아니기 때문이다. 당신이 돈을 많이 벌 목적이라면 사업을 하거나 금융권 취업을 준비하면 된다. 혹은 전문직을 하면 되거나.
대신에 프로그래머는 조금만 경력이 쌓여도 연봉이 급격하게 상승하는 직업중 하나다. 처음에 3천만원 정도 수준의 연봉인데 기술 스펙을 잘 쌓고 경험이 어느정도 쌓인 프로그래머라면 5년차에 6천만원을 수령하는 것도 가능해진다. (물론 운이 따르기도 한다)
따라서 경력 5년 전까지는 굳이 연봉이 적다는 이유로 프로그래머를 포기하거나 고민할 필요는 없다. 본인이 실력을 보여주면 그만큼 연봉은 자연스레 따라온다. 프로그래머는 학벌같은 요소에 상관없이 자신의 성과를 인정받을 수 있는 몇안되는 직업에 속하기도 한다.
그래서 주니어 시절에는 연봉 몇백만원 더 받기 위해서 이직을 하거나 그만둘 필요가 전혀 없다. 한 3년동안은 자신이 쌓을 수 있는 기술 스펙을 충분히 쌓은 다음에 좋은 기회가 생긴다면 그때 옮겨도 무방하다.
연봉은 시간이 흐를수록 자연스레 따라오는 것이다.
나만의 소스나 서비스를 만든다
이 부분은 경력이 어느 정도 쌓였을 때 고민해 봐야 할 문제이다. 최근에 나도 이직을 하면서 이 부분에 대한 고민을 많이 해보고 있다.
프로그래머는 사실 한 회사에 오래 다닐 수 있는 직업은 아니다. 대략 10년동안은 직장 생활 하는데 큰 문제가 없겠지만 나이가 40대가 접어들면 관리자를 하거나 회사에 자리를 잡지 않은 이상 회사에 얼마나 다닐지는 정말 알수가 없다.
나같은 경우에도 40대가 접어들고 나서는 다른 회사로 이직하는게 쉽지 않음을 느낀다. 그 이유는 40대가 되더라도 일자리는 있지만 낯선 환경과 새로운 사람들에 적응하는 것이 점점 쉽지 않음을 느낀다. 특히 가정이 있으면 환경에 바뀌는 거에 스트레스를 받게 된다.
따라서 프로그래머도 앞으로의 미래를 위해 자신만의 프로젝트를 추진하거나 다른 일거리를 찾아보는 것도 필요할 수 있다. 회사를 다니게 되면 회사에서 시킨 일만 하기 때문에 나 스스로가 직접 해볼 기회는 없는데 내가 주체가 되어서 프로젝트를 기획하고 설계하여 수익을 창출할 수 있는 기회를 만드는 것도 좋다.
즉 회사에서는 회사 일에 충실히 하고 집에 와서는 자신의 개인 프로젝트(토이 프로젝트)를 추진하여 직접 개발을 해보는 것도 괜찮은 방법이다. 이것 또한 굉장한 경험이 될 수 있다.
혹은 별도로 파트 타입 개발 업무를 수주하여 월급 외에 비용을 받는 것도 괜찮은 수익 창출 방법이다. 이런 과정을 거치다 보면 굳이 회사를 다니지 않더라도 독립적으로 활동하면서 프로그래머로 계속 일하는게 가능해진다.
나같은 경우도 “오픈소스” 프로젝트를 준비중에 있다. 일단 깃허브에 “OpenWRT” 개발 프로젝트를 시작하긴 했는데 시간적 여유가 없는 바람에 진행은 잘 안되고 있는 상황이다.
회사를 다니면서 회사일만 하는 것은 월급 정도의 수익밖에는 벌수가 없다. 다소 시간 여유가 없고 바쁘더라도 나만의 프로젝트와 서비스, 수익 모델을 찾는 것도 프로그래머로 오래 일할 수 있는 방법중에 하나라고 생각이 된다.
평생 직장이 아닌 평생 직업이라는 마인드를 가진다
위에서 언급했지만 프로그래머는 한 회사에 오래 일하는게 쉽지 않다. 물론 오래 일하는게 가능한 회사도 있지만 그 비율은 매우 작으며 대다수의 프로그래머들이 자의반 타의반으로 회사를 이직하거나 퇴사를 하게 된다.
공무원이나 공기업 종사자 아니면 우리나라 대다수의 직장인들은 한 회사에서 오래 일하는것은 사실 쉽지 않다. 내가 아무리 회사에 오래 있고 싶다고 해도 회사 상황이나 사람에 의해서 그 회사를 퇴사하고 이직해야 하는 상황이 생각보다 꽤 많이 발생한다. 그나마 프로그래머들이 다행인 것은 인력 공급에 비해 수요가 많기 때문에 이직이 비교적 수월하다고 볼 수 있다.
따라서 경력이 일천한 프로그래머 아니라면 어느정도 경력이 있는 프로그래머들은 이직에 대한 걱정은 크게 하지 않아도 된다. 단지 이직을 할때 내가 원하는 회사를 가는 것은 별개의 문제이다. 회사가 많고 이직이 수월하다고 해서 “네카라쿠배”를 준비도 없이 가긴 불가능하다.
다니던 회사가 어려워지고 사직 권고를 받았다면 나의 마인드처럼 쾌재를 불러라. 그 이유는 실업급여를 받으면서 한 템포 쉬어가는 시간을 만들 수 있기 때문이다.
현재 회사를 퇴사하더라도 프로그래머는 다시 갈곳은 얼마든지 있다. 그리고 걔중에 한 회사에 오래 다니지 않았다고 해서 나쁜 시각으로 바라보는 “꼰대” 같은 마인드의 사람들은 멀리 해도 좋다. 요즘같은 시기에 누가 한 회사에 오래 몸담을 수 있겠는가?
프로그래머는 회사를 옮기더라도 내가 가진 기술과 지식은 어디 가지 않는다. 나만 가지고 있는 기술과 지식이므로 당신이 프로그래머를 그만두지 않은 이상 계속 활용이 가능하다. 즉 평생 직장은 없지만 평생 직업인 “프로그래머”는 지속이 될 수 있다.
그래서 마음속으로는 “내가 여기 짤려도 어디든지 갈곳은 있다!” 라는 마인드를 가져라. 회사가 어려워지거나 내부 상황에 의해서 퇴사를 하더라도 그런점에 공포를 가질 필요는 없다.
프로그래밍을 즐긴다
프로그래머로 오래 일하기 위해서는 가장 중요한 점이라고 볼 수 있다.
뭐니뭐니 해도 프로그래밍이 즐거우면 프로그래머로 오래 일하는게 가능하다. 연봉이 좀 적어도 다니는 회사가 그리 마음에 들지 않아도 가능해진다.
프로그래밍이 흥미가 있어야 하고 내가 직접 몰랐던 부분을 경험하고 찾아내며 개선을 했을때의 그 희열감을 좋아한다면 당신은 프로그래머로 오래 일할 가능성이 충분한 것이다. 프로젝트 자체가 머리가 아프고 개발이 불가능해 보여도 끊임없이 탐구하고 모르는 부분을 알아가면서 재미를 느낀다면 그것 만으로도 프로그래머로써 생활이 가능하다.
대학때 취미로 프로그래밍을 했어도 막상 실무나 프로젝트에 투입되면 “업무” 가 되기 때문에 재미가 없어지거나 스트레스를 받을 수도 있다. 아무래도 내가 하고 싶은 일이 아니라 회사에서 시킨 일이라면 더더욱 그럴 것이다.
하지만 그 마인드를 살짝만 바꿔보라. 이 프로젝트를 진행하면서 내가 몰랐던 부분을 알게 되고 내 스킬이 높아지는 좋은 기회라고 생각의 전환을 한다면 그만큼 재미있는 일이 될 것이다. 또한 이 프로젝트를 진행하면서 내가 기능 구현을 하여 잘 동작하는 소프트웨어가 만들어졌다면 그 성취는 이루 말할수 없을 것이다.
이처럼 회사일이 지겹고 재미가 없으며 따분할 일이라고 생각하면 계속 재미가 없을 것이다. 좋은 경험이라고 생각하고 즐긴다면 당신은 프로그래머로써 일 자체를 즐길 수 있을 뿐만 아니라 오랬동안 프로그래머로 생활이 가능해진다.
프로그래머 일 혹은 프로그래밍이 어렵고 재미가 없더라도 즐겨라! 그러면 당신은 뛰어난 프로그래머가 될 가능성이 있다.