Sangmin Yoon
개인적인 경험, 2025.09 - 2026.08개인적인 경험, 2025.09 - 2026.08
Sep 15, 20262025년 09-10월
나는 지독한 무기력함에 빠져 있었다. 자고 일어나면 새로 몰아치는 도구들의 강력함과 내가 한 명의 인간으로서 진정으로 할 수 있는 것에 대한 생각 사이에서 이렇다 할 돌파구를 찾지 못한 상태가 몇 달간 지속되었다. 엎친 데 덮친 격으로, 당시 내가 진행하고 있던 프로젝트는 새로운 영감과 지식을 준다기보다는 이전의 작업물에 대한 견고한 자기복제에 가까웠다. 무기력함에서 벗어나기 위해 큰 가방을 메고 비 내리는 제주 올레길을 3일 동안 걸었다. 서울로 돌아오는 비행기 안에서, 유일한 돌파구는 환경 자체를 완전히 바꾸는 것이라고 생각했다.

30km씩 생각 없이 걸으니까 좀 나아졌다 - 그 전부터 관심을 가지고 있었던 스타트업이 있었다. 지금이 때라고 생각해서 공고에 지원했고, 하어어링 매니저 인터뷰 단계에서 탈락 통보를 받았다.
- 그러니까 싱가포르로의 이직 시도는, 나를 좌절케 만든 작고 연이은 자극들이 쌓이고 쌓이다 불쑥 터져나온 일종의 충동적인 결정이었다. 비자가 없기 때문에, 예상은 했지만 50개 넘게 넣은 원서 중 지금 재직 중인 곳을 제외하고는 단 한 번의 서류 통과 회신 조차 받지 못했다.
- 6번 정도의 인터뷰를 마치고, 9월 24일 최종 오퍼 레터에 서명했다. 비자 준비를 위한 연이은 서류 작업이 있었다.
- 퇴직 처리와 인수인계, 그리고 한국에서의 전세 계약 관련된 행정 처리를 하고 오스트리아-스위스 여행을 떠났다.

리하르트 게르스틀의 자화상 - 레오폴드 미술관에서 리하르트 게르스틀이라는 난생 처음 보는 화가의 그림을 여러 점 보았다. 다른 화가의 그림에서는 느낄 수 없는 아주 특별한, 자기 영혼을 그림 안에 가둔 것 같은 신기한 체험을 했다.
- 살면서 처음으로 침대 칸 야간 열차를 타고 오스트리아에서 스위스로 넘어갔다. 크리엔스의 어느 호스텔에서 처음 만난 사람들과 체스를 두며 와인을 마신 경험은 오래도록 기억할 행복한 추억이었다.

크리엔스에서
2025년 11-12월
- 11월 8일 싱가포르에 도착했다. 이 나라의 첫인상은 “생각보다 안 더운데?” 였다. 원래 더위를 안 타는 체질이기도 하지만, 1년 내내 롱패딩으로부터 자유롭게 반팔 차림으로 걸을 수 있다는 사실이 제일 좋았다.

이게 정말 이민 가는 사람 짐이 맞냐고 아내가 물었다 - 고민을 안 해야 하는 걸 많이 하고, 해야 하는 고민은 절대 안 하는 성격 탓에 집은 하루 만에 구했다.

