Self Development Talk
으레 연말마다 Engineering Manager(EM)와 Development Talk라는 미팅을 한다. 개발자에게는 1년을 뒤돌아보고 앞으로 계획을 세운다는… 중요한 것 같지만 막상 해보면 답이 없고 매년 비슷한 과정이다. 동료 리뷰를 모으고 EM이 미리 요청한 형식의 문서를 채우면 두 개를 바탕으로 한두 시간의 대화를 한다. 대부분 비슷한 시기에 Development Talk를 진행하기 때문에 서로 리뷰를 비슷한 때에 요청해서 매일같이 다른 사람들 리뷰를 써주느라 바쁜 시기이기도 하다.
우리나라에서 했던 평가와 다른 점은 대화가 많은 부분 개인에게 달려있다는 것. 그리고 평가(evaluation)보다는 회고(reflection)에 가깝다. Evaluation이라는 말은 채용 인터뷰 말고는 거의 사용하지 않는 듯. 이 회사의 업무 문화에 top-down이 거의 없고 자유도가 높은 것과 마찬가지로, 타인이 내게 주는 피드백만큼 스스로 회고하고 목표를 세워보는 self-development 과정을 똑같이 중요하게 본다.
자기 주도적인 커리어 관리는 나처럼 상대적으로 수동적인 문화에서 자란 사람뿐만 아니라 대다수에게 어려운 것 같다. 여기에는 여러 가지 이유가 있다고 생각하는데, 하루하루 맡은 바를 해치우는 짧은 사이클에 만족하는 사람들도 있고, 일을 하긴 하는데 개발이 자기가 딱 원하는 일이 아닌 경우도 있었고, 열정적으로 커리어를 관리하지 않아도 될 만큼 현상태에 만족하기 때문이기도 하다. 그러나 내가 아무리 데브톡에 준비가 안 되어있더라도, 멘토링을 오랫동안 교육받은 EM은 끝없이 개인에게 질문을 한다: 앞으로 목표가 무엇인가? 언제 가장 행복하고 보람을 느끼는가?
그래서 다시 한번 회고를 준비하면서, 벌써 지금 회사에 다닌 지 4년째에 경력 10년 차를 곧 채우게 되는 지금, 개발자로서의 나는 어떤 상태이고 10년을 꽉 채웠을 때 어떤 상태이고 싶은가. 그런 새삼스러운 질문들을 해본다.
요즘 가장 문제 되는 것은 여러 종류의 불안감. 새 팀에서 새로운 사람들과 새로운 플랫폼을 만들 때 으레 느끼는 뒤쳐지는 느낌. 사실 이런 기분은 도전의 다른 이름이기도 하지만, 회사 4년 차가 되어 몇 살씩 어린 사람들과 일하기가 점점 어려워지고 더 현명해져야겠다는 생각이 든다.
새로운 사람들은 저마다 새로운 지식과 아이디어와 분위기를 들고 온다. 일차원적으로 뼈 때리는 것은 늘 아무개(특: 나보다 n살 어림)가 더 아는 만큼 뒤쳐져있다는 느낌. 딱밤을 정확하게 딱 맞는 것 같은 이 기분은 딱밤을 계속 계속 맞아도 새롭게 아픈 것처럼 익숙해지지 않는다. 그 이유는 나이가 들고 회사에서 입지를 조금 굳히면서 고개를 슬며시 드는 자만감이 만드는 뒤틀린 환상 - 나는 누구보다 더 많이 잘 알아야 한다는 잘못된 오만함을 누구보다도 믿고 싶기 때문이지 않을까. 하지만 세상에 알아야 할 것은 많고 안타깝지만 점점 많아지는 중이고, 똑똑하고 나보다 개발 잘하는 사람들은 너무나 많더라. 그렇기 때문에 우리는 딱밤이 너무 아프더라도 계속 주변을 환기시키면서 앎의 차이를 경쟁적으로 보지 않고 겸손해져야 한다.
그런데 '딱밤 현상'을 다르게 보면, 그 길이 나의 길이 아닐 수도 있고 내가 가진 지식은 저들이 가진 지식과 다를 수도 있다고 생각한다. 거의 10년 동안 나보다 수학 잘하고 개발 잘하고 A가 어떻게 동작하고 B가 어떻게 구현되었고 줄줄 읊는 사람들은 여럿 봤다. 심지어 그들에게도 모르는 것이 있고 더 날고 기는 사람들이 어딘가에 있겠지. 하지만 그들이 자기들의 리그를 하는 동안 나도 나름대로 길을 닦아 지금 여기까지 왔고, 그 사이에 배우고 경험한 것들을 묶어서 지식으로 부르기에 충분하지 않은지.
공부를 소홀히 해도 된다고 말하는 것은 아니고 읽기는 업무의 중요한 부분 중에 하나지만, 그동안 많은 사람들과 같이 일해보니 디테일로 승부를 보는 사람들이 있는 반면 나머지 사람들은 또 다른 것들을 나름대로 잘했다. 또한 여기에 ‘다른 것들’로 뭉뚱그려진 것들 모두 중요하다. 예전에는 다양성을 생각하지 못하고 한 방향으로 전념해야 하는 줄 알았지만, 이제는 모두의 장점과 단점이 서로를 보완하여 하나로 어우러지는 모습 안에 우리가 진짜 팀으로 일하는 가치가 있다는 것을 알고 있다. 서로를 보완해주는 팀은 개개인이 평범해 보인다 하더라도 정말 매끄럽게 하나로 움직이며 앞으로 착착 나아간다. 지난 2년간 시니어로 일하면서 배운 교훈 중 하나였다.
Staff engineer archietypes에는 여러 가지가 있다.
Team Lead
Architect
Solver
Right Hand
글쓴이는 여러 명과의 인터뷰를 바탕으로 네 가지 타입으로 staff engineer를 나누었다고 하는데, 다른 말로 하면 조직에 네 가지 타입의 리더십 있는 개발자가 전부 필요하다는 뜻인 것 같다. 하지만 archietype은 아주 포괄적인 카테고리에 불과해서, 승진에 대한 이야기를 들어보면 staff engineer까지 도달하는 방법은 저마다 다양하다고들 한다. 또 senior engineer 승진은 연차가 차면 자연스럽게 오기 마련인 반면 staff engineer는 상황이 받쳐주고 회사와 케미가 맞아야만 얻을 수 있는 자리이므로 한 번 이상 지원하는 것도 흔하다.
내가 staff engineer가 되고 싶은지 아직 확실하지 않다. 그럼에도 불구하고 이제 EM과 사내 커리어 프레임워크를 주기적으로 보면서 내 위치를 확인하고 부족한 부분을 이야기하기 시작했다. 당장 일이 년 안에 승진을 하지 않더라도 방향을 그쪽으로 두고 일을 하는 것이 바람직하지 않을까 해서. 또 이곳에서 일하는 동안 커리어 프레임워크가 정리된 회사에 다니는 이점을 잘 사용해야 한다. 그래서 개발자의 리더십 역량이나 임팩트를 배워두고 언제 어디서 일 하더라도 이정표로 쓰도록 간직하고 있어야지.
여러 팀에 걸쳐 임팩트가 있는 일을 해야 한다는데. 슬프지만 이런 기회는 모두에게 공평하게 오는 것이 아니라서 당장은 우리 팀에서 나만이 메꿀 수 있는 공간을 찾고 가까운 사람들에게 평판(!)을 쌓는 일부터 시작해야 한다.
또 요즘 가장 많이 생각하는 것은 지금 하는 일을 성과로 잘 정리하는 방법이다. 나는 사람들이 결정이 필요할 때 적절한 의견을 주고 도움이 필요할 때 페어가 되어주는 일에 시간을 많이 쓰고 있는데, 그렇게 함으로써 다른 사람들이 막힌 부분을 뚫어주는 것이 시니어의 역할이라고 생각하기 때문이다. 하지만 비록 나의 도움으로 그가 한 고비를 넘겼더라도 가시적으로 마지막 공을 가지고 가는 것은 내가 아니라 동료이기 때문에, 일을 하고 있긴 한데 결과가 없는 것 같은 허무함을 스스로도 느끼고 있었다. 이건 individual contributor에서 시작해서 리더가 되는 과정에서 너무 자연스러운 고민인 것 같다.
꼭 코드를 쓰고 배포해야만 개발이 아니고 지식이 다양하듯 성과도 다양하므로, 일단 나부터 내 생각과 시간이 어떻게 흘러가는지 잘 기록해야겠다는 생각을 한다. 그때그때 아는 대로 의견을 주기도 하지만, 시간을 들여 공부하고 생각을 정리할 때도 많기 때문에 이런 과정을 짧은 문서로 남긴다던가. 내가 기여했다고 생각하는 중요한 문서를 따로 분류해둔다던가. 이렇게 하나둘 모아놓고 나중에 다시 보면 또 다른 길이 보일지도 모르겠다.
현실은 컴퓨터 앞에서 초콜릿을 까먹으면서 머리를 쥐어뜯지만, 나만의 방법으로 이 고민을 돌파하리라 믿으며 일단 당장 할 수 있는 일들을 해본다. 어떤 것도 당연하게 받아들이지 않고. 달려가는 대화를 붙잡아 세워 이기적으로 결정하지 못하게 막고. 모두가 아는 척 가만히 있을 때 나에게 설명해달라 손을 들고. 소리쳐 요구하고 시끄럽게 칭찬하고 축하하며.