대형 기술 기업에서 소프트웨어 엔지니어가 중급(L5), 시니어(L6), 프린시펄(L7) 등으로 성장하고, 매니지먼트 전환 여부를 고민할 때 알아야 할 커리어 경로와 승진 전략을 전 Amazon 부사장의 시각에서 정리한다.
기술 업계 전반에서 소프트웨어 엔지니어의 평균 재직 기간이 길어지는 추세인데, 특히 빅테크에서는 이 증가세가 매우 빠릅니다. 현재처럼 채용 시장이 냉각된 상황에서는 이직하는 엔지니어 수가 줄어들면서, 한 직장에 여러 해 머무는 일이 업계 전반에서 꽤 일반적인 일이 될 가능성이 있습니다.
그렇다면 현재 직장에서 장기 근속을 할 수 있겠다는 생각이 든다면, 그 안에서 어떤 커리어 경로가 가능한지, 그리고 다음 레벨로 어떻게 승진할 수 있을지를 생각해 보는 것이 합리적입니다.
이런 주제들에 대해 더 깊이 들여다보기 위해, 거대 기업에서 대규모 엔지니어 조직을 이끌어 본 사람을 찾았습니다. 바로 **Ethan Evans**입니다. 그는 아마존에서 엔지니어링 부사장을 지냈으며, 커리어 전반에 걸쳐 1,000명이 넘는 엔지니어(무려!)의 성장과 승진을 관리해 왔습니다.
최근 온라인 리테일 공룡에서 은퇴한 Ethan은 이제 대형 기업이 실제로 어떻게 운영되는지, 그리고 어떤 전술과 전략이 실제로 효과가 있어 사람들이 큰 조직 안에서 커리어를 잘 쌓도록 돕는지에 대해 솔직하게 이야기할 수 있습니다.
현재 Ethan은 엔지니어와 엔지니어링 매니저들에게 더 빠르게 승진하는 법을 가르치고, 라이브 코스를 운영하고 있습니다. 또한 24시간 내내 사용할 수 있는 개인화된 “AI 커리어 코치”를 만들었고, 주간 뉴스레터 Level Up에서 커리어 성장 조언을 공유합니다. 그의 빠른 커리어 성장 클래스는 현재 미국 추수감사절을 맞아 오늘부터 12월 2일까지 25% 할인 중입니다. 여기에서 자세히 볼 수 있습니다.
이 글에서 다루는 내용은 다음과 같습니다.
이 글 전반에서, 우리는 아마존의 커리어 레벨(아래 불릿포인트 리스트에서 굵게 표시)을 사용할 것인데, 이는 대부분의 회사와는 약간 다릅니다(비교용 레벨을 함께 표기했습니다). 레벨과 회사 간 비교에 대해서는 Levels.fyi에서 더 자세히 볼 수 있습니다.
아마존 Software Development Engineer(SDE) 커리어 레벨. L9는 아마존에만 있는 고유 레벨
아마존에서 소프트웨어 엔지니어로 일하는 것에 대해 더 알고 싶다면 심층 분석 글인 아마존 엔지니어링 문화 내부 들여다보기를 참고하세요.
그럼 이제 Ethan에게 이야기를 넘겨 보겠습니다.
경력 2~6년 사이라면, 즉 미드레벨 엔지니어 입장에서, 부사장(VP)이 수백 명의 엔지니어를 관리하는 시각에서 보았을 때 어떤 커리어 경로 선택지가 있을까요? 아마존 VP로 일하는 동안 저는 1,000명이 넘는 엔지니어의 성장과 승진을 지켜보았고, 이들 중 일부는 시니어 엔지니어로, 나아가 프린시펄 또는 스태프 레벨까지 성장하는 것을 보았습니다. 어떤 사람은 꽤 이른 시점에 매니지먼트로 전환했고, 어떤 사람은 커리어 후반에 가서야 매니지먼트로 옮기기도 했습니다.
여기서 “정답”이라고 할 수 있는 경로는 주관적인 것이며, 당신의 목표와 환경에 따라 달라집니다. 이 글에서는 이러한 경로들을 좀 더 높은 시야에서 바라보며, 리더들이 동료와 승진에 대해 어떤 선택을 하는지 이야기해 보겠습니다. 제 목표는, 여러분이 본인에게 맞는 경로를 선택하고 그 길을 성공적으로 헤쳐 나가도록 돕는 것입니다.
먼저, 아마존과 구글에서 사용하는 약어에 대해 간단히 짚고 넘어가겠습니다. 이는 다른 회사에도 levels.fyi 사이트를 통해 그대로 적용해 볼 수 있습니다. 미드레벨 엔지니어(SDE-2)는 이들 회사에서 레벨 5, 즉 L5입니다. 매니저의 첫 레벨도 L5입니다. 시니어 엔지니어(SDE-3)는 L6이고, 더 경험 많은 소규모 그룹 매니저도 L6에 해당합니다. 프린시펄 또는 스태프 엔지니어는 L7이고, 시니어 매니저(매니저들의 매니저로, 25~80명 규모의 팀을 이끄는 사람) 역시 L7입니다.
“L5”처럼 표기하는 것이 쓰기도 쉽고 짧기 때문에, 미드레벨 엔지니어(L5)가 성장하고자 할 때 선택할 수 있는 “세 가지 경로”를 이야기하면서 이 표현을 계속 사용하겠습니다. 이 세 가지는 다음과 같습니다.
커리어 경로를 생각할 때, 먼저 “아주 좋은” 성과가 어떤 모습인지부터 시작해야 합니다. 본인이 아주 뛰어난 L5 엔지니어로 인정받기 전에는, 아무도 그 사람을 시니어 엔지니어 또는 매니저 후보로 보지 않습니다. 그렇다면 VP의 입장에서 볼 때, “앞으로 더 맡길 수 있겠다” 싶은 좋은 L5는 어떤 사람일까요?
첫째, 독립적인 실행 능력입니다. 좋은 L5는 적절한 설계를 받으면 그걸 그냥 만들어 냅니다. 빠져 있는 세부 사항 일부는 스스로 채워 넣을 수 있고, 매일 혹은 매주 방향 지시를 받을 필요도 없습니다. 자신의 기술을 잘 알고 있고, 일을 끝낼 수 있으며, 문제가 생기면 언제 도움을 요청해야 하는지도 알고 있습니다.
둘째, 불평이 제한적일 것. 리더들은 까다로운 엔지니어를 어느 정도는 참아 줄 수도 있지만, 습관적인 불평꾼을 승진 후보로 생각하는 일은 절대 없습니다. 아이디어에 반박하고, 질문을 던지고, 동의하지 않는 것은 괜찮습니다. 그러나 일단 결정이 내려지면, 리더들은 설령 더 나은 방법이 있다고 생각하더라도 그냥 가서 일을 해내는 사람을 필요로 합니다. 마찬가지로, 모든 일자리에는 달갑지 않은 측면이 있습니다. 많은 엔지니어에게 이것은 DevOps의 Ops 영역, 즉 버그 수정, 서비스 마이그레이션, 온콜이 이런 부분입니다. 리더들은 새 기능 설계와 개발 같은 “재미있는” 일만 하고 싶어하는 사람을 승진시키는 데 주저할 것입니다. 왜냐하면 모든 일이 다 수행되어야 하기 때문입니다!
L6나 매니지먼트로 올라가기 전에, 당신은 현재 팀에서 가치 있고, 효과적인 구성원으로 보일 필요가 있습니다. 생각해 보십시오. 의미 있게 기여하지도 않고 함께 일하기도 힘든 사람을 누가 승진시키고 싶어 하겠습니까?
주변에서 “너랑 일하기 힘들다”는 피드백을 들었는데도, 본인은 재능이 충분하니 태도를 바꿀 필요가 없다고 믿는다면 — 그 믿음은 틀렸습니다. 디렉터나 VP는 수백 명의 엔지니어를 거느리고 있고, 동시에 “유감 없는 이직(unregretted attrition)” 할당량이 있습니다. 함께 일하기 고통스러운 동료를 이 할당량에 포함시키는 것은 리더 입장에서 꽤 괜찮은 선택입니다. Gergely의 노트: 아마존의 unregretted attrition 목표와 악명 높은 “PIP 문화”에 대해서는 아마존 엔지니어링 문화 내부 들여다보기에서 더 자세히 다룹니다.
이제 당신이 단단한 L5라고 가정해 봅시다. VP가 당신을 “L6 후보”로 보게 만드는 핵심 요소는 무엇일까요?
당신과 VP 사이에 레이어가 몇 단계 있더라도, 좋은 임원은 조직 내 최고 엔지니어들을 알고 있습니다. 제가 VP가 된 이후에는 L5를 승진 잠재 후보로 직접 뽑는 일에는 거의 관여하지 않았지만, 승인 과정에는 거의 항상 참여했고, 제 조직 전체에서 승진 기준을 일관되게 유지하기 위해 승진 논의가 이루어지는 자리에는 늘 함께했습니다.
L5에서 L6로의 ‘완벽한 승진 케이스’가 갖추어야 할 특징은 다음과 같습니다.
팀의 미션에 실제로 도움이 되며, 예상치 못한 방식으로 작동하는 가치 있는 아이디어를 제안하는 것. 우리는 L6에게 설계, 아키텍처 기여, 새로운 것의 발명(invent)을 기대합니다. 단지 시킨 것만 구현하는 단계를 넘어설 수 있음을 보여 주는 것이 다음 큰 도약입니다.
안티패턴: 엔지니어 본인에게만 흥미로운 끝없는 개인 프로젝트들. 예를 들면 새로운 언어나 도구를 배우는 일은 재미있을 수 있지만, 팀의 실제 필요에는 기여하지 않는 경우입니다.
리더들은 당신이 더 큰 도전을 스스로 감당할 수 있는지 보고 싶어 합니다. 프로덕트 매니지먼트와 협업해, 제품 목표를 만족시키는 설계를 함께 만들고, 그 복잡한 설계를 수개월에 걸친 꾸준한 작업으로 실제 구현해 낼 수 있습니까? 회사와 리더마다 기대하는 바는 조금씩 다르지만, 보통은 흥미로운 복잡성을 가진 신규 서비스를 설계, 구축, 출시하는 것과 비슷한 수준입니다. 혹은 오래되고 복잡하지만 여전히 중요한 레거시 서비스를, 유지보수 가능하고 현대적인 형태로 완전히 리팩터링하는 것도 여기에 해당할 수 있습니다.
속도를 높이는 팁: 완전히 새로운 니즈를 발굴하는 것보다, 이미 존재하지만 지저분한 리팩터링 기회를 따내는 편이 더 쉬운 경우가 많습니다. “새로운 것”을 혁신하기 위해 오래 기다리는 대신, 이런 일에서 시니어다움을 보여 주고 팀에 도움을 주면서 더 빨리 성장할 수 있습니다.
리더들이 거의 항상 깊이 인상 받는 패턴이 있습니다. 우리가 존재조차 몰랐던 큰 문제를 찾아내고, 그것을 해결하거나 해결에 착수하는 것입니다. 이는 판단력, 주도성, 팀에 기여하고자 하는 태도를 모두 보여 줍니다. 리더들은 이런 자질을 더 많이 원하기 때문에, 반드시 보상합니다.
당장 눈앞에는 보이지 않지만 곧 문제가 될 것들을 포착하고, 이것을 매니저에게 미리 알려 주며, 사전에 방지하겠다고 나서는 태도 역시 크게 평가받습니다.
특정 기술 분야에서 독보적인 전문성을 쌓아, 팀 내 사람들이 — 특히 상위 레벨 사람이 — 자주 찾아오는 사람이 되는 것은 매우 눈에 띕니다. 몇몇 L6가 “이런 문제는 늘 저 사람에게 물어본다”라고 말하기 시작한다면, 그것만큼 “L6 준비 완료”를 잘 보여주는 신호도 많지 않습니다.
팀에는 끊임없이 신규 입사자와 이직자가 들어오고 나가며, 매니저는 시간 부족으로 이들을 직접 멘토링하기 어렵습니다. 그래서 우리는 가르치고, 기술을 나누는 사람들을 높이 평가합니다.
안티패턴: “내 일은 코딩뿐이야. 건들지 마!” 온콜과 기타 업무를 회피하는 것과 마찬가지로, “난 개발만 할 거야”라며 도움을 주지 않는 사람은 위로 올라갈 수 없습니다.
이 능력은 종종 멘토링의 확장선에 있습니다. 자신의 아이디어에 다른 사람들을 설득해 동참시키거나, 주니어 팀원들의 업무를 조율하고 이끌어 어떤 일을 완수하는 능력은 성숙함의 신호입니다. 모든 시니어는 본인의 개인 업무를 넘어, 복잡한 작업을 조직하고 조율하며 관리할 수 있어야 합니다. 매니저가 채용, 해고, 평가 등을 담당하더라도, 시니어 IC는 더 큰 목표를 위해 다른 사람들이 자신과 함께 일하게 만드는 역량이 필수입니다.
안티패턴: 개인적으로 같이 일하기 어려운 사람은, 사람들을 하나로 모으는 것이 아니라 분열시키는 방향으로 작용합니다.
온콜을 단순히 순번이 돌아올 때마다 수행하는 데 그치지 않고, 근본 원인을 찾아내고, 시스템을 더 안정적으로 만드는 도구를 구축하는 사람들입니다. 일부 엔지니어는 운영 업무를 기피하려 들기 때문에, 이를 기꺼이 책임감 있게 해내는 사람은 더욱 높은 평가를 받습니다.
주말 장애가 터지면 가장 먼저 콜에 뛰어드는 사람, 분노한 고객사에 직접 찾아가겠다고 자원하는 사람. 이런 엔지니어는 비즈니스의 필요를 이해하고, 가장 중요한 순간에 우리가 의지할 수 있는 사람이라는 인상을 줍니다.
안티패턴: 위기 때 보이지 않거나, 남을 탓하거나, 불평만 하는 사람.
L6로 승진하기 위해 여기 열거한 모든 것을 다 해야 하는 것은 아닙니다. 하지만 더 많이 보여 줄수록 유리합니다.
위에서 L6로 성장했다는 인상을 주기 위해 할 수 있는 것들을 정리해 보았습니다. 그렇다면 실제로 무엇을 어떻게 해야 할까요?
가장 이상적인 것은 매니저와 커리어 목표를 솔직히 이야기하고, 구체적인 실행 계획을 함께 합의하는 것입니다. 이론적으로는 매니저가 당신의 성장에 대해 늘 고민해야 맞지만, 현명한 엔지니어는 이를 운에 맡기지 않습니다. 매니저와 대화를 나눔으로써, 성장 목표를 분명히 알리고, 매니저가 무엇을 기대하는지 구체적으로 들을 수 있습니다. 만약 지금의 L5로서의 성과에 대해 우려가 있다면, 승진을 논의하기 전에 그 문제부터 해결해야 합니다.
많은 엔지니어는 “관계가 중요하다”는 말을 싫어합니다. 기준은 객관적이어야 하고, “관점”이 평가에 개입하면 안 된다고 믿기 때문입니다. 하지만 현실에서는, 누가 새로운 일을 맡을 기회를 얻는지, 어떤 프로젝트가 정말 L6급 스코프인지 같은 중요한 것들이 상당 부분 “부드러운 판단(soft judgment)”에 의존합니다. 기억하세요. 여러분의 매니저도 대부분 처음에는 엔지니어였습니다. 그들 역시 어떤 프로젝트가 쉬운지, 복잡한지 설득력 있게 주장할 수 있는 사람들입니다.
또 어떤 엔지니어는 “관계를 쌓으라”는 말을 듣고 곧바로 “아첨하라는 말이냐”고 받아들이기도 합니다. 제가 말하는 것은 그런 의미가 아닙니다. 더 나은 관점은, 단순히 “함께 일하기에 즐겁고, 도움이 되는 사람”이 되는 것입니다. 팀에 L5가 본인뿐만이 아닐 가능성이 크며, 매니저 역시 여러분과 마찬가지로, 친절하고 협력적인 사람을 도와주고 싶어지고, 까다롭고 성가신 사람에게는 덜 신경 쓰고 싶어지기 마련입니다.
매니저와 계획에 합의했다면, 단단한 L5로 인정받은 시점에서부터 승진까지는 보통 1~2년이 걸린다는 점을 이해해야 합니다. 자신의 역량을 보여 줄 수 있는 방법은 많고, 위에 나열한 모든 것을 할 필요는 없지만, 1년 이내에 충분한 사례를 만들어 내기는 매우 어렵습니다.
어떤 사람들은 “시간”이라는 개념 자체를 받아들이기 힘들어합니다. 자신의 머릿속에서는, 특정 스킬을 마스터했다는 느낌이 드는 순간 곧바로 승진이 따라와야 한다고 믿습니다. 그러나 리더의 입장에서 보면, 그렇게 단순하지 않습니다. 당신은 이미 마스터했다고 느낄지 모르지만, 바깥에서 보기에는 그 사람이 진짜로 뛰어난지, 아니면 첫 시도에서 운이 좋았던 것인지 구분하기가 쉽지 않습니다. 우리는 실수를 피하고 싶기 때문에, 운이 아니라 실력이 맞는지 확인하기 위해 여러 번에 걸쳐 결과를 보고 싶어 합니다.
그렇다고 해서 속도를 포기할 필요는 없습니다. 가능한 한 빨리 움직이는 방법은, 매니저와 이야기해 분명한 계획을 세우고, 그 계획을 하나씩 차근차근 실행해 나가는 것입니다. 새로 멘토링할 사람을 언제 뽑을 수 있을지, 큰 장애가 언제 터질지는 당신이 알 수 없습니다. 할 수 있는 최선은, 어떤 요소를 먼저 보여 줄지에 대해 유연하게 사고하고, 기회가 생길 때마다 과감히 잡는 것입니다. 타이밍이 정말 맞지 않는다면 프로젝트를 거절해도 괜찮지만, 그 경우 그 기회를 잡은 동료보다 승진이 느려지더라도 놀라지 말아야 합니다.
이제 L5에서 L6로의 승진을 살펴보았으니, L6에서 L7로의 승진을 이야기해 봅시다. 기본 원칙은 동일합니다. 먼저, 자신의 레벨에서 확실히 좋고, 믿을 만한 L6로 인정받아야 합니다. 그 다음, 목표를 매니저와 공유하고 계획을 세우는 등의 과정을 거치는 것이죠. 이 글의 다음 부분에서는 프린시펄/스태프(L7)로의 ‘완벽한 승진 케이스’를 구성하는 핵심 요소들을 다루게 됩니다.