보자마자 마음에 들었다 - (도무지 제외할 수 없는 정신 나간 가격이긴 하지만) 집 가격을 제외하면, 마트 물가는 한국과 비슷하거나 오히려 저렴한 수준이다. 여기에 적응할 때 가장 시행착오를 겪었던 것은 의외로 미용실이었다. 여기 계신 한국인 선생님께 받는 커트 1회는 보통 60 싱달러 (6만 6천원) 수준이다. 감당이 안 되는 커트 가격에 대한 대응으로 로컬 미용실에 원하는 머리 사진을 들고 갔다가, 국적이 바뀐 것만 같은 큰 실패를 여러 차례 겪었다.
- 12월 1일 첫 출근을 했다. Data Platform 팀의 Infra 스쿼드에 배정되었고, 처음 도착해서는 온보딩과 다른 동료들이 설계한 프로젝트의 구현 작업들을 진행했다. 큰 틀에서 보면, 한국에서 하던 일 (대용량의 데이터를 적재/수집/가공/서빙하기 위해 필요한 모든 서비스를 제공하는 것)과 크게 다르지 않지만 일을 하는 방식에는 한국에서의 그것과 분명한 차이가 있었다.
2026년 1-3월
- 가장 큰 차이는, 나의 프로젝트/자율성/팀 내 영향력이 끊임없이 마치 <프로듀스 101>처럼 어필하고 선택받는 과정 속에 놓인다는 사실이다. Ongoing projects들은 매주 1회 있는 팀 미팅에서 우선순위가 조정된다. 미진한 진행 속도, 더 긴급한 작업 요청, 더 완성도 있는 프로젝트 제안 등과 같이 무수한 요인들로 인해 높은 우선순위로 지지받던 프로젝트가 후순위로 밀리기도 하고 그 반대의 경우도 생긴다. 프로젝트를 주도적으로 리드하고, 동료들이 자신의 프로젝트 구현에 시간을 쓸 수 있도록 팀 리드로부터 권한을 얻어내려면, 단순히 티켓을 잘 치는 것뿐만 아니라 프로젝트의 현 위치와 향후 로드맵에 대한 설득력 있는 어필이 필수다.
프로젝트에 대한 Proposal도 전적으로 개인의 영역이며, 누구도 프로젝트를 떠먹여 주지 않는 것 또한 큰 차이라고 느꼈다. 특히나 Staff+ 레벨로의 승진을 고려하는 사람이라면 더더욱 그렇다. 내년에 Staff 레벨로의 프로모션을 강하게 원하는 입장이기 때문에, 올해 중순부터 매니저들에게 적극적으로 피드백을 요청하며 스스로 보완이 필요하다고 느낀 부분이다. Upper Senior에서 Staff 레벨로 올라가기 위해서는, 팀이 아직 구체적이고 명시적인 언어로 규정하지 않은 문제들에 대한 자율적인 Scope definition과 Proposal을 지속적으로 contribute하는 것이 필수라는 것이다.

피츠버그 브랜치에서 1월에는 피츠버그 온보딩 이벤트를, 3월에는 라스베가스 팀 미팅을 다녀왔다. 피츠버그 가기 전 뉴욕을 며칠 여행했는데, 도슨트 님과 함께 3시간 동안 엄청나게 많은 작품을 보았지만 기억에 남는 건 오직 카라바조의 그림 뿐이었다. 로마에 가서 그의 그림을 다시 더 많이 봐야겠다고 이 때 생각했다.

메트로폴리탄 미술관에서 카라바조
2026년 4-6월
- 싱가포르는 서울보다 문화생활 할 기회가 훨씬 많다. 내가 좋아하는 다양한 아티스트들이 더 자주 싱가포르를 찾기 때문에 표 구하는 것이 어렵지 않다. 한국이었으면 5분 만에 매진되었을 손열음 공연도 1주 전에 제일 앞자리로 구했다.

2시간 일찍 가서 받은 사인 본격적으로 첫 번째 프로젝트를 리딩하기 시작했다. 기본적인 컨셉은 웨어하우스 현대화, 그러니까 Hive 카탈로그의 Iceberg로의 마이그레이션이었지만 내가 풀고자 하는 문제의 핵심은 카탈로그 커밋의 소유권을 누가 소유하는가에 대한 해석과 구현이었다. 팀의 레거시 웨어하우스는, “raw parquet가 버킷에 있는 것”과 “Athena가 그 파일을 보는 것”이 같은 사건이 아니었고, 파티션 발견/스키마 추론/소유권 운영 모두 daily batch와 ad-hoc maintanence로 흩어져 있었다. 나의 초기 설계는 이 흩어진 상태를 declarative state를 정의하는 YAML과 이를 요청받은 서버에서의 일련의 처리로 단일화하는 것이었다. 설계 과정에서 데이터는 데이터 소유자에, 우리 Platform 팀은 메타데이터만을 소유하는 zero-copy register 형식을 유지하는 데에 많은 신경을 썼다.
- 기다리고 기다리던 월드컵은 라우 파삿에서 봤다. 유니폼 환불이 시급한 경기력이었다.

체코전 승리 후. 어떠냐고 물어봐서 좋다고 했다. - 기회가 닿는 대로 주말을 끼고 여행을 갔다. 바탐, 하노이, 호치민, 발리 등 3시간 이내에 갈 수 있는 곳을 최대한 많이 다녔는데, 가장 인상 깊었던 순간은 월요일 새벽 4시 싱가포르로 돌아오는 말레에시아 조호르 바루의 버스 정류장이었다. 세계에서 가장 분주한 국경인 싱가포르-조호르 바루의 출근길을 직접 체험해 봤다. 더 나은 기회와 미래를 위해 조호르에 사는 사람들은 매일 6시간 이상을 쓰며 싱가포르로 출퇴근한다. 돈과 삶이 정작 나에게는 어떤 의미인지 몸으로 경험할 수 있는 몇 안 되는 기회였다.

