이 영상은 '프래그매틱 엔지니어'의 저자이자 창립자인 거젤리 오로즈와의 대담을 통해 AI 시대의 소프트웨어 엔지니어링 변화와 커리어 전략에 대해 심도 있게 다룹니다. 특히, 우버에서의 혼돈 속 성장에 대한 경험, 성공적인 엔지니어의 특징, 그리고 AI가 코딩 능력을 대체하는 현상에 대한 엔지니어의 깊은 고민과 앞으로 필요한 역량에 대해 친절하고 명확하게 설명합니다. AI 시대에 엔지니어로서 어떻게 성장하고 발전해야 할지 고민하는 분들에게 실질적인 조언과 통찰을 제공합니다.


1. 테크 커리어 시작과 우버에서의 경험

거젤리 오로즈는 고등학교 때부터 PHP로 코딩을 시작했지만, 대학교에서 컴퓨터 공학을 전공하면서 이론 위주의 학습에 흥미를 잃을 뻔했다고 합니다. C언어와 3D 그래픽 같은 어려운 과목들을 통해 좌절도 겪었지만, 결국 소프트웨어 개발에 대한 열정을 발견했습니다. 그는 이러한 기초 지식이 나중에 LLM(거대 언어 모델)과 GPU의 연관성을 이해하는 데 큰 도움이 되었다고 회상합니다.

"저는 LLM이 많은 매트릭스 변환이라는 것을 이해하고, 3D 그래픽도 모두 매트릭스 변환과 GPU에 관한 것이며, 매트릭스 변환은 병렬화될 수 있고 GPU는 병렬화에 능하기 때문에 이것이 작동하는 방식이라는 것을 이해합니다."

이후 헝가리와 영국에서 컨설팅을 거쳐 스카이프와 스카이스캐너 등 여러 회사에서 경력을 쌓았고, 마침내 2016년, 가장 뜨거웠던 회사인 우버에 합류하게 됩니다. 당시 우버는 엄청난 성장세로 떠들썩했지만, 내부적으로는 '덕테이프와 구글 시트'로 간신히 버티는 혼돈의 현장이었다고 말합니다.

"밖에서는 우버가 훌륭해 보였지만, 내부에서는 모든 것이 덕테이프와 구글 시트로 연결되어 있었습니다."

그는 우버가 마이크로서비스 아키텍처를 채택한 배경에는 당시 급격한 인력 확장에 대비하여 초급 엔지니어들을 효율적으로 활용하기 위한 전략이 있었다고 설명합니다. 즉, 소수의 시니어 엔지니어들이 플랫폼 팀에서 인프라를 구축하고, 주니어 엔지니어들이 독립적인 서비스를 개발하면서 빠른 성장을 경험하게 하는 방식이었죠. 하지만 많은 회사들이 이면의 전략은 간과한 채 마이크로서비스 도입만을 맹목적으로 따라 했다고 지적합니다.

우버의 혼돈 속에서도 거젤리는 많은 것을 배웠다고 회상하며, 당시 구글에서 이직했던 한 엔지니어가 우버의 혼란스러운 상황에 적응하지 못하고 일주일 만에 퇴사했던 일화를 들려줍니다. 이후 그의 매니저는 "문제를 숨기지 말고 솔직하게 말하라"며 투명한 소통의 중요성을 강조했다고 합니다.

"저는 이 사람이 그만둬서 다행이라고 생각해요. 그에게는 더 나은 일이었지만, 애초에 합류하지 말았어야 했죠."

우버는 당시 자체 데이터센터를 구축하는 등 독자적인 기술 스택을 고집했는데, 이는 모든 것을 자체적으로 구축하면서 엔지니어들이 깊이 있는 지식과 경험을 쌓을 수 있는 기회가 되었다고 평가합니다.


2. 매니저로의 전환과 성공적인 엔지니어의 조건

거젤리의 매니저로의 전환은 다소 우연한 계기로 이루어졌습니다. 우버 합류 당시 그는 iOS 개발자로 지원했지만, 막상 면접에서는 백엔드 개발자 포지션을 제안받았고, 심지어 입사 직전에는 안드로이드 개발을 요청받았다고 합니다. 당시 우버는 3개월 만에 앱을 완전히 재개발하는 대규모 프로젝트를 진행 중이었고, 거젤리는 이 프로젝트의 문제점을 직시하고 솔루션을 제시하면서 자연스럽게 프로젝트 리더 역할을 맡게 되었습니다.

"저는 '아, 우리 프로젝트는 재앙이라고 생각해요'라고 말했죠."

