시니어 프로그래머입니까?
TD(Technical Director)가 되고 싶다. 주니어(junior)일 때 가졌던 막연한 커리어 패스였다. 하지만 안개 뒤에 어렴풋이 보이는 멀리 있는 봉우리만 보이는 산이었다. 어떻게 갈 것인가?
무협지처럼 기인을 만나면 한 번에 갈 수 있겠지. 하지만 과도한 도시화로 기인이 살 곳이 없는 시대다. 시대를 잘못 타고났다. 그래. 그럼 다음 단계인 시니어로 가면 더 명확히 보이겠지.
난 시니어 프로그래머일까? 시니어 프로그래머로 입사하고 난 뒤에 질문했다. 5년 차가 넘으면 시니어라고 부른다. 모든 사람이 어렴풋이 공유하는 기준을 5년 정도 일하면 넘는 것 같다.
저 시니어인가요?
팀장님에게 물어봤다. 아니란다. 술을 많이 드신 걸까? 몇 병 안 먹었는데. 주변에선 다 시니어 프로그래머라 부르는데.
- 어떤 문제든 알아서 할 수 있어야 한다.
- 문제에 대한 해결책을 여러 개 제시하고 그중 하나를 선택하고 그걸로 나를 설득할 수 있어야 한다.
난 당시 둘 다 잘하고 있다고 생각했다. 저 문장으로 표현 못 한 어떤 게 숨어있는 거 아닐까? 아니면 알아서라는 단어가 분리해도 될 다른 단어를 흡수하고 있는 걸까?
시니어 프로그래머 자격은 뭐지?
많이 묻고 다녔다. 쳐내버려 둬도 잘할 수 있는 사람이지. 이 대답이 가장 많이 나왔다. 물으면서 그리고 대답을 들으면서 생각을 정리할 수 있었다. 하지만 내가 원하는 단어를 못 찾았다.
문제 재정의를 잘하는 것 같다. 모호한 문제를 조금이라도 개선할 수 있는 문제로 재정의를 잘한다.
대화하다가 그제야 내가 찾던 단어를 발견했다. 그래. 문제 재정의였다. 알아서 잘한다는 얘기는 명확한 문제로 재정의할 수 있는 능력도 포함되는 거였다.
- 정의된 문제를 해결할 수 있다.
- 모호한 문제를 재정의할 수 있다.
난 현재 시니어를 이렇게 정의한다. 왜 자신이 시니어라고 생각하느냐고 묻는다면 이렇게 답할 것이다.
언제부터였을까? 내가 시니어가 된 것이.
시니어 자격으로 프로젝트에 지원한 건 5년 차. 내가 스스로 시니어라고 생각한 건 딱 잘라 얘기할 순 없지만 7년 차 정도였던 것 같다. 현실에는 왜 업적 시스템이 없을까? 달성했을 때, 휴대폰 알림이라도 오면 좋으련만.
좀 더 많은 사람에게 물어보면 좋았을 걸. 좀 더 일찍 이런 고민을 했으면 좋았을 걸. 하지만 지금이라도 알았으니 괜찮다. ’리드 프로그래머가 되려면 어떻게 하면 될까?’ 다음 질문이 생겼기 때문이다.
그때 팀장님을 만나 얘기할 기회가 있었다.
그때 하신 말씀 기억나세요? 이제 전 시니어 프로그래머가 맞습니다.
왜?
설명했다. 왜 내가 시니어인지.
맞네. 시니어 맞아.
커피값은 내가 계산했다.