brunch

You can make anything
by writing

C.S.Lewis

by 정주홍 Aug 14. 2018

시니어를 꿈꾸며

생각의 흐름

최근 들어 시니어라는 단어를 자주 말하곤 한다. 작년 9월부터 일하기 시작한 스타트업에서 충원을 해야하는 상황이 되기 시작하면서 구인을 위해 더 많은 신경을 쓰게 됐다. 대기업이나 이미 인지도가 있는 회사들이 개발자들을 몽땅 데려가려고 하는 상황에서 이직을 원하는 훌륭한 시니어 개발자는 거의 찾기가 어렵다고 느낀다. 그렇다면 내가 시니어를 찾는 이유는 무엇일까 고민이 들기 시작했다.


그에 앞서 애매모호하게 생각하고 있는 "시니어 개발자"라는 사람은 어떤 사람으로 정의할 수 있을까? 비슷한 고민을 하는 사람들이 매우 많을 거라 생각이 들어 구글링을 해보니 우아한 형제들 블로그의 글을 발견할 수 있었다. 대체적으로 내용에는 동의했다. 내가 생각하기에도 시니어 개발자라는 사람에게 바라는 점은 이렇다.

기술적 리딩

업무적 리딩

생산성 우위

난제의 해결

나 같은 경우 시니어 개발자가 있었으면 하는 때는 보통 문제 해결 방법을 도출한 뒤, 좋은 문제 해결 방법인지를 판단하기 어려울 때이다. 아직 나의 경험이 일천하다 보니 내가 도출한 문제 해결 방법이 정말 좋은 방법인지 의구심이 들 때가 종종 있다. 당장 주어진 요구사항은 만족할지 몰라도 앞으로 닥쳐올 다양한 추가적인 요구사항으로 인해 변경이 필요할 때 유연하게 대처할 수 있는 구조인지, 확장성은 충분한지, 내가 인지하지 못하는 문제 사항은 없는지에 대한 두려움이 있기 때문이다. 말하자면 위 4가지 항목 중 기술적 리딩과 난제의 해결 정도를 기대하는 셈이다.

결국 내가 시니어 개발자를 바라는 점을 생각해보면 내 의사 결정에 대한 부담감 때문이다. 잘 작성된 테스트 코드가 있는 것이 내 코드에 문제가 없음을 알려주는 심적 안정 장치 역할을 하기도 한다는 것을 생각해봤을 때, 나의 판단을 테스트해주는 누군가가 있다는 것은 굉장한 심적 안정감을 준다. 내 판단을 검증해주는 사람 없이 오롯이 나의 의사 결정에 의해서만 판단을 내리게 되는 경우 좋지 않은 결과를 초래하지 않을까 하는 걱정이 드는 것이 사실이다.


그렇다면 시니어 개발자가 없는 상황을 어떻게 타개해야 하는가를 고민해봤을 때 개인적인 답은 몇 가지로 추려진다. 1) 내가 시니어 개발자가 된다. 2) 외부의 조언자를 구한다. 3) 시니어 개발자가 없어도 발전할 수 있는 팀이 된다. 1번의 경우, 상당히 도전적이면서 현실적으로 어려운 답이다. 아직 경험해보고, 검증해봐야 할 것들이 너무나도 많다. 지금처럼 계속 끝없이 학습하고 도전한다면 언젠간 시니어 개발자가 되겠지만 당장 현실성 있는 답은 아닌 것 같다.

2번의 경우, 이번 회사에서 경험 많은 개발자 분으로부터 조언을 많이 받은 것이 큰 도움이 됐다는 점에서 자립성이 떨어질지는 모르겠지만 효과적인 방법이라고 생각한다. 나 같은 경우 학습을 위해 시간을 많이 쏟는 편인데, 자만스러운 생각일지 모르겠지만 계속 시간을 투자했다면 조언을 통해 알게 된 것들을 언젠가는 깨닫지 않았을까 조심스럽게 생각해본다. 어쨌든 지금까지 내가 학습해온 방식이 그러했으니까. 

