# PR을 제출할 수 없어서, 직접 입사해 수정함

> Clean Markdown view of GeekNews topic #22306. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=22306](https://news.hada.io/topic?id=22306)
- GeekNews Markdown: [https://news.hada.io/topic/22306.md](https://news.hada.io/topic/22306.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-08-03T10:02:39+09:00
- Updated: 2025-08-03T10:02:39+09:00
- Original source: [skeptrune.com](https://www.skeptrune.com/posts/doing-the-little-things/)
- Points: 6
- Comments: 3

## Summary

Mintlify의 **검색 race condition**과 같은 사용자 경험 문제를 1년 넘게 방치하게 된 배경에는, 외부 **벤더 신분의 코드 접근 제한**과 **폐쇄형 소스 모델**의 한계가 있었습니다. 직접 **팀에 합류해 AbortController 기반 동시성 이슈**를 해결하면서, 불편을 바로 고칠 수 있는 **오픈소스 구조의 장점**과 개발자가 가진 개선의 주도권이 얼마나 중요한지 실감합니다. 작은 버그라도 **즉각적 수정과 반복적 개선**이 곧 제품 경쟁력과 사용자 만족으로 이어진다는 점에서, 기업 내부 협업뿐 아니라 **오픈소스 생태계의 실질적 가치**에 다시 한 번 주목하게 합니다.

## Topic Body

- Mintlify의 **검색 race condition 문제**를 1년 넘게 겪으며 개선하지 못해 불편함을 느꼈음  
- Mintlify의 검색 엔진 공급계약 업체인 Trieve 창업자임에도 **벤더 신분**으로는 직접 코드에 접근이 안 돼 문제를 고칠 수 없었음  
- 결국 **Mintlify에 합류한 후** 직접 AbortController를 사용해 검색 쿼리 중단 및 결과 동기화 문제를 해결  
- **오픈소스라면 PR로 즉시 고칠 수 있었을 것**이라는 점에서 오픈소스의 실질적 장점에 대해 강조  
- 작은 불편이라도 직접 고치는 과정에서 느끼는 **만족감과 제품 개선의 중요성**을 다시 한 번 실감함  
  
---  
  
### PR을 낼 수 없어서 직접 입사해 고친 이야기  
  
#### 1년 넘게 불편했던 Mintlify 검색 버그  
  
- Mintlify의 **검색 기능**에서 race condition으로 인해 쿼리가 중복 처리되고, 사용자가 타이핑하는 도중 **엉뚱한 검색 결과**가 노출되는 현상이 지속됨  
- Trieve라는 검색 엔진을 Mintlify에 공급하는 **벤더(외부 업체) 창업자**였지만, 코드베이스 접근 권한이 없어 직접 고칠 수 없었음  
- 문제를 여러 차례 **공유 Slack 채널**에서 제기했으나, 우선순위가 낮아 오랫동안 방치됨  
- Trieve의 검색 경험이 Mintlify에서 좋지 않게 보일 때마다, 창업자로서 **개인적 자존심**과 브랜드 이미지에 부담을 느낌  
  
#### 팀에 합류해 직접 해결  
  
- Mintlify에 합류하게 되면서 직접적으로 **코드베이스에 접근**할 수 있게 됨  
- 검색 함수 내에 [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)를 구현하여, **이전 검색 쿼리를 즉시 중단**하도록 개선함  
- 이제 사용자가 타이핑할 때마다, **가장 최근의 검색 결과만** 반영되므로, 항상 **최신 상태의 정확한 결과**를 확인할 수 있음  
- 오래 불편했던 문제를 **직접 고칠 수 있다는 만족감**은 매우 큼  
- 트위터에 잠깐 입사해 로그인 팝업을 고친 George Hotz처럼, **문제를 보면 직접 해결하는 해커적/기업가적 자세**에 의미를 둠  
- 이런 **직접적이고 실질적인 문제 해결 경험**이 커리어를 더 나은 방향으로 이끎  
  
#### 오픈소스의 실질적 가치   
  
- 개인적으로 **오픈 소스 소프트웨어** 개발과 활용을 선호함  
- 오픈 소스라면, 외부 개발자가 **직접 버그 수정이나 기능 개선 Pull Request(PR)** 를 제출할 수 있는 구조였음  
- 만약 Mintlify의 검색 기능이 오픈 소스였다면, 1년 동안 지속된 문제를 **즉시 PR로 해결**할 수 있었을 것임  
- 폐쇄형 소스 모델의 경우, 코드 접근권이 있어야만 개선 가능하다는 한계점이 있음  
- 오픈 소스 환경의 **'즉각적 권한 부여'** 의 가치를 인정하면서도, 각 회사의 사업 모델 차이도 이해함  
  
### 직접 개선의 보람  
  
- Mintlify 검색 기능이 **더 매끄럽고 반응성이 좋아진 원인**은 바로 이 개선 덕분임  
- 오랜 기간 마음에 걸렸던 작은 버그를 직접 고침으로써, **제품 발전에 기여하는 만족감**을 느낌  
- 이번 경험을 통해, **작고 사소한 문제라도 반복적으로 고치는 과정**이 제품을 더욱 훌륭하게 만든다고 느꼈음  
- 직접 고치는 작은 변화가 쌓여 **사용 경험이 비약적으로 개선**됨  
- 앞으로도 이러한 **작은 개선의 누적**을 통해 더 나은 제품을 만들고 싶음

## Comments



### Comment 42144

- Author: yangeok
- Created: 2025-08-05T15:53:29+09:00
- Points: 1

ㅋㅋㅋㅋㅋ 존경합니다

### Comment 42090

- Author: kimjoin2
- Created: 2025-08-04T11:16:45+09:00
- Points: 1

상개발자

### Comment 42050

- Author: neo
- Created: 2025-08-03T10:02:39+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=44759417) 
- 예전에 Amazon 계정이 사기로 의심받아 정지된 적 있음, 오래전에 만든 계정이었는데 이메일과 전화번호를 여러 DB 유출로 삭제했었음, 채용된 뒤 내부적으로 Amazon의 안티-사기팀 담당자에게 연락하여 계정 해제를 빠르게 해결함, 고객지원으로 문의했을 땐 아무 소용 없었음

  - Amazon에서 가장 짜증나는 부분임, Reddit이나 다른 리뷰에서 제품을 찾으면 대개 amazon.com 링크를 타고 감, 이때 미국 달러 계정으로 전환하라고 하고, 주문하려면 다시 독일/유로 계정으로 바꿔야 함, 이 과정이 너무 번거로움, 지역마다 그냥 자유롭게 볼 수 있게 해주면 좋겠음, 주문하려고 할 때만 프로필을 바꾸라 하면 되지 않을까 생각함, 또 지역 내 판매자에게서 구매하는 옵션도 있으면 좋겠음

  - 흥미로움, Google 입사 온보딩 때 망가진 폰을 아직도 가지고 있음, 내부적으로 아무도 신경 쓰지 않음, 직접 고칠 수 있는 툴이 있었지만, 허가 없이 쓸 경우 해고된다는 메시지도 붙어 있었음

  - Facebook 계정도 9개월간 해제 실패하다가 우연히 내부 일을 하게 되면서 바로 해제 경험 있음

  - 인생에서도 이런 에픽한 순간을 겪고 싶음

  - 나도 이런 행운이 있었으면 좋겠음, Amazon 계정을 잃어버린 이유가 내 국제전화번호의 맨 앞자리 하나가 잘못 기재되어서임, 이로 인해 문자 인증을 쓸 수 없었고, OTP 앱이 깔린 폰도 바로 전에 고장남

- Google Maps가 날 채용해서 거리 단위를 km로만 나오게 해줄 수 있다면 연락처는 내 HN 프로필에 있음, 20년간 500번은 마일에서 km로 바꾼 것 같음, 사용자를 분석하는 회사가 이런 기본을 못한다는 게 말도 안 됨

  - 500번이나 했다는 게 정말 말도 안 됨, 사용자 참여 저조로 A/B 테스트에서 실패하는 과정을 상상하게 됨, 7번 면접 보고 1개의 PR 올렸더니 이래 된 느낌임

  - 지도 전체를 “실제 크기 1cm=1cm 모드”로 확대한 채 여행 전체에 적용하게 만든 담당자를 찾아서 한 대 때려주고 싶음, 아마도 수동 확대 시 차가 화면 밖으로 벗어나게 놔두고, “다시 중심” 누르면 원래대로 강제로 확대시키는 것까지 만든 사람도 동일인일 듯, 2005년 내비게이션도 이런 건 다 해결했었음

  - 멕시코 여행 중에 로그인했는데도 Google Flights가 탭을 새로 열 때마다 달러에서 페소로 바꿔버림, 진짜 신경 안 쓰는 듯함

  - Google에서 10년 전에 일할 때 내부 피드백 폼으로 이 문제를 리포트했는데 아무 답이 없었음, 그 후 매년 Google Maps 피드백으로 이 버그 신고했음, 어떤 해에는 두 번이나 보냄, 이제는 진짜 부끄러운 버그가 됐음

  - gmaps 관련 일도 관심 있음, 1시간 이상 걸리는 여정은 미리 돌아오는 길도 캐시해 줬으면 좋겠음, 서비스 신호 안 터질 때 길을 기억해야 해서 곤란할 때가 많음

- 실제로 오래된 농담이 현실이 되는 걸 보니 재밌음, (또) 왼쪽 마진을 추가해달라는 요청 있음, 화면 맨 끝에서 텍스트 읽기가 조금 어색하게 느껴짐

  - 글에 나온 링크를 따라가다 보니, Apple에서 만료된 패스를 자동 삭제하는 기능을 도입하고 그 직후 바로 퇴사한 사례를 봤음, 이제 그 기능을 쓸 때마다 마음속으로 감사 인사를 해야겠다는 생각이 듦, 진짜 짜증나던 문제였음

  - 직접 OP에게 고용되어 고치는 게 낫지 않을까 농담

  - 나는 화면 공간을 낭비하는 사이트를 별로 좋아하지 않음

  - 나는 왼쪽 정렬이 좋음, 그게 원래 텍스트가 있어야 할 자리라고 생각함

- debounced search function에 AbortController를 추가해서 사용자가 새로운 입력을 할 때마다 이전 쿼리를 중단하도록 했다고 설명함, 사용자가 아직 다 입력하지 않았는데 필터나 검색이 먼저 적용돼버리는 게 가장 짜증남, 입력이 완전히 끝날 때까지 기다려줬으면 좋겠음

  - Grafana 로그 검색은 현재 적용 중인 로그 필터를 바꾸면 문자 하나 바꿀 때마다 조회 건수로 과금함, 이런 이유로 내 UX 사용 습관을 바꿔야 했음, 찾는 문자열 전체가 아니라 문자수만큼 비용 청구가 되는 것 때문임

  - 내 블로그에 검색-실시간 기능을 구현할 때는, 이전 검색 제안을 다 완료하고 새로운 요청을 보내도록 했음, 서버 부하를 막고 반응성도 유지할 수 있는 합리적인 방법이라고 생각함

  - 특히 예약 사이트에서 이런 게 싫음, 필터들이 왼쪽 사이드바에 나오는데, 화면에 다 안 보이면 매번 조작할 때마다 위로 스크롤되고, 로딩되고, 필터가 읽기 전용으로 바뀌어서 다 끝날 때까지 기다렸다가 겨우 다음서야 추가할 수 있음

  - 좋은 타협점은 사용자가 입력을 멈춘 후 몇백 밀리초 정도 대기했다가 쿼리를 보내는 방식이 적합하다고 생각함, 혹은 쿼리는 보내되 입력이 멈출 때까지 결과를 표시하지 않는 방법도 고려할 만함

  - 이런 행동은 정말 싫음, fancy한 코드 에디터에서 글자 칠 때마다 경고음이 뜨는 것과 같음, 'i'와 'f' 쳤을 때 바로 “if-then 문이 닫히지 않았어요!”라고 뜨면, 아직 입력 중이라는 걸 알면서도 너무 과민반응임, 다 써야 알림이 나오는 게 낫고, 대부분 언어나 툴에서 이런 실시간 알림은 꺼두고 빌드/실행시에만 오류를 보게 바꿈, LSP(언어 서버 프로토콜)는 진정해야 함

- 지금은 버그가 신경 쓰이면 채용돼서 직접 고치는 게 더 쉬울 정도로 소프트웨어 품질이 낮음, GTA 5 로딩 문제를 해결한 프로그래머 이야기가 떠오름, 그렇게 돈이 많은 GTA 5도 품질 개선이 쉽지 않았음

  - 품질 문제가 아니라 우선순위 문제로 봄, 회사는 사용자가 원하는 것보다 팀이 하고 싶은 걸 먼저 선택함, 실사용자 테스트나 데이터 실험이 부족함, 실제로 이 사례는 문제의 해결책이라기보다 실제 문제의 단면임, 아마도 훨씬 유용한 이슈들이 많을 텐데 한 명이 본인이 원한 기능만 추가한 상황임

  - GTA:O의 카드에 돈을 많이 쓰는 사람들은 로딩 타임에 관심이 없었음, 나는 화가 나서 시간 재보니 실제 미션보다 로딩 스크린을 더 오래 보는 것을 알고 게임을 아예 그만뒀음

- 혹시 인터넷 밈 속의 그 사람이 바로 너냐는 농담

- 기사 내용에서 채용 파트가 전혀 언급되지 않아 궁금함, “뭔가가 나를 괴롭혔고, 회사에 입사한 덕분에 고쳤다” 수준으로 보여서 이야기의 핵심이 빠진 느낌임

  - 저자의 회사가 현재 재직 중인 곳에 인수된 것 같아 acquihire(인수+채용)로 추정하고 있음

- 반대로, 나는 예전에 IP 변호사들 때문에 오픈소스 코드에 PR을 등록하는 게 불가능했던 직장에서 근무한 경험 있음, 그래도 정확한 입력값과 버그 라인 번호를 자세히 설명하면 누군가가 직접 고쳐주도록 설득할 수 있었음, 코드 대신 QA(품질보증) 리포트는 무료로 제공했다는 느낌임

- George Hotz가 2022년 Twitter에 잠시 합류해서 로그인 팝업 제거 문제를 해결했다는 전설적인 사건 이야기가 떠오른다는 의견임, 하지만 내 기억과 다름, George Hotz는 “검색을 고칠 수 있다”고 주장하다 거의 바로 나갔고, 마지막에 위안삼아 팝업만 제거함

  - 이번에 George Hotz, 특허 괴물, 그리고 comma.ai에 대해 다시 조사하는 데 잠깐 몰입하게 됨, George Hotz의 Comma.AI는 $999짜리 “comma 3x” 스마트폰과 OBD-II 커넥터, $99짜리 배선 하네스로 최근 10년 이내 제조된 대부분 자동차(심지어 Tesla도)에 Autopilot급 기능을 추가할 수 있음, 전체 비용 $1098, 오픈소스로 [GitHub](https://github.com/commaai/openpilot)에 올라 있고 심지어 차량에 ssh 접속도 지원함, 선택형 클라우드 구독은 $10/월(직접 SIM) 또는 $24/월(셀러 데이터 포함), 다만 Tesla Sentry Mode에 해당하는 기능은 아직 없고, [이슈 #29912](https://github.com/commaai/openpilot/issues/29912)로 남아 있음, 오리지널 Tesla의 Sentry Mode가 250W를 씀 — 80kWh 배터리 기준 7일 만에 80%에서 30%로 떨어짐 — openpilot이 5W 이하만 쓸 거라면 훨씬 효율적일 거라고 생각함

  - George Hotz는 Twitter에 입사했다고 떠벌리고는 아무것도 안 하고 조용히 떠났다고 기억함, 민망하고 본인 스스로 자초한 일이라고 생각함

  - 글을 더 정확하게 고쳤으며, 동시에 Github Pages 버그로 블로그 자체는 내렸다고 이야기함

  - 마지막엔 Twitter 전체를 새로 만들자는 제안을 Elon에게 했던 것으로 기억함

- 개인적으로 Discord에 입사 지원까지 하면서 거대 이모지를 토글 설정으로 바꾸는 PR을 내보려 했음, 나뿐 아니라 서버 전체가 애타게 요청하고 있음

  - 소용 있을진 모르겠으나 나 스스로는 이모지 다음에 마침표를 붙여서 임시로 피하고 있음, 새로운 유저에겐 소용 없지만 내겐 임시방편임

  - Discord는 Electron 앱이라서 이론상 클라이언트 측 모드로 바꿀 수 있을 듯함, 다만 계정 정지 위험은 잘 모르겠음

  - 의미하는 바를 묻는 코멘트도 있음, 예를 들어 :) 이모티콘의 자동 변환을 끄는 옵션은 있다고 설명함