프로젝트를 성공적으로 이끈 후, 그는 정식 매니저가 됩니다. 당시 우버는 매니저 직책이 수평 이동(lateral move)에 가까워 급여 인상 같은 직접적인 혜택이 없었지만, 거젤리는 새로운 역할에 대한 학습 기회를 택했습니다.

그는 성공적인 엔지니어들의 공통점으로 '프로덕트 중심적인 사고(product-minded)'를 꼽았습니다. 이들은 단순히 코드를 잘 짜는 것을 넘어, 비즈니스의 목표와 사용자의 필요를 깊이 이해하고, 능동적으로 제품 개선에 기여하려는 자세를 보였습니다.

"그들은 우리가 무엇을 하려는지 이해했어요. 그들은 경쟁 앱들이 무엇을 하는지 테스트하기 위해 솔선수범했습니다. 저는 그들을 '제품 중심적인 소프트웨어 엔지니어'라고 부를 것입니다."

또한, 이러한 엔지니어들은 다른 팀원들과 적극적으로 소통하고, 제품 관리자와 정기적으로 만나 비즈니스 현황을 파악하며, 기능 제안이나 개선 사항을 적극적으로 제시했다고 합니다. 불필요한 기능에 '아니요'라고 말할 수 있는 용기도 갖추고 있었죠.

매니저가 되려는 사람들에게는 멘토링을 즐기는 자세실제로 매니저 역할을 경험해볼 기회를 잡는 것이 중요하다고 조언합니다. 특히 우버의 견습 매니저 프로그램처럼 안전한 환경에서 시도해볼 수 있다면 더욱 좋다고 덧붙였습니다. 그는 매니저가 되었다가 다시 개인 기여자(IC)로 돌아온 엔지니어들이 매니저의 입장을 이해하고 협력하며 더 훌륭한 엔지니어로 성장하는 모습을 보았다고 합니다.


3. AI 시대, 엔지니어의 역할 변화와 커리어 조언

거젤리는 AI가 코드를 작성하는 시대가 도래하면서, 오랫동안 쌓아온 코딩 기술에 대한 회의감을 느꼈다고 솔직하게 고백합니다.

"AI가 코드를 작성하는 상황에서, 10년 이상 정말 좋은 프로그래머가 되기 위해 노력한 모든 것이 거의 사라진 것처럼 느껴집니다."

과거 코딩 테스트가 엔지니어의 끈기(grit)와 지능(smartness)을 평가하는 중요한 기준이었다면, 이제 AI가 이 역할을 대체하면서 모든 사람이 코딩을 할 수 있게 되었다는 현실에 대한 상실감을 표현했습니다. 특히 최신 LLM이 자신이 직접 작성하는 코드만큼 혹은 그 이상으로 좋은 코드를 생성한다는 사실에 놀라움을 금치 못했다고 합니다.

AI 시대에 전문성을 갖는다는 것에 대해 그는 '1만 시간의 법칙'이 더 이상 유효하지 않을 수 있다고 이야기합니다. AI 도구를 능숙하게 사용하는 데는 훨씬 적은 시간이 소요될 수 있다는 것이죠. 하지만 그렇다고 해서 학습과 노력의 중요성이 사라지는 것은 아니다라고 강조합니다. 성공적인 전문가들은 AI를 단순히 결과물을 내놓는 도구로 사용하기보다, 자신이 주도적으로 문제를 이해하고 해결하는 과정에서 AI를 보조 도구로 활용하는 사람들이 될 것이라고 말합니다.

"AI는 모든 것을 알기 때문에 학습을 건너뛸 수 있다고 말할 수도 있지만, 저는 모든 직업에서 성공할 사람들은 노력을 기울이고 사물을 이해하며 AI를 도구로 사용하는 사람들이라고 생각합니다."

그는 AI가 제공하는 정보에 대한 비판적인 사고의 중요성을 강조하며, 초보자가 AI 답변을 맹신하는 경향을 경고하는 흥미로운 연구 결과를 언급합니다. 자신의 경험을 예로 들어, AI가 제공한 법률 자문이 실제 변호사의 견해와 달랐던 사례를 이야기하며, '실세계의 맥락(real world context)'과 '전문가적인 권위(professional authority)'의 중요성을 강조합니다.

"초보자로서 저는 챗GPT를 절대적으로 믿었을 것입니다. 하지만 결과적으로는 정보가 누락되어 있었고, 실제 세계에 대한 인식이 없었으며, 이러한 문제에 대한 훈련 데이터가 없었습니다."

이러한 맥락에서 그는 AI가 아무리 뛰어나다 해도, 사업상 중요한 소프트웨어를 개발할 때는 문제가 발생했을 때 책임지고 해결할 수 있는 '사람'이 필요하다고 말합니다.


4. 커리어 트렌드와 미래 엔지니어의 필수 역량

