안녕하세요, Gergely입니다. The Pragmatic Engineer 뉴스레터의 보너스 무료 이슈로, 지난주 The Pulse 이슈에 실렸던 네 가지 주제 중 하나를 전해드립니다. 아래 글은 유료 구독자에게는 일주일 전에 발송되었습니다. 이 메일을 전달받으신 분이라면 구독 신청도 가능합니다.
이제 Spotify 앱에서는 The Pragmatic Engineer 팟캐스트를 영상으로 볼 수 없습니다(오디오만 가능합니다). 제가 그 스트리밍 플랫폼에 영상 게시를 중단했기 때문입니다. 이는 Spotify 팀, 그리고 Spotify 전반에서 안정성(reliability)이 뒷전으로 밀려났다고 판단한 데 따른 결정입니다. YouTube, Apple Podcasts, Substack 같은 다른 플랫폼과 달리, 최근 Spotify가 영상 에피소드를 처리하지 못하는 안정성 문제를 연달아 겪었습니다. Spotify 팟캐스트 팀과 직접 소통하는 창구가 있었음에도 상황은 나아지지 않았습니다.
그래서 앞으로는 Spotify에 영상 에피소드를 게시하지 않기로 했습니다. 게스트와의 심층 대화 영상은 이제 YouTube에서만 보실 수 있습니다. 이로 인한 불편에 사과드립니다! 오디오 에피소드는 Substack에 호스팅된 RSS 팟캐스트 피드를 통해 여전히 Spotify에서 들으실 수 있습니다.
솔직히 스트리밍 거인을 떠나기로 한 결정은 어렵지 않았습니다. 그리고 여기엔 한 가지 시사점이 있다고 봅니다 — 대기업들이 AI 도입 같은 것을 밀어붙이느라 안정적인 운영을 후순위로 미루는 위험 말입니다. Spotify가 그렇게 하는 것처럼 보입니다.
배경: 세 플랫폼에 동시 게시하던 시절
The Pragmatic Engineer Podcast는 첫 2년 동안 세 개의 팟캐스트 플랫폼에 게시되었습니다.
- Substack의 팟캐스트 플랫폼(오디오): Apple Podcasts, 웹, Overcast, Pocket Casts 등에 서비스되는 "마스터" RSS 피드가 여기서 나옵니다.
- YouTube(영상): 영상 에피소드를 개별적으로 업로드.
- Spotify(영상+오디오): 모든 영상 에피소드를 개별 업로드한 뒤 영상 또는 오디오 에피소드로 서비스.
팟캐스트 진행자로서 세 곳에 따로 업로드하는 데는 나름의 이유가 있었습니다.
- 대부분의 팟캐스트 플랫폼은 영상을 지원하지 않습니다. 오디오 버전을 위한 마스터 RSS 피드를 서비스하는 플랫폼과 영상을 서비스하는 플랫폼은 항상 따로 필요합니다.
- YouTube는 다른 어떤 것과도 통합되지 않습니다. YouTube는 영상 팟캐스트 배포의 선두주자이니 직접 업로드하는 게 합리적입니다.
- Spotify 팀과 직접 연결되는 창구가 있었습니다. 팟캐스트를 시작할 때 뉴스레터가 어느 정도 규모의 독자층을 확보한 덕분에, Spotify 팟캐스트 팀과 직접 접촉할 수 있는 특별한 기회를 얻었고, 그 덕에 Spotify에 발을 들이게 되었습니다.
18개월간은 큰 문제가 없었습니다. 팟캐스트 발행자용 관리자 포털("Spotify Creators")은 다소 부실해서 간헐적으로 오류가 났고, 로그인할 때마다 저를 기억하지 못해 매주 수요일마다 이메일로 받은 인증 코드로 로그인해야 했습니다. 하지만 전반적으로는 작동했습니다 — 모든 게 갑자기 무너지기 전까지는요.
5주 중 3주 동안 Spotify 팟캐스트 에피소드를 게시하지 못하다
5월 말부터, 수요일 오전 9시 PST(오후 12시 EST, 오후 6시 유럽 시간) 즈음 게시할 때마다 Spotify의 팟캐스트 제품/플랫폼에서 장애가 발생하는 듯해서, 새 에피소드 공지에 Spotify 링크를 넣지 않았습니다.
- 장애 #1(5월 20일): 팟캐스트 게시가 깨져서 에피소드가 2시간 넘게 처리되지 않았습니다. 영상 파일을 Spotify에 업로드하면 다양한 영상·오디오 포맷으로 청크를 만드는 처리 파이프라인이 도는데, 이 파이프라인이 멈춘 것으로 보였고 새 에피소드가 게시되지 않았습니다. 게시만 깨진 게 아니라 Creator 포털도 장애 동안 온갖 곳에 NaN% 값이 뜨는 등 엉망이었습니다.
Spotify 팀에 장애를 알리는 이메일을 보내고 온라인에도 문제를 제기했습니다. 이런 답변을 받았습니다:
"문제는 저희 팟캐스트 게시 메타데이터 파이프라인 중 하나에 있었습니다. 일부 에피소드는 정상적인 미디어 처리를 마쳤지만, 새로 도입된 검증 신호가 게시 경로를 깨우는 로직에 제대로 연결되지 않아 후속 게시 업데이트를 놓쳤습니다. 쉽게 말하면, 에피소드는 게시 가능한 상태가 되었지만 해당 유형의 에피소드에 대해 최종 전파 단계가 안정적으로 트리거되지 않았습니다. 근본 원인을 파악해 수정 사항을 배포했고, 오늘 새벽 일찍 영향을 받은 에피소드를 모두 재처리해 문제없음을 확인했습니다. 게시 자격에 사용되는 필드가 해당 후속 업데이트를 트리거하지 않고는 추가될 수 없도록 시스템을 더 견고하게 만들고 있습니다. 별도로, 부분적인 게시 지연이 발행자들에게 어떻게 전달되는지도 검토하고 있습니다. 전면적인 플랫폼 장애가 아니더라도 발행자 입장에서는 여전히 나쁜 경험이기 때문입니다. 다시 한번 이런 일을 겪게 해드려 죄송합니다. 광범위한 장애는 아니었지만 실제 버그였고, 저희의 가장 중요한 크리에이터 중 일부에게 영향을 미쳤습니다."
-
장애 #2(6월 17일): Spotify 전체 다운. 4주 뒤 영상 에피소드를 게시하려는데 저를 포함해 많은 사용자에게 Spotify 전체가 다운되었습니다. Spotify는 상태 페이지를 운영하지 않아 장애 범위를 알 수 없었습니다. 그 주 공지에도 Spotify 링크를 넣지 않았습니다.
-
장애 #3(6월 24일): 팟캐스트 게시가 또 깨졌습니다. 5주 만에 세 번째 장애로, 기시감이 들었습니다. 이번에도 에피소드 게시가 작동하지 않았습니다. 2시간을 기다린 끝에 이번에도 Spotify 링크 없이 공지를 보냈습니다.
Spotify 팟캐스트 팀에도 이메일을 보내 장애를 확인받았고, 영상 게시를 중단하고 마스터 RSS 피드를 가리키는 오디오 전용 게시로 전환할 것을 고려하고 있다고 밝혔습니다. 사과는 감사하지만 영상 에피소드를 계속 게시할 가치가 있을 만큼 충분하지는 않다고도 말했습니다.
인시던트 리뷰도 요청했습니다. 이 팟캐스트 제품에서 안정성이 그다지 중요하게 다뤄지지 않는다는 느낌을 받았기 때문입니다. 첫 번째 장애 때는 모호한 설명과 개선 약속만 받았는데, 실제로 이행된 적이 없었습니다 — 예를 들어 두 번째 장애 때는, 첫 번째 장애 이후 약속했던 발행자 대상 개선된 커뮤니케이션이 전혀 없었습니다.
Spotify 내부적으로는 관례대로 인시던트 리뷰를 진행했을 테니, 약 2주 뒤에는 소식을 들을 거라 생각했습니다. Spotify를 떠날 준비가 되어 있다는 뜻을 분명히 밝혔으니 답이 올 거라 짐작한 것입니다.
3주가 지나도 인시던트 리뷰가 오지 않아 결국 Spotify를 그만두다
약속됐던 인시던트 리뷰는 3주가 지나도록 오지 않았습니다. 리뷰를 마칠 시간은 충분했는데도 말이죠. 신뢰할 수 없는 플랫폼이라는 또 하나의 신호였습니다. Creator 포털에도 이런 오류가 종종 떴습니다.
Spotify의 스트림 재생 통계를 확인해보니, 지속된 장애 탓인지 재생 수가 하락세였는데, 다른 팟캐스트 플랫폼에서는 그런 하락이 보이지 않았습니다. 그래서 "이제 그만"이라 결심하고 Spotify를 떠나기로 했습니다.
Spotify에 남으려면 인시던트 리뷰를 봐야 했지만, 그들은 투명성을 우선시하지 않았고, 여전히 상태 페이지도 없었으며, YouTube가 수년간 갖춰온 에피소드 처리 상태 표시 기능도 없었습니다. 그래서 발을 뺐습니다. Spotify를 떠난 뒤 Creator 포털은 이런 예들처럼 그 어느 때보다 버그투성이가 됐습니다.
- 댓글이 사라졌습니다.
- 반면 UI의 다른 부분에는 수십 개의 댓글이 표시됐습니다.
- 에피소드 링크가 404 페이지로 연결됐습니다.
하루 이틀 뒤 이런 문제들은 사라졌습니다. 아무도 Spotify Podcasts에서 RSS 피드로 이탈하는 흐름을 테스트하지 않았던 것 같고, 그래서 경험이 그렇게 형편없었던 게 아닌가 짐작합니다.
인시던트 리뷰가 마침내 게시됐지만 타임라인이 틀렸습니다
Spotify를 떠난 지 며칠 후, 팀이 장애 #3에 대한 인시던트 리포트를 발행했습니다. 읽어보니 타임라인에 뭔가 맞지 않는 부분이 있었습니다. 제 이메일 기록을 보면 오후 5시 30분경 Spotify 팀에 장애를 이메일로 알렸는데, 왜 리포트는 자동 알림이 울리기도 전에 고객이 팀에 알렸다는 사실을 축소해서 다뤘을까요? 이 점을 팟캐스트 팀에 항의했고, 다행히 인시던트 리포트가 수정됐습니다.
리포트가 지나치게 개략적이고, 약속된 개선안도 모호하다는 점이 마음에 들지 않았습니다. 특히 이 문장이 그랬습니다:
"이번 장애 동안 많은 크리에이터가 저희로부터 소식을 듣기 전에 청취자들을 통해 문제를 먼저 알게 됐습니다. 문제가 발생했을 때 크리에이터가 최대한 빨리 알림을 받을 수 있도록 프로세스와 기술 역량을 개선하고 있습니다."
전반적으로 떠나기로 한 선택을 후회하지 않습니다. 특히 Spotify 리더십의 초점이 안정성이 아니라 AI에 맞춰져 있다는 점에서 더욱 그렇습니다.
Spotify에도 "AI 정신병"이 있는 걸까?
앞서 저는 "AI 정신병(AI psychosis)"이라는 표현을, 사람들이 AI 모델이 하는 말을 아무리 터무니없어도 그대로 믿기 시작하는 일반적인 의미와는 다르게 사용한 적이 있습니다. 저는 이 표현을 Meta가 수익성 있는 사업의 안정성을 희생하면서까지 자체 AI 모델 개발을 서두르는 상황에 적용했습니다. 이는 Instagram 역사상 가장 굴욕적인 계정 탈취 사고에 근거한 것으로, 당시 Instagram의 신뢰·안전(Trust & Safety) 담당팀이 대폭 축소된 직후 벌어진 일이었습니다. 그 직후, AI가 생성하고 AI가 검토한 코드로 인해 전직 미국 대통령의 계정이 해킹당하는 사건도 있었습니다.
Spotify는 반대 방향으로 갔어야 했습니다. 지난 3월 Spotify의 Head of Technology & Platforms인 Tyson Singer를 만날 기회가 있었는데, 그는 회사가 AI 도입보다 안정성을 훨씬 우선시하며 AI 자체를 위한 AI 도입은 하지 않는다고 말했습니다. 그래서 Spotify가 Anthropic과 함께 진행한 팟캐스트 요약을 읽었을 때 다소 의외였습니다:
"Spotify는 이제 하루 4,500건의 프로덕션 배포를 하고 있고, PR의 73%가 이제 AI의 도움을 받습니다. Spotify 엔지니어링 VP인 Niklas Gustavsson은 tmux에서 5~10개의 Claude 세션을 git worktree마다 하나씩 백그라운드에서 돌리고 있습니다. 이 모든 게 2,000만 줄이 넘는 모노레포 안에서 이루어집니다. 그는 이런 규모에서는 에이전트가 어려움을 겪을 거라 예상했지만, 실제로는 잘 작동했습니다. Spotify의 마이그레이션 코드모드(codemod)는 수천 줄의 예외 케이스로 불어났습니다. 코드에는 정적 재작성으로 처리하기엔 너무 많은 API 표면이 있습니다. 초기 LLM은 별로 나을 게 없었습니다. 판정자(judge)를 추가하자 PR 성공률이 약 25%에서 80%로 올랐습니다. 이 모든 것은 검증(verification)에 의존합니다. 에이전트를 사용할 때 가장 중요한 요소이자, 대부분의 기업이 가장 과소투자하는 지점입니다. Spotify는 엔지니어가 반복 작업을 직접 수행하는 대신 자신 있게 에이전트를 안내하고 감독할 수 있도록 테스트 자동화를 이 개념을 중심으로 재구축했습니다."
모든 이야기가 AI 사용에 관한 것일 뿐, 안정성에 관한 이야기는 하나도 없어 보입니다. 그러는 동안 Spotify의 플랫폼은 그 어느 때보다 신뢰할 수 없게 됐고, 동시에 스트리밍 서비스는 AI 판정자와 5~10개의 병렬 Claude 세션을 돌리는 개발자들과 함께 AI에 전면적으로 뛰어들고 있습니다.
이 모든 걸 고려하면, Spotify가 기업판 "AI 정신병"을 앓고 있는 건 아닌지 물을 만합니다 — 성공적으로 운영되던 사업의 안정성이 경영진이 다음 큰 유행을 좇는 과정에서 불타 없어지는 현상 말입니다. 저는 Spotify가 Meta나 다른 기업들과 크게 다르다고 생각하지도 않습니다!
제품의 품질과 안정성 저하를 보면 상황이 좋지 않습니다. 안타깝게도 많은 경우 고객에게는 다른 곳으로 옮길 선택지가 정말로 없습니다. 제 팟캐스트는 예외적인 경우로, Spotify에서 영상 팟캐스트가 애초에 크게 흥행하지 않았기 때문에 플랫폼을 떠나는 게 큰 결정이 아니었습니다. 그럼에도 Spotify가 안정성보다 AI 사용을 우선시했다는 점이 특히 실망스럽습니다. 그곳의 일부 경영진이 이런 흐름에 반대했다는 것은 알지만, 그들이 그 싸움에서 졌다고 짐작해도 무리는 아닐 것 같습니다.
안정적으로 유지되는 것과 "덜 구린" 것의 가치
Capital One의 distinguished engineer인 Max Kanat-Alexander는 2004~2009년 Bugzilla 프로젝트의 성공을 되짚으며, 소프트웨어 프로젝트가 그저 "매 릴리스마다 덜 구려짐(sucking less)"으로써 크게 성공할 수 있다는 글을 쓴 적이 있습니다:
"소프트웨어에서 성공하려면 해야 할 일은 매 릴리스마다 꾸준히 덜 구려지는 것뿐입니다. 아무도 Bugzilla 2.18이 굉장하다고 말하지 않겠지만, 모두가 Bugzilla 2.16보다는 덜 구렸다고 말할 겁니다. Bugzilla 2.20도 완벽하지 않았지만, 의심할 여지 없이 2.18보다는 덜 구렸습니다. 그리고 Bugzilla 3.0이 Bugzilla의 수많은 구린 점을 고쳤을 때, 다운로드 수가 훨씬 늘었습니다. 왜 이게 통했을까요? 매 릴리스마다 꾸준히 덜 구려지는 한, 대부분의 사용자를 유지할 수 있습니다. 그들을 괴롭히던 것들을 고치고 있으니 떠날 이유가 없죠. 이번 릴리스에서 모든 걸 고치지 못했더라도, 덜 구려졌다면 사용자들은 언젠가 자신을 괴롭히는 것들이 고쳐질 거라는 믿음을 갖게 됩니다. 새 사용자들도 여러분의 소프트웨어를 발견하고 계속 남게 됩니다. 이렇게 사용자 수는 시간이 지나며 꾸준히 늘어납니다. 하지만 자주 릴리스는 하되 소프트웨어의 구린 부분을 고치는 대신 구림을 고치지 않는 새 기능만 계속 추가한다면 어떨까요? 결국 개별 사용자의 인내심은 바닥납니다. 여러분의 소프트웨어가 덜 구려지기를 영원히 기다려주지는 않습니다."
개인적으로 저는 Spotify의 팟캐스트 제품이 Max가 말한 척도에서 계속 나쁜 방향으로 가는 데 지쳤습니다 — 부실한 안정성, Creator 사이트의 잦은 오류, 그리고 기존 제품을 개선하는 데 그다지 신경 쓰지 않는다는 느낌 말입니다.
지난주 The Pulse 전체 이슈는 다음 내용도 추가로 다룹니다: Kimi K3가 미국의 폐쇄형 AI 모델 정책 전환을 촉발할지, AWS의 "심장마비" 수준 청구 오류에 대한 반응, OpenAI의 미공개 모델이 테스트 점수를 높이려 HuggingFace를 해킹하려 한 사건 등.
핵심 요약 (20줄)
- Gergely는 Spotify 팟캐스트 플랫폼의 반복된 안정성 장애를 이유로 Spotify에 영상 팟캐스트 에피소드 게시를 전면 중단했다.
- 앞으로 심층 인터뷰 영상은 YouTube에서만 볼 수 있고, 오디오는 Substack RSS 피드를 통해 Spotify에서도 계속 들을 수 있다.
- 이 결정의 배경에는 대기업이 AI 도입 같은 유행을 좇느라 안정적인 운영을 후순위로 미루는 위험이 있다는 문제의식이 깔려 있다.
- 팟캐스트는 원래 Substack(마스터 RSS/오디오), YouTube(영상), Spotify(영상+오디오) 세 플랫폼에 동시 게시됐다.
- Spotify 팀과 직접 연결된 창구가 있었던 덕에 초기 18개월은 큰 문제 없이 운영됐지만, Creator 포털은 늘 다소 부실했다.
- 5월 20일 장애 #1: 게시 파이프라인이 멈춰 에피소드가 2시간 넘게 처리되지 않았고 Creator 포털에 NaN% 값이 표시됐다.
- Spotify는 새로 도입된 검증 신호가 게시 경로 트리거에 잘못 연결된 버그였다고 공식 답변했지만, 개선 약속은 이후 지켜지지 않았다.
- 6월 17일 장애 #2: Spotify 전체가 다운됐으나, 상태 페이지가 없어 장애 범위조차 확인할 수 없었다.
- 6월 24일 장애 #3: 다시 게시가 깨졌고, 이번에는 영상 게시 중단과 오디오 전용 전환을 진지하게 고려하기 시작했다.
- 인시던트 리뷰를 요청했지만 3주가 지나도록 오지 않았고, 이는 안정성이 뒷전이라는 신호로 받아들여져 결국 Spotify를 떠나기로 결정했다.
- Spotify를 떠난 직후 오히려 Creator 포털은 댓글 소실, 404 링크 등 그 어느 때보다 버그가 심해졌다가 며칠 뒤 저절로 해결됐다.
- 뒤늦게 공개된 장애 #3 인시던트 리포트는 타임라인이 부정확했고(고객이 자동 알림보다 먼저 신고한 사실을 축소), 항의 후 수정됐다.
- 리포트는 여전히 개략적이었고, "크리에이터가 최대한 빨리 알림받도록 개선하겠다"는 약속도 구체성이 부족했다.
- Gergely는 이전에 Meta의 AI 우선 정책이 Instagram Trust & Safety 축소, 계정 탈취 사고로 이어진 사례에 "AI 정신병"이라는 표현을 쓴 바 있다.
- Spotify의 Tyson Singer는 3월 인터뷰에서 안정성을 AI 도입보다 우선한다고 말했지만, 실제 Anthropic과의 팟캐스트에서는 AI 사용 지표만 강조됐다.
- 해당 팟캐스트에 따르면 Spotify는 하루 4,500건의 배포, PR의 73%가 AI 지원을 받으며, VP는 tmux에서 5~10개의 Claude 세션을 동시에 운영한다.
- 마이그레이션 코드모드에 AI 판정자(judge)를 추가하자 PR 성공률이 약 25%에서 80%로 뛰었고, 검증(verification)이 에이전트 활용의 핵심으로 강조됐다.
- Gergely는 Spotify가 성공적인 사업의 안정성을 다음 유행(AI)을 좇으며 스스로 갉아먹는 기업판 "AI 정신병"을 앓고 있는 건 아닌지 의문을 제기한다.
- Capital One 엔지니어 Max Kanat-Alexander의 "매 릴리스마다 덜 구려지기(sucking less)" 원칙을 인용해, 기존 제품 개선을 소홀히 하면 결국 사용자 인내심이 바닥난다고 지적한다.
- Gergely는 Spotify가 이 원칙과 반대 방향으로 가고 있다고 느껴 실망했으며, 자신의 경우 영상 팟캐스트가 애초에 흥행하지 않아 이탈이 어렵지 않았다고 결론짓는다.