나는 좋은 개발자인가?
첫 회사 면접으로부터 많은 시간이 흘렀다.
먹고살기 위해 열심히 일했고, 방황했던 시간들도 있었다.
모든 시간을 개발자로서 이력을 쌓았던것은 아니지만 스스로는 좋은 개발자이고자 했다.
생각해보면 성공과는 거리가 있는 인생이지만 정말 다양한 경험을 해봤다.
보안 솔루션 회사, SI 프리랜서, 타이어 판매 회사, POS 임대 회사, 그리고 SI 개발회사.
선배 세대의 꾸준함과는 약간 거리가 있는 커리어 패스를 지나왔지만 후회하지는 않는다.
세월이 지나 다양한 프로젝트 경험과 역량을 갖추게 되었지만, 내가 생각하는 완전함과는 아직 동떨어져있다.
이 공허함을 채우기 위해 아직 많이 노력하고 공부해야할것이다. 다시 들춰보기 민망하고 힘든 나의 묵은 지식과 재능들로 새로운 가치를 만드는 힘든 과정을 거쳐야한다. 이제는 단순히 일을 많이 할 수 있는 능력 보다는 작더라도 제대로된 가치를 만드는 일을 하고 싶다. 그래서 요즘은 코딩 하는 시간보다 사람의 이야기를 듣기위해 돌아다니거나 글을 쓰는 시간이 많다.
지금은 타고난 재능이나 우수한 스펙보다 콘텐츠가 경쟁력이 되는 시대다. 그래서 스스로의 흥미와 목표를 가지고 향상심으로 살았던 나 같은 사람도 목소리를 낼 수 있지 않을까. 잘난것 하나 없는 내가 이 글을 끄적이는 이유다. 유일한 후회가 있다면 과거의 경험과 기록에서 새로운 가치를 만드는데 게을리했다는점이다. 현재의 시간을 투자해서 갈고 닦지 않으면 과거의 원석은 보석이 되지 못한다는 사실을 너무 늦게 안것같다.
나는 스스로의 바램과는 다르게 좋은 개발자가 아니라고 생각한다.
지식근로자로서 전문성을 보이고 가치를 만들고 싶었던 미숙한 열정은 현실의 벽을 넘지 못했다.
사회에서 원하는 '좋은 개발자'의 가치에 부합하지는 않는것이다.
좋은 개발자란 과연 무엇일까?
단순하게 생각하면 개발을 잘하는 개발자가 좋은 개발자일것이다.
나를 포함한 많은 개발자들이 목표로하는 이상이다.
그런데 과연 '좋은 개발자'가 단순히 실력의 영역에서 평가될 수 있는 기준일까?
지식근로의 가치는 고객이 결정한다. 문제해결이 되었든 돈을 벌어다주는 아이디어가 되었든 돈이 되는 자산이나 행위가 가치가 된다. 넓은 의미에서 '개발을 잘 하는 개발자'가 좋은 개발자인것이 맞지만, 개발자들이 생각하는 근로의 가치와 고객이나 고용주들이 생각하는 근로의 가치에는 상당한 차이가 존재한다.
슬픈 이야기지만 개발을 잘하는 개발자로서 좋은 개발자가 되려면 결국 '가성비가 좋은 개발자'가 되는 수 밖에 없다. 그 사람이 아무리 개발 능력이 뛰어나도 개발을 하는 행위가 창출하는 가치보다 급여가 더 많이 나가는 개발자는 오래가지 못한다. 그래서 개발만 하기에도 바쁜 큰 조직이나 스타트업이 아닌이상 급여가 높아지면 점점 다양한 역할과 책임이 자연스럽게 넘어오는것이다.
바꿔말하면 나는 다양한 경험에서 배운 조직에서 살아남는 잡기술로 생존해온것이다.
한국에 사는 많은 나이든 개발자들이 겪는 현실이기도 하다.
성장을 해서 눈이 높아질수록 내가 갈 수 있는곳이 점점 없어지고 있는것을 피부로 느낀다.
그럼에도 불구하고 좋은 개발자가 되기 위한 노력을 부단히 이어나가야할 이유는 있다.
많은 사람들이 IT/인터넷이 세상을 어떻게 바꾸는지 봐왔다.
나와 비슷하거나 10년 정도 차이나는 선배들은 과거의 가치가 빛을 잃고 사라지는 두려움을 알고있을것이다.
새로운 역할과 형태로 가치를 부여하는 사람들이 나타나면서 과거의 직업과 사업은 힘을 잃고 사라져갔다.
내가 어릴적만해도 사람이 그린 그림이 상영중인 영화를 홍보하는 포스터이자 간판 역할을 하는 영화관이 있었다. 은행원이나 회계 직종으로 취직하기 위해 주산학원에 다니는 사람도 많았고, 기원은 프로 바둑기사를 꿈꾸는 사람들로 넘쳐났다. 한때의 유행은 지나가기 마련이지만 기술의 발전으로 더 이상 찾지 않는 가치가 늘어나는 슬픈 현실이다.
고전적인 공연 예술 분야는 영화관, TV를 거쳐 넷플릭스와 같은 OTT로 변화했다. 신문, TV와 같은 언론의 역할은 SNS가 대체하고있으며, 대통령이나 연예인과 같은 세계의 온갖 유명인들과 보통 사람들이 퍼스널브랜딩 경쟁을 하고 있다. 그리고 이제는 사람의 지식을 습득한 AI와 사람이 가치경쟁을 하고 있는 시대가 다가왔다. 우리는 지금까지 알고 있던 세상이 언제 어떻게 바뀔지 모르는 시대에서 살고있는것이다. 심지어 그 변화의 속도도 인류사 전체를 통틀어 가장 빠르다.
개인이 전세계를 대상으로 비즈니스를 할 수 있는 시대가 된 지금, 점차 고전적인 기업의 가치는 퇴색되고 있다. 블록체인 기술이 점차 금융을 주도하고 있고, P2P 경제가 성장하면서 소프트웨어에 대한 수요는 걷잡을 수 없이 늘어나게 된다. 이런 변화의 중심에서 활약하는것은 잘 준비된 좋은 개발자들일것이다.
기회를 잡기 위해 준비하는것은 더 이상 선택사항이 아니다.
지금 회사에서 부여된 작은 역할에 기대고 있어서는 앞으로 살아남을 수 없게될것이기 때문이다.
뭐든지 부딪혀보고 익혀야한다. 스스로 성장하는것을 포기해서는 안된다.
나는 단순히 남의 목표에 따라 소프트웨어를 개발하는 개발자였다. 현실에 찌들어 나를 위한 코딩을 하는 시간은 점차 줄어갔다. 소프트웨어 제조사의 코드를 생산하는 기계 중 하나가 되는것이 내가 원하는 삶의 목표였다. 그러다보니 회사와 나의 관계가 단지 거래관계라는것을 잊고 살게 되었다.
물론 사람들이 모여 서로 역할을 나눌 수 있는 회사는 개인에게 유용한 존재다. 개인간에 가치를 생산하고 거래를 하기 위해서는 많은 노력이 필요하기 때문이다. 고객이 필요로하는 가치를 직접 찾으러 다니고, 설득하고, 생산하고, 판매하고, 문제가 있으면 욕을 먹으러 다니는 일을 혼자서 다 할 필요가 없다. 하지만 회사에 기대어 생활하는것이 나의 전부가 되면서 심리적 안정감에 취해 더 이상 성장하지 않게 되었다.
대기업이든 중소기업이든 공공기관이든 그 어떤 조직에 가져다 놔도 사람은 똑같다. 입사할때는 굉장한 능력과 열정을 보이는 에이스여서 채용했더니 점차 월급루팡이 되어가더라는 이야기는 회사 대표나 관리자들 사이에서 심심치 않게 회자되는 이야기다. 현재 몸담은 조직의 일을 할만큼만 능력을 남겨두고 나머지는 전부 폐기처분하게 되는것이다. 취업이 목표인 사람은 결국 자신의 미래 가치를 내팽개치는 결과를 맞이한다.
스스로 사회에 기여할 수 있는 가치와 고객을 설정하지 않으면 머지않아 생산성은 바닥나게 된다. 아무리 망할 일 없는 든든한 조직의 울타리 안에서 생활한다고해도, 스스로의 생산성을 관리하지 못하면 급변하는 시대의 물결에 대처하지 못하고 사라져갈뿐이다. 당신의 직업이라고 영화관 간판을 그리는 화가, 주산학원, 기원이 되지 않으리라는 법은 없다.
'어제와 똑같이 살면서 다른 미래를 기대하는 것은 정신병 초기증세다'라는 말이 있다. 성공한 많은 사람들의 조언이 있지만, 굉장히 추상적이기도 하고 당연한 이야기로 들려서 확 와닿지 않는다. 하지만 그것은 나의 길에 대한 해답은 스스로 찾을 수 밖에 없기 때문이다. 나의 세계관의 한계를 넘기 위해서는 세계를 부수고 더 넓은 세상으로 나아가는 수 밖에 없다. 병아리는 살기위해 알 껍질을 깨고 세상으로 나온다.
당분간 나의 고객을 스스로 정의하고 문제해결을 위해 고민하는 시간을 보내려한다. 그러기 위해서는 평생 개발자로서 살아오면서 멀리했던, 익숙하지 않은 상황을 이겨내는 연습을 해야한다. 남들 앞에서 발표를 하거나, 다른 사람들과 어울리기 위해서 오프라인 모임이나 컨퍼런스를 나가서 교류하거나, 내가 가진것을 팔기 위해 얼굴 붉혀 가며 열심히 고객을 설득하거나 하는 경험들이다. 모든 순간이 부족한점을 채워나가는 감사한 시간들이다.
기계적으로 할 수 있는 일이 가치를 잃게 되는 시대가 되면 가장 가치있는것은 사람을 위한 일이된다.
감정노동을 하고 싶지 않아 개발자가 되었지만, 이제는 모든 사람들에게 요구되는 능력이 되었다.
사람이 AI와 함께 새 시대를 함께 살아가기 위해서는, 사람은 사람다워야 하고 사람을 위한 일을 해야한다.
좋은 개발자로 성장하기 위해서는 키보드를 놓고, 주변을 둘러보고 사람과 대화를 해야한다.
스스로를 성장 할 수 있는 환경으로 던져야한다. 나의 미래 모습은 함께하는 사람들의 평균치에 수렴하게된다.
높은곳을 목표로 성장하는 사람들과 함께해라. 당장 주변에 그런 사람이 없다면 온라인에서라도 그런 활동을 해야한다. 업계의 트렌드, 새로운 언어와 지식을 배우고 능력있는 사람이 될 수 있도록 프로그래밍 등의 하드스킬을 갈고 닦는것은 그 이후의 일이다.
혼자서만 많은것을 알고 있으려 하지말고, 나누고 가르치며 성장하는 선순환을 만들어야한다. 내향적인 성격인 사람들이 개발자를 직업으로 선택하는 경향이 많은데, 같은 목표의식과 주제를 알고 있는 사람들끼리 소통하는것은 그나마 수월할것이다. 사람들과 함께해야 더 멀리, 빠르게 앞으로 나갈 수 있다.
세상에 완벽한 사람이란 존재하지 않는다.
마찬가지로 어느날 갑자기 평범한 개발자가 좋은 개발자가 되는것이 아니다.
스스로 부족함을 인정하고 더 나아지기 위해 노력해나갈뿐이다.
오늘의 나는 어제보다 더 좋은 개발자가 되었는가?
개발자로서 평생 살아갈것이라면, 계속해서 이 질문에 대한 답을 찾아야할것이다.
내일의 나는 오늘보다 더 앞으로 나아갈것이다.