사진에 다 담지 못할 정도로 사람이 셀 수 없이 많다
2026년 7-8월
처음으로 한국에서 친구들이 놀러 왔다. 싱가포르 풀-코스가 무엇인지 4일 동안 제대로 지도해주었다.

싱가포르 인도 음식 고트 Erode Amman Mess - 올해 이룬 가장 큰 성취가 무엇이냐고 묻는다면 나는 1초도 망설이지 않고 플래티넘 승급을 꼽겠다.

- 첫 번째 프로젝트인 Iceberg migration의 Phase 2 안정화 작업을 리드하고 있다. Phase 1을 릴리즈하고 난 이후 생긴 병목은 크게 두 가지였는데, 하나는 Iceberg의 테이블의 직렬 커밋으로 인한 성능/신뢰성 저하이고 다른 하나는 요청자에 대한 커밋/폐기 공개였다.
- Glue의 Optimistic locking에서 비롯된 구조적 제약이 있었다. Iceberg 테이블의 현재 상태는 Glue에 있는 하나의 snapshot pointer이고
add_files는 그 포인터를 새metadata.json으로 갈아끼우는 커밋이다. 커밋은 읽은version_id가 오직 HEAD일 때만 성공하기 때문에 동시 요청 중 하나만 성공하고 나머지는 거절 및 재시도된다. 이러한 동작 원리를 이해하지 못한 채 worker replica를 늘렸을 때 오히려 이로 인해 상태가 악화되는 것을 발견했다. 이를 위해 커밋 경로 자체의 비용을 줄이는 여러 작업들을 진행했다. - 최초 요청자에 대한 계약인 register 요청 시 HTTP 202 Accepted 응답은 사용성에 있어 그들에게 충분한 스펙이 아니었다. 요청자가 지정한
request_id를 받아 요청을 내구성 있게 기록하고success혹은abandoned라는 결과를 outbox를 통해 이벤트로 발행하도록 구조를 개선했다.
- Glue의 Optimistic locking에서 비롯된 구조적 제약이 있었다. Iceberg 테이블의 현재 상태는 Glue에 있는 하나의 snapshot pointer이고
두 번째 프로젝트인 ClickHouse-as-a-Service Phase 1을 설계하고 리드하고 있다. 이 작업은 공유 클러스터에 트래픽이 계속 쌓이는데 이 데이터를 누가 소유하고, 얼마나 보관하며, 어디에 써야 하는지를 아무도 한 곳에서 말할 수 없다는 불편함에서 시작했다. Phase 1에서는 사람 머리에 있거나 흩어진 DB에 있는 여러 상태들을 단일한 Policy contract로 승격시키고, 모든 컴포넌트가 이를 single-source-of-truth로 여기며, 이 desired state가 applied state와 일치하도록 하는 Reconciler를 구현하도록 설계했다.
- 꼭 한 번 다시 가서 살아보고 싶었던 파리를 8년 만에 다시 갔다. 파리는 나에게 애증의 도시다. 너무나도 아름답지만 학생이어서 부족했던 돈 때문에, 부족한 불어 실력 때문에 원하는 만큼 충분히 즐기지 못했던 2018년의 나 자신이 오랫동안 두고두고 아쉬웠다. 이 곳에서 과거에 살던 아등바등하던 나를 충분히 위로하고 온 것 같아 이제 더는 그 도시에 미련이 없다.

Pigalle에서 오리 콩피
1년을 닫으며
하루하루는 몰랐는데 싱가포르로 향하는 비행기를 타던 1년 전의 나와 지금의 나를 나란히 놓고 보니 그새 또 많이 달라졌다. 성장했다는 표현은 쓰고 싶지 않다. 나는 더 이상 “성장”을 원하지 않거니와, 지금의 나는 굳건하고 단일한 방향키를 위태롭게 붙잡고 나아가기보다는 혼돈과 무작위성 위에서 춤을 출 배짱을 갖춘 삶을 원하기 때문이다. 다음 1년 동안 이루고 싶은 무언가가 있다기보다는, 그저 또 즐거운 마음으로 지나간 한 해를 돌아볼 수 있는 좋은 추억과 경험들이 또 새로 쌓이기를 바랄 뿐이다.