최근 소프트웨어 엔지니어링 업계에서는 여러 가지 커리어 트렌드가 나타나고 있다고 합니다.

  • 팀 규모 축소: 전통적인 '두 피자 팀(5~10명)'에서 '한 피자 팀(2~4명)'으로 팀 규모가 작아지고 있습니다.
  • 엔지니어링 매니저 역할 축소: 매니저 포지션이 줄어들고, 더욱 실무 지향적인(hands-on) 매니저의 역할이 강조됩니다. 많은 회사가 소수의 디렉터와 다수의 테크 리드로 구성된 수평적인 조직 구조로 회귀하는 경향을 보입니다.

"엔지니어링 매니저의 경력은 점점 더 흔하지 않고, 덜 수익성이 높아지고 있습니다."

과거에는 잦은 이직이 빠른 연봉 인상과 직급 상승에 유리하다는 인식이 있었지만, 이는 시장이 활황일 때만 해당되는 조언이라고 지적합니다. 장기적인 관점에서 리더십 포지션을 목표로 한다면, 한 회사에서 3년 이상 머물며 자신의 결정에 대한 영향력을 보여주는 것이 중요하다고 강조합니다.

"잦은 이직은 리더십 포지션을 원하거나 매우 시니어한 개인 기여자로 고려되고 싶을 때 붉은 깃발이 됩니다."

또한, 단순히 맡은 일을 잘하는 것만으로는 충분하지 않으며, 자신의 성과를 적절히 알리는 것(promotion)의 중요성을 역설합니다. 특히 대규모 조직에서는 자신의 기여를 알리는 것이 필수적이며, 이를 통해 정당한 평가를 받을 수 있다고 합니다.

미셸 하시모토의 말을 인용하며, '빈 GitHub 프로필'을 가진 엔지니어들의 가치를 강조합니다. 화려한 사이드 프로젝트나 오픈 소스 기여가 없더라도, 맡은 업무에 100% 집중하여 효율적으로 최고의 결과물을 내는 엔지니어들이 있으며, 이들이 오히려 더 뛰어난 경우가 많다는 것입니다.

"최고의 엔지니어는 종종 빈 GitHub을 가지고 있습니다. 그들은 실제로 오후 6시에 정시에 퇴근해서 아이들을 데리러 갑니다. 그들은 오전 8시에 출근해서 8시간 동안 정말 집중해서 일합니다."

AI 시대에 소프트웨어 엔지니어에게 가장 중요할 3가지 역량은 다음과 같습니다:

  1. 적응력(adaptability): 끊임없이 변화하는 기술 환경에 유연하게 대처하는 능력.
  2. 호기심(curiosity): 새로운 기술과 지식을 탐구하려는 자세.
  3. 자아를 내려놓기(leaving your ego at the door): 기존의 신념이나 방식에 얽매이지 않고 새로운 것을 받아들이는 개방적인 태도.

그레이디 부치(Grady Booch)의 '추상화의 비약(leap of abstraction)' 비유를 통해, 과거 어셈블리어에서 고수준 언어로의 변화를 예로 들며, AI가 코드를 작성하는 시대도 이와 유사한 변화의 시기임을 설명합니다. 초창기 컴파일러를 불신했던 기존 프로그래머들과 달리, 새로운 언어를 받아들인 사람들은 빠르게 성장했고, 새로운 것과 오래된 것을 모두 아는 사람들은 더욱 강력해졌다고 말합니다.

"코딩은 기계가 할 수 있는 일일 수 있지만, 신뢰할 수 있는 소프트웨어를 구축하고, 빠르게 구축하는 것은 사라지지 않을 것입니다."

그는 클라우드 코드(Cloud Code)를 개발한 보리스 처니(Boris Churnney)를 새로운 시대의 모범적인 엔지니어로 소개합니다. 처니는 오토바이 사고로 팔이 부러져 두 손가락만으로 코딩할 수 있게 되자 함수형 프로그래밍을 배우는 등, 기존의 방식을 기꺼이 버리고 새로운 것을 배우는 유연한 자세로 유명합니다.

5. 래피드 파이어 질문과 마무리

