32GB를 먹는 계산기가 우리에게 보내는 경고
출처
- 대규모 소프트웨어 품질 붕괴, 그리고 재앙이 일상화된 과정
- The Great Software Quality Collapse - Tech Trenches
(위 글을 읽고 떠오른 생각과 QA 엔지니어로서의 경험을 함께 풀어냈습니다.
개발자 커뮤니티에서 "32GB를 먹는 계산기"라는 밈이 화제가 되었습니다. 실제 버그 리포트인지 과장된 비유인지는 명확하지 않지만, 이것은 우리가 잃어버린 엔지니어링의 초상을 상징적으로 보여줍니다.
최근 다양한 소프트웨어에서 보고되는 메모리 누수 사례들은 충격적입니다. 일부 환경에서 VS Code가 수십 GB의 메모리를 누수시키고, Microsoft Teams가 화상회의 중 CPU를 100% 점유하며, Discord가 화면 공유 시 과도한 RAM을 사용한다는 보고들이 이어지고 있습니다.
더 주목할 점은 이에 대한 개발자들의 반응입니다. 20년 전이라면 긴급 패치와 사후 분석으로 이어졌을 이 사건이, 지금은 단순한 버그 리포트로 취급되었습니다. "요즘은 다 그래.", "업데이트하면 해결되겠지."라는 댓글들이 이어졌습니다.
저는 예전부터 마이크로소프트가 이런 품질 문화를 부정적인 방향으로 바꿔놨다고 늘 주변에 말하곤 했습니다. Windows 95/98 시절을 기억하시나요? 부팅할 때마다 뜨던 업데이트 창, 끊임없이 이어지는 핫픽스와 패치들. "일단 출시하고 나중에 고치자"는 문화가 바로 그때부터 시작되었습니다.
마이크로소프트가 이런 대담한(혹은 무책임한) 선택을 할 수 있었던 이유는 명확했습니다. Windows의 점유율이 90%를 넘었고, 대체할 OS가 사실상 없었기 때문입니다. Mac은 너무 비쌌고, Linux는 일반 사용자에게는 너무 어려웠죠. "어차피 우리 제품을 쓸 수밖에 없다"는 독점의 오만함이 "완성도보다 출시가 우선"이라는 철학을 가능하게 했습니다.
사용자들은 선택권이 없었습니다. 버그가 있든 없든, 업데이트가 매일 뜨든 말든, Windows를 써야 했으니까요. 독점은 품질을 인질로 잡았고, 사용자는 그 인질범과 스톡홀름 신드롬에 빠졌습니다.
그런데 30년이 지난 지금, 그 대가가 돌아오고 있습니다. Windows는 더 이상 필수가 아닙니다. 개발자들은 macOS로 이동했고, 기업들은 클라우드와 웹 기반 서비스로 전환했으며, 일반 사용자들은 모바일 기기로 대부분의 작업을 처리합니다. Windows의 시장 점유율은 계속 하락하고 있습니다.
만약 마이크로소프트가 처음부터 느리더라도 확실한 품질 문화를 정착시켰다면 어땠을까요? Windows는 여전히 모두가 신뢰하는 안정적인 OS로 남아있지 않았을까요? 30년간 쌓인 불신과 피로감이 없었다면, 사용자들이 이렇게 쉽게 떠나지 않았을 겁니다.
품질을 경시한 문화는 한번 뿌리내리면 바꾸기 어렵습니다. 마이크로소프트가 이제 와서 품질을 강조해도, 30년간 각인된 "어차피 버그 있을 거야"라는 인식은 쉽게 사라지지 않습니다. 이것이 바로 품질 문화의 무서운 점입니다. 한번 무너지면, 아무리 오랜 시간이 주어져도 회복하기 어렵습니다.
당시 우리는 이것이 임시방편이라고 생각했습니다. 언젠가는 "완성된" 소프트웨어가 나올 거라고 믿었죠. 하지만 마이크로소프트가 만든 이 패러다임은 업계 전체의 표준이 되어버렸습니다. 완전함을 추구하는 것보다 빠른 출시 후 뒷수습이 더 "현실적"이라는 인식이 자리잡았습니다.
그 결과는 어떨까요? 과거와 지금은 근본적으로 다릅니다. 그때는 개인 PC가 멈추는 수준이었다면, 지금은 전 세계 인프라가 마비됩니다. 그때는 문서 하나를 잃었다면, 지금은 수백만 명의 데이터가 사라집니다. 더 중요한 것은, 이제는 아무도 이것을 문제라고 생각하지 않는다는 점입니다.
이것은 단순한 일화가 아닙니다. 현재 소프트웨어 업계가 겪고 있는 품질 붕괴의 단면입니다. QA 엔지니어로서 매일 목격하는 현실은 더욱 심각합니다.
이런 현상의 근본 원인은 "Move fast and break things."로 대표되는 개발 문화에 있습니다. 빠른 출시를 최우선으로 하다 보니, 품질은 항상 후순위로 밀렸습니다. 그리고 이제 AI가 이 문제를 더욱 가속화하고 있습니다.
"Move fast and break things." (참고)
페이스북의 초기 모토였던 이 문장이 업계 전체의 철학이 되었습니다.
빠른 출시, 빠른 반복, 빠른 성장. 모든 것이 '빠름'을 중심으로 돌아갑니다.
하지만 실리콘밸리가 이 문화를 극대화하기 전에, 이미 마이크로소프트가 토대를 닦아놓았습니다. Windows 시대의 "Release Now, Fix Later" 철학이 웹 시대의 "Move Fast and Break Things."로 진화한 것이죠. 차이가 있다면, 과거에는 적어도 수치스러워했다는 점입니다. 지금은 자랑스럽게 내세웁니다.
그 결과는 역설적입니다. 빠르게 만든 소프트웨어가 사용자의 컴퓨터를 느리게 만듭니다. 빠르게 출시한 앱이 시스템 전체를 멈추게 합니다. 빠르게 작성한 코드가 수년간의 기술 부채를 만들어냅니다.
최근 3년간 추적된 소프트웨어 품질 지표를 보면, 이것은 점진적 악화가 아닌 기하급수적 붕괴를 보여줍니다.
VS Code - SSH 연결을 통해 96GB의 메모리 누수 발생
Microsoft Teams - 32GB 머신에서 100% CPU 사용률 기록
Chrome - 50개 탭에 16GB 소비가 "정상"으로 간주
Discord - 화면 공유 시작 60초 만에 32GB RAM 사용
Spotify - macOS에서 79GB 메모리 소비 기록
이것들은 기능 요구사항이 아닙니다. 그저 아무도 수정하지 않은 메모리 누수입니다. 빠르게 개발하느라 제대로 테스트하지 않은 결과물들입니다.
우리는 숫자로 표현되는 것만 중요하게 여기는 시대에 살고 있습니다. 그러나 아이러니하게도, 소프트웨어 품질의 핵심은 정작 측정되지 않고 있습니다. 대부분의 조직은 여전히 "버그 개수"나 "테스트 케이스 통과율"같은 표면적 지표에만 매달립니다.
진짜 품질 지표는 다른 곳에 있습니다.
지난 3년간 추적된 소프트웨어 품질 지표는 점진적 악화가 아닌 기하급수적 붕괴를 보여줍니다. (Tech Trenches, 2025 - 일부 극단적 사례 포함)
VS Code - 특정 환경에서 수십 GB의 메모리 누수 보고
Microsoft Teams - 일부 시스템에서 CPU 100% 점유 현상 발생
Chrome - 다수 탭 사용 시 과도한 메모리 소비 (10GB 이상)
Discord - 화면 공유 시 비정상적 RAM 사용 보고
Spotify - macOS 특정 버전에서 메모리 누수 사례 확인
이것들은 기능 요구사항이 아닙니다. 그저 아무도 수정하지 않은 메모리 누수일 뿐입니다.
더 심각한 것은 시스템 수준의 실패가 일상화되었다는 점입니다. (Tech Trenches, 2025 - 보고된 사례 기반)
Windows 11 업데이트는 정기적으로 시작 메뉴를 손상시킵니다.
macOS Spotlight는 특정 조건에서 SSD에 과도한 쓰기 작업을 수행했습니다. (인덱싱 루프 버그)
iOS 18 Messages는 Apple Watch 페이스에 응답 시 충돌하여 대화 기록을 삭제합니다.
Android 15는 수십 개의 주요 결함을 안고 출시되었습니다.
"하지만 Windows ME도 끔찍했잖아요"라고 말할 수도 있습니다. 맞습니다. 차이점은 당시에는 이것이 실패로 인식되었다는 점입니다.
마이크로소프트가 시작한 "출시 먼저, 패치는 나중에" 철학이 이제는 업계 전체의 DNA가 되었습니다.
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.