Kitchen Soap – On Being A Senior Engineer
<aside> 💡 2012.10.25 쓰여진 글
</aside>
우리 분야에는 특히 생산적인 엔지니어를 만드는 요소에 대한 제도적 지식이 많이 있다고 생각합니다. 하지만 비기술적인 개인 기여자의 ‘전문자’ 역할과 책임에 관한 경영 분야의 책은 많이 있지만, 좋은 시니어 엔지니어의 조건에 대해 직접적으로 조명할 수 있는 최신 서적이나 게시물은 많지 않은 것 같습니다. 물론 최근 엔지니어링의 문화적 측면에 대해 꽤 많은 글을 올리고 있는 Kate Matsudaira는 예외입니다.
하지만 동시에 제가 아는 성공한 엔지니어들 중 상당수는 ‘시니어’의 의미를 가르쳐 준 멘토를 기억합니다.
하지만 저는 O’Reilly가 쓴 웹 운영 책에서 ‘시니어’가 되는 것에 대한 제 친구 테오의 말에 100% 동의합니다.
X세대(그리고 더 나아가 Y세대)는 즉각적인 만족을 추구하는 문화입니다. 저는 머리가 좋다는 이유만으로 5년 안에 엔지니어링 그룹의 최고 직급에 오를 수 있는 ‘커리어 패스’를 기대하는 엔지니어들과 함께 일해 왔습니다. 제가 목격한 수많은 사례에서 이는 불가능에 가깝습니다. 누구나 시니어가 될 수 있는 것은 아닙니다. 5년 후 시니어가 되었다면 최고의 자리에 오른 것일까요? 5년이 더 지나면 더 귀중한 경험을 쌓지 못할까요? 그 다음에는 어떻게 될까요? “슈퍼 엔지니어”? 5년 더? “슈퍼 슈퍼 엔지니어”. 저는 이 고통에 대해 우리 분야의 젊은이들을 탓합니다. 사실 웹 운영 분야에서 15년 동안 일한 엔지니어는 거의 없습니다. 우리 업계의 역동성을 고려할 때 많은 사람들이 관리직으로 이동하거나 위험을 무릅쓰고 창업에 뛰어들었습니다.
그의 말이 맞습니다. 이 웹 운영 분야는 아직 상당히 젊은 분야입니다. 따라서 ‘시니어’라는 직함을 가진 사람들이 기술적이든 비기술적이든 미숙한 행동을 보여도 놀라지 않을 수 없습니다. 아직 테오의 챕터를 읽어보지 않으셨다면 꼭 읽어보시길 권합니다.
그렇다면 이 분야에서 ‘시니어’가 된다는 것은 실제로 어떤 의미일까요? 저는 시니어로 간주되는 엔지니어를 채용하고, 지원하고, 유지하는 일을 담당하고 있기 때문에 그 의미에 대해 확실히 알고 있습니다. 경력 개발 측면에서 통과해야 할 기준이 있다는 개념은 좋은 생각이지만, 이러한 기준은 단순한 체크 박스 목록이 아니라 다양한 스펙트럼에 존재한다는 점을 덧붙이고 싶습니다. 직급이 승진에 반영된다고 해서 어느 날 갑자기 ‘시니어’가 되는 것은 아닙니다. 시니어 엔지니어가 모든 것을 아는 것은 아닙니다. 시니어 엔지니어는 기술지식이 완벽하지 않을 수 있으며, 이는 괜찮습니다.
직급과 모호한 기대치를 혼동하지 않기 위해 저는 엔지니어링 성숙도를 언급할 것입니다.
의미는 이렇습니다. 저는 ‘시니어’ 엔지니어가 성숙한 엔지니어가 되기를 기대합니다.
성숙한 엔지니어가 어느 정도 숙달하거나 이해해야 하는 기술 영역(”네트워킹”, 파일 시스템”, “알고리즘” 등)을 간단히 나열할 수 있는 부분은 생략하고, 대신 엔지니어링 영역에서 조직이나 비즈니스에 긍정적인 영향을 미칠 수 있는 개인적 특성을 강조하고자 합니다.