마지막으로 거젤리 오로즈는 몇 가지 래피드 파이어 질문에 답하며 자신의 견해를 밝힙니다.

  • 스타트업 vs. 빅테크: "스타트업. 그리고 스타트업 후 빅테크 경험을 조금 해보는 것이 최고입니다." 둘 다 해보는 것을 추천합니다.
  • 제너럴리스트 vs. 스페셜리스트: "요즘은 제너럴리스트. AI를 사용하면 원하는 분야의 스페셜리스트가 될 수 있습니다." AI를 활용한 제너럴리스트가 될 수 있다는 의견입니다.
  • 원격 근무 vs. 대면 근무: "대면 근무. 대면으로 보낸 시간이 많을수록 강력한 인간 관계를 맺고, 이 관계는 나중에 원격 근무를 가능하게 합니다."
  • 백엔드 vs. 프론트엔드: "요즘은 모두 풀스택입니다. 백엔드는 여전히 조금 더 까다롭습니다. 그리고 프론트엔드는 AI에도 불구하고 눈썰미가 필요합니다. AI는 백엔드를 훨씬 더 잘합니다."
  • Python vs. Java: "둘 다 아닙니다." 굳이 고르자면 파이썬이지만, 타입스크립트(TypeScript)를 선호한다고 합니다. C언어의 깊이를 좋아하지만, 타입스크립트가 강력한 타입 시스템과 유연성을 제공하기 때문이라고 설명합니다.
  • 탭 vs. 공백: "무조건 탭!"
  • 비동기 소통 vs. 회의: "비동기 소통이라고 말하고 싶지만, 회의가 필요하다면 대면 회의가 낫습니다."
  • 화이트보드 면접: "다시 유행할 것입니다. AI가 등장하면 원격 면접은 쓸모없어집니다. 화이트보드 면접은 누가 스스로 생각할 수 있는지 파악하는 데 중요합니다."

마지막으로 "AI가 소프트웨어 엔지니어를 대체할까요?"라는 질문에는 단호하게 "아니요"라고 답합니다.

"아니요, AI는 소프트웨어 엔지니어를 보완할 것입니다. 소프트웨어 엔지니어는 AI 때문에 일자리를 잃지 않을 것이지만, 이 도구들을 매우 편안하게 사용하고, 언제 사용할지 알고, 호기심이 많으며, 최신 동향을 따라가는 소프트웨어 엔지니어에게 일자리를 잃을 것입니다."

AI는 도구일 뿐이며, AI를 능숙하게 활용하는 엔지니어가 그렇지 못한 엔지니어를 대체할 것이라는 예측입니다. 따라서 엔지니어들은 지속적인 학습과 적응을 통해 AI 시대의 새로운 기준에 맞춰 발전해야 한다고 강조합니다.


결론

거젤리 오로즈는 AI 시대의 소프트웨어 엔지니어링이 단순히 코드를 작성하는 것을 넘어, 비즈니스 이해, 문제 해결 능력, 그리고 끊임없이 배우고 적응하는 자세를 요구한다고 강조합니다. AI는 코딩 작업을 가속화하겠지만, 신뢰할 수 있는 소프트웨어를 구축하고 비판적으로 사고하며 책임감을 발휘하는 인간 엔지니어의 역할은 더욱 중요해질 것입니다. 미래의 엔지니어는 AI를 자신의 역량을 강화하는 도구로 활용하며, 유연하고 호기심 넘치는 태도로 변화를 받아들이는 것이 성공의 핵심이 될 것입니다.

함께 읽으면 좋은 글

Harvest엔지니어링 리더십한국어

AWS 최고 엔지니어 Marc Brooker, 3000건 이상의 사고 경험과 AI 시대 소프트웨어 엔지니어링의 변화에 대해 말하다

이 영상은 AWS의 최고 엔지니어인 Marc Brooker가 3,000건 이상의 클라우드 시스템 사고 후 분석(postmortem) 경험을 바탕으로 얻은 기술적 통찰과, AI 시대에 소프트웨어 엔지니어링이 어떻게 변화하고 있는지에 대한 깊이 있는 이야기를 나눈 인터뷰입니다. 그는 중요한 문...

2026년 4월 14일더 읽기
Harvest엔지니어링 리더십한국어

claw-code 레포지토리에서 배워야 할 것 🌈🙏

이 글은 claw-code 레포지토리가 단시간에 엄청난 주목을 받은 현상을 통해 개발자들이 AI 시대에 어떤 점을 배워야 하는지에 대한 통찰을 제공합니다. 단순히 AI가 코드를 빠르게 작성한다는 사실을 넘어, 에이전트 시스템 설계와 협업, 그리고 사람의 명확한 비전과 판단력이 얼마나 중요한...

2026년 4월 2일더 읽기
Harvest엔지니어링 리더십 · AI한국어

Claude Code 내부 아키텍처 분석

이 글은 Claude Code의 내부 소스 코드가 npm source map 유출로 인해 공개된 사건을 다루며, 이를 통해 드러난 Claude Code의 복잡하고 정교한 아키텍처를 상세히 분석합니다. Anthropic이 '오픈소스'라고 불렀던 것과는 달리, 핵심 엔진은 상용 비공개 코드였으...

2026년 4월 1일더 읽기