하지만 그게 언제가 됐을지는 낙관적인 미래를 점치기 어렵다. 당장 다음 달이 어떻게 될지 알 수 없는 스타트업 세상에서 그건 너무 위험하다. 교육이라는 것이 결국 누군가로부터 도움을 받아 빠르게 학습하는 것임을 생각했을 때, 외부의 조언자는 선생님과 비슷한 역할이라고 생각한다. 누구도 교육을 받는 것을 나쁘게 생각하지 않는다. 또한, 나는 학습이 어느 정도 계단식 그래프와 비슷하다고 생각한다. 학습을 하다 보면 벽을 만나게 된다. 이때, 스스로 번뜩이는 아이디어를 생각해내지 않는 이상 벽에 막혀 발전하지 못한다. 당연히 이 벽을 스스로의 사고 과정을 통해 넘어선다면 너무나도 좋겠지만 우리에겐 시간이 없다. 이러한 상황에서 선생님은 큰 도움이 된다. 이번 경험을 되살펴보면 조언을 통해 알게 된 몇 가지 키워드들을 통해 생각지도 못했거나 어렴풋이 생각하던 것들을 자각하게 되어 학습에 큰 도움이 됐다.

3번 방법은 가능성 있으면서도 쉽지 않다. 대학교에서 팀 활동이 얼마나 어려운지는 많은 사람들이 경험해보지 않았나. 나 혼자서만 잘하면 되는 것보다 다 같이 잘하는 게 더 어렵다. 하지만 좋은 사람들과 함께라면 가능하다. 서로 치열하게 토론하면서 좋은 답을 찾아나가면서 함께 성장할 수 있고, 내가 무슨 일을 하더라도 팀원들이 백업해줄 수 있다면 할 수 있다. 내가 과감하게 무언가를 시도해보자고 했을 때, 다 같이 내 의견을 비판해주고 나 역시 그 비판하는 의견을 기분 나빠하지 않고 반박하면서 서로 토론한다면, 그 시간이 우리 모두에게 학습 경험이 되며 좋은 답을 도출하는데 도움이 된다. 갑자기 데이터베이스에 문제가 생겨 내가 긴급하게 처리를 해야 하는데 그 일 말고도 반드시 일정 내에 처리되어야 하는 일이 있을 때 팀원들이 백업해줄 테니 데이터베이스 관련 문제를 먼저 처리하라고 해줄 수 있다면, 시니어 개발자가 없을지언정 함께 좋은 결과를 만들어낼 수 있다.

하지만 쉽지 않다. 너무 개인을 제외하고 팀 단위로만 생각하는 것도 꼭 좋다고 볼 수 있을지 모르겠다. 누군가는 내가 일을 더 하고 있는 것 같다는 생각에 아쉬운 마음이 들 수도 있다. 누군가 말하기를 집단에서 가장 즐거운 사람은 중간보다 조금 아래인 사람일지도 모른다고 한 적이 있다. 그 사람은 집단 내에서 성장하는 즐거움을 느낄지 모르지만 (직급과 상관없이) 가장 위에 있는 사람은 스스로 성장하는 느낌을 받지 못하거나 여러 가지 이유로 다르게 생각할 수도 있다. 팀마다 구성원이 다르고, 사람마다 욕구가 다르듯이 함께 즐거운 팀이 되기 위해서는 제각각 팀마다 다른 고민이 필요할 것이다.

좋은 사람을 찾는 것은 언제나 어렵다. 잘 살고 싶다는 말이 어려운 것과 비슷하다. 잘 사는 게 뭔데? 단순히 "좋다"라는 단어 속에 너무나도 많은 조건들이 함축되어 있고, 상황마다 조건이 달라진다. 그러나 좋은 사람과 함께하면 바쁜 스타트업 세상에서 함께 어려움을 헤쳐나갈 수 있다. 힘들더라도 즐거울 수 있다. 옆자리 팀원이 헤매고 있을 때 내가 도와줄 수 있고, 내가 헤맬 때 뒷자리 팀원이 도움을 준다면 바쁜 와중에도 즐겁게 개발할 수 있다. 개 같은 상황이 발생했을 때 함께 머리를 맞대고 좋은 해결 방법을 도출한다면 시니어 개발자가 없어도 재밌게 상황을 헤쳐나갈 수 있다. 그렇기 때문에 나는 좋은 팀을 꾸려서 함께 성장하고 싶다. 좋은 사람을 찾는 과정이 어려울지라도 계속 노력해야 하는 이유가 아닐까. 우리 모두 행복해지기 위해서 말이다.

작가의 이전글 번역: Hadoop에서 업데이트를 하는 법
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari