정답이 없는 세계에서 최적의 균형점을 향해 간다는 건

2026-02-27
정답이 없는 세계에서 최적의 균형점을 향해 간다는 건_포스트썸네일

당근에서 ‘테니스채’를 검색하면 참 신기한 경험을 하게 돼요. 피드에는 마침 내가 찾던 중고 테니스채가 보이고, 그 아래로 함께 테니스를 칠 동네 모임이 자연스럽게 이어지죠. 또 위시 리스트에 담아둔 새 테니스채 광고가 보이기도 해요.

마치 꼭 필요했던 정보가 퍼즐처럼 맞춰지는 이 경험은, 과연 우연일까요?

사실 우리가 마주하는 이 매끄러운 흐름 뒤에는 수많은 설계가 숨어 있어요. 매 순간 나에게 꼭 맞는 정보를 보여주기 위해 보이지 않는 곳에서 머신러닝 모델이 작동하고 있죠. 이번 글에서는 당근의 피드실, 검색실, 광고실 ML 엔지니어를 만나 각자의 방식으로 균형점을 찾아가는 방식을 들어보았어요.

Q. 세 분 만나서 반갑습니다! 간단한 자기소개 부탁드려요.

(왼쪽부터) 피드실 Ben, 광고실 John, 검색실 Dino

(왼쪽부터) 피드실 Ben, 광고실 John, 검색실 Dino

Ben: 안녕하세요. 피드실 ML 엔지니어 벤이에요. 피드는 당근 앱을 켜면 가장 먼저 보이는 홈 화면이에요. 중고거래, 동네생활, 알바 같은 여러 서비스로 사용자를 연결하는 출발점이죠. 저는 사용자의 행동 데이터를 바탕으로 어떤 콘텐츠를 어떻게 보여줄지 결정하는 개인화 추천 모델을 만들고 있어요.

John: 광고실 ML 엔지니어로 일하고 있는 존이에요. 광고실은 당근 앱 내의 광고 시스템을 설계하고 운영하는 팀이에요. 저는 광고 문구나 이미지를 자동으로 생성하는 모델과 어떤 사용자에게 어떤 광고를 보여줄지 예측하는 모델을 개발하고 있어요.

Dino: 검색실 ML 엔지니어 디노예요. 검색실은 사용자가 입력한 검색어 속 의도와 맥락을 해석해 가장 적절한 결과를 보여주는 팀이에요. 저는 동네 업체와 지도 검색을 중심으로, 적절한 후보를 구성하고, 사용자 의도에 맞게 노출 우선순위를 정하는 모델을 다루고 있어요.

Q. 여러 선택지 중에서 당근을 선택한 계기가 있을까요?

Ben: 박사 과정에서 인터넷상의 비정형 텍스트 데이터를 잘 처리할 수 있는 자연어 처리 모델을 연구했고, 이 주제로 Google PhD Fellowship을 받기도 했어요. 이후 다른 곳에서 실제 서비스 환경을 경험하던 중 당근의 ML 발전 과정을 다룬 테크 밋업 영상을 보게 됐는데, 생각보다 훨씬 고도화된 방식으로 운영되고 있다는 걸 알게 됐죠. 그걸 보면서 제가 고민해 온 문제들을 더 큰 트래픽 위에서 풀어보고 싶다는 생각이 들었어요.

John: 설명이 필요 없는 앱이잖아요. 그런데 대학원 연구실 선배를 통해 들어보니, 빠르게 성장하는 과정에서 풀어야 할 문제들도 여전히 많더라고요. 이렇게 수많은 사람이 사용하는 앱이 마주할 다양한 과제들을 ML로 직접 해결해 보고 싶어 합류했습니다.

Dino: 제가 당근 헤비 유저거든요. 매너온도가 아마 여기서 제일 높을 거예요. (웃음) 저는 지원 당시 사실 학부 재학 중이라 지원을 망설였는데, 채용 공고를 보니 학위 제한이 없더라고요. 학사에게도 기회가 열려 있고, 학위보다 ‘문제 해결 역량’을 더 중요하게 본다는 점에 이끌려 도전했어요.

Q. 그렇게 합류해 보니, 기존에 하던 연구와 많이 다르다고 느끼셨다고요.

John: 연구실에서는 모델 성능을 1%라도 더 올리는 게 목표였어요. 그런데 실무에서는 그게 출발점일 뿐이더라고요. 아무리 좋은 모델이라도 서빙 시간이나 비용을 감당하지 못하면 쓸 수 없으니까요. 결국 성능, 속도, 비용 사이에서 그때그때 가장 합리적인 균형점을 찾아야 해요. 완벽한 해답이 있는 게 아니라, 주어진 조건 안에서 최선의 선택을 만들어가는 과정이라고 느꼈어요.

Ben: 기존에는 정답이 정해진 정제된 데이터를 다뤘다면, 실무에서는 사용자의 행동 하나하나가 실시간으로 데이터가 되고 다시 모델에 반영되는 구조라는 점이 가장 달라요. 모델을 잘못 배포하면 왜곡된 행동이 쌓이고, 그게 다시 학습에 영향을 주는 악순환이 생길 수도 있거든요. 그래서 단순히 지표를 올리는 기술보다, 전체 구조를 안정적으로 설계하는 일이 훨씬 본질적이라는 걸 깨달았어요.

Q. 지금 가장 몰두하고 있는 문제도 들어보고 싶어요.

Ben: 요즘은 피드에 단기 클릭이 아니라 몇 년간 쌓인 이력까지 반영하는 장기 유저 모델링을 고도화하고 있어요. 당근은 접점이 다양해서 최근 행동만으로는 사용자를 충분히 설명하기 어렵거든요. 최근에는 동네 지도 검색 품질 개선도 함께 진행 중이고요.

👉 장기 유저 모델링 고도화 프로젝트가 더 궁금하다면?

Dino: 저는 검색어의 의도를 해석하는 모델과 이를 바탕으로 적절한 동네 업체를 후보로 구성하는 시스템을 개발하고 있어요. 같은 단어라도 상황에 따라 기대하는 결과가 달라지거든요. 사용자의 입력 뒤에 숨은 맥락을 분석해 실제로 찾고 싶은 결과가 정확히 연결되도록 만드는 데 집중하고 있죠.

John: 저는 사용자 경험을 해치지 않으면서도 광고 효율을 높일 수 있는 예측 모델을 개발하고 있어요. 수많은 후보 중에서 지금 이 사용자에게 가장 적합한 광고를 실시간으로 찾아내는 게 핵심이에요. 광고주와 사용자 모두에게 의미 있는 매칭이 이루어지도록 기준을 정교하게 설계하고 있어요.

Q. 말씀 주신 문제들은 ML이 아닌 다른 방식으로도 풀 수 있을 것 같은데요.

Ben: 기존 규칙만으로는 한계가 있어요. 예를 들어 ‘테니스채를 봤으니 테니스 모임을 보여준다’와 같은 로직은 만들 수 있죠. 하지만 그 사용자가 입문자인지, 장비를 교체하려는 고수인지에 따라 필요한 정보는 완전히 달라져요. 고정된 규칙은 이런 ‘맥락’을 모두 담아내지 못해요. 실제로 ML을 도입한 이후 사용자 개개인의 맥락을 반영한 추천 지표가 크게 개선됐거든요.

Dino: 검색도 모든 쿼리를 규칙으로 정의하기 어려운 영역이에요. 사용자가 입력하는 검색어가 업체명, 상품명, 오타, 여러 단어의 조합까지 계속 늘어나기 때문이죠. 또 같은 단어라도 계절, 위치, 사용자 상황에 따라 의도가 달라지기도 해요. 예를 들어 ‘눈’이라는 검색어는 어떤 사용자에게는 눈썰매장을 찾는 의미일 수 있고, 다른 사용자에게는 안과를 찾는 의미일 수 있어요. 그래서 ML을 활용해 검색어의 의도를 해석하고 그에 맞는 후보를 구성해 품질을 높이고 있어요.

John: 저희는 0.1초도 안 되는 찰나에 수백만 개의 후보 중 최적의 광고 소재를 골라내야 하기 때문에 ML로 접근하고 있어요. 사용자의 피로도는 낮추면서 광고 효율은 높이는 그 균형점은 수기로 계산할 수 없거든요. 고도화된 모델만이 지연 없이 찰나의 순간에 데이터를 바탕으로 최적의 타협점을 찾아낼 수 있죠.


Q. 특히 당근이라서 더 까다로운 지점도 있을 것 같아요.

John: 맞아요. 당근 광고의 경우 동네 가게 사장님과 전문 마케터가 함께 사용하는 공간이라, 누구나 쉽게 가게를 알릴 수 있어야 하면서도 정교해야 하죠. 이 상반된 니즈를 하나의 모델 안에서 녹여내는 게 까다로운 지점이에요. 게다가 강남구처럼 지역을 아주 좁게 설정해 광고를 운영하는 경우도 많아요. 이렇게 한정된 범위 안에서 사용자에게는 유용한 정보로 느껴지게 하고, 광고주에게는 확실한 성과를 만들어야 해요. 무한한 경우의 수 중에서 균형을 찾아가는 일이 쉽지 않아요.

Ben: 존의 ‘균형을 찾아가는 일’이라는 표현에 공감해요. 당근에서의 거리는 단순히 반경 몇 km로 나눌 수 있는 개념이 아니에요. 무료 나눔은 가까워야 의미가 있지만, 고가의 물건은 조금 멀어도 거래가 성사되니까요. 데이터 구조도 달라요. 일반적으로는 클릭하지 않은 콘텐츠를 ‘관심 없음’으로 학습하지만, 당근에서는 단지 거리가 멀어서 보지 못한 경우도 많죠. 그래서 표준 알고리즘을 그대로 적용하기보다, 당근에 맞게 다시 설계하고 있어 어디에도 없는 유일무이한 로컬 피드라고 할 수 있죠.

Q. 그런 제약 속에서도 실제로 비즈니스 임팩트로 이어진 사례가 있을까요?

Ben: 사용자를 더 깊이 이해하기 위해 장기 이력까지 반영하도록 임베딩 구조를 새로 설계한 사용자 모델링 프로젝트요. 클릭 수, 채팅 수, 전환율이 모두 약 10% 가까이 개선됐어요. 수천만 유저의 실제 지표가 제가 만든 구조를 따라 움직이는 걸 보면서 비즈니스 임팩트를 처음으로 실감했답니다.

John: 저는 광고 제목만으로 광고의 성과를 예측하는 모델을 개발했던 프로젝트가 가장 기억에 남아요. 광고주 입장에서는 광고를 실제로 집행하기 전까지는 성과를 알기 어렵기 때문에 제목을 비롯한 여러 설정을 바꿔가며 시행착오를 겪을 수밖에 없거든요. 이를 줄이기 위해 생성 단계에서 성과를 예측할 수 있는 모델을 개발했어요. 점점 더 많은 광고주가 이 기능을 활용하고 클릭률도 향상되는 모습을 보며, 제가 개발한 모델이 광고 운영에 실질적인 도움을 주고 있다는 뿌듯함을 느꼈죠.

Dino: 동네 지도에 검색 기능을 0 to 1으로 붙였던 적이 있는데요. LLM을 활용해 사장님들의 로컬 프로필에서 정보를 추출하는 구조를 설계했어요. 덕분에 '붕어빵' 키워드를 검색했을 때 지도에 업체들이 뜨는 그림도 만들 수 있었고요. 현재 당근에서 검색이 동네 지도의 주요 유입 경로로 자리 잡은 것을 보며 큰 보람을 느껴요.

Q. 이런 임팩트들이 축적되면서 궁극적으로 만들어가고 싶은 사용자 경험은요?

John: 광고가 더 이상 피로한 광고가 아니라, 사용자에게 꼭 필요한 콘텐츠로 다가가는 상태를 꿈꿔요. 거부감 없이 받아들여지고, 딱 필요한 순간에 등장하는 거죠. 동시에 광고주에게는 복잡한 조작 없이도 ML이 알아서 최적의 성과를 만들어 주는 '완전 자동화 플랫폼'이 되는 것이 궁극적인 목표예요.

Ben: 하루 종일 물 흐르듯 당근 피드를 끝없이 스크롤하게 만드는 경험이요. 재미있어서 나도 모르게 계속 내리게 되는 거죠. 내 관심사에 맞는 동네 소식들이 물 흐르듯 이어지면서 ‘어, 이것도 궁금한데?’ 하고 몰입하게 되는 상태요. 사용자가 당근 안에서 진심으로 즐겁게 머물렀으면 해요.

Dino: 사용자에게 원하는 결과를 완벽하게 보여주는 거요. 검색은 '단 한 번에 끝나는 경험'이 이상적이라고 생각해요. 사용자가 조금 모호한 단어를 입력하더라도 모델이 숨겨진 의도를 정확히 읽어내서 가장 적절한 결과를 즉시 보여주는 거죠. 새로고침을 하거나 다시 검색할 필요 없는 연결을 만드는 것이 저희가 꿈꾸는 검색 경험이에요.

Q. 곧 당근 ML 직군 채용이 열릴 예정이에요. 지원을 고민하는 분들이 가장 궁금해하실 것 같은데, 실제로 겪어본 당근의 채용 과정은 어땠나요?

John: 직무 인터뷰가 정말 재밌었어요. 단순히 질문을 받고 답하는 자리가 아니라, 마치 당근에 합류해서 미팅한 것처럼 인터뷰어분들과 의견을 핑퐁으로 주고받았거든요. 제 논리에 대해 자유롭게 토론할 수 있는 분위기가 굉장히 인상적이었습니다.

Ben: 인터뷰어분들이 제 답변에 파고드는 수준이 굉장히 높으시더라고요. '왜 그 기술적 선택을 했는지' 아주 디테일한 부분까지 묻는 과정이 이어졌는데, 그 과정 자체가 저에겐 팀의 탁월한 역량을 느끼게 된 계기였어요. '아, 이분들과 함께라면 정말 제대로 일해볼 수 있겠다'라는 확신이 들었죠.

Q. 합류해 보니 생각과 달라 놀랐던 지점도 있었다면서요.

Dino: 가장 놀랐던 건 자율성이었어요. 제가 제안한 코드를 바로 배포해 보라고 하셨거든요. 초당 수백 건의 트래픽을 받는 서버에 제 코드가 올라간다고 생각하니 손이 떨렸죠. (웃음) 그때 팀에서 “안 되면 롤백하면 되고, 모니터링하면 된다. 계속 시도해 보라”고 말씀해 주셨어요. 신입이었지만 믿고 맡겨주는 문화 덕분에 겁내기보다 책임을 지는 법을 먼저 배웠던 것 같아요.

Ben: 저는 당근이 생각보다 훨씬 다양한 영역에 ML을 적극적으로 활용하고 있다는 점에 놀랐어요. 들어와 보니 사용자 여정 곳곳에 ML이 자연스럽게 녹아 있더라고요. 보이지 않는 곳에서 여러 모델이 돌아가는 구조를 보면서, ‘아, 이게 서비스 위에서 동작하는 ML이구나’ 하고 실감했어요.

John: 함께 도메인 지식을 공부할 수 있는 분위기가 인상 깊었어요. 각 팀의 ML 엔지니어들이 모여 일주일에 한 번씩 논문 스터디를 열고 분야 제한 없이 인사이트를 나누거든요. 서로 설명하고 질문을 주고받으며 다른 팀의 고민과 새로운 접근을 자연스럽게 접하기도 해요. 도메인을 완벽히 몰라도 함께 배우며 성장할 수 있는 문화죠.

Q. 당근에서 일해보고 싶은 분들이 많아질 것 같은데요. (웃음) 혹시 준비 과정에서 도움이 될만한 인터뷰 꿀팁도 있을까요?

Ben: 당근 앱을 켜고 ‘여기에 ML을 적용한다면 어떻게 설계해 볼 수 있을까?’를 자주 상상해 보시면 좋아요. 실제 서비스 맥락에서 문제를 정의해 보는 연습이 큰 도움이 되거든요. 연구에서 가설을 세우고 문제를 구조화해 본 경험이 있다면, 당근에서도 충분히 잘 해내실 수 있을 거예요.

John: 당근에서의 엔지니어링 업무가 기존에 공부했던 분야와 다르진 않을까 걱정하는 분들도 많은데요. 저는 그보다 내가 왜 그 솔루션을 선택했는지 논리적으로 설명할 수 있는지가 더 중요하다고 생각해요. 도메인 지식은 일하면서 쌓을 수 있지만, 선택의 이유를 설명하는 힘은 하루아침에 만들어지지 않거든요. 어떤 선택을 하든 스스로 납득하고, 다른 사람도 설득할 수 있을 만큼의 근거를 갖추려 노력하시면 좋은 결과가 있을 거예요.

Dino: 인터뷰를 준비하실 때는 하나의 정답에만 갇히기보다, 생각을 열어두고 여러 방면으로 고민해 보시면 도움이 될 거예요. 저 역시 제가 준비했던 답변만을 고집하기보다는 대화 과정에서 오가는 의견들을 수용해서 더 나은 방안을 찾아가려고 했거든요. 인터뷰를 유연한 사고로 함께 답을 찾아가는 과정이라고 생각해 보세요.

Q. 마지막으로, 지원을 앞둔 분들에게 한 마디 부탁드려요!

Ben: 겉으로 보면 이미 너무 잘 알려진 서비스라 ‘여기서 더 풀 문제가 있을까?’라는 생각이 들 수 있어요. 저도 그랬거든요. 그런데 막상 와 보니 오히려 풀어야 할 문제가 정말 많았어요. 복잡한 문제를 작은 문제들로 잘 쪼개고 하나씩 풀어가는 과정을 즐기는 분이라면 분명 재미있게 일하실 수 있을 거예요.

John: 완벽하게 준비된 상태가 아니어도 괜찮아요. ML에 대한 애정과 문제를 끝까지 붙잡는 끈기가 있다면 충분히 도전해 볼만하다고 생각합니다. 채용 공고만 보고 겁먹지 마시고, 한 번 부딪혀 보셨으면 좋겠어요.

Dino: 당근 ML 엔지니어링은 어렵고, 그래서 더 재미있어요. 로컬이라는 맥락 안에서 어떤 신호를 더 중요하게 볼지, 어디에 균형을 둘지 매번 고민해야 하거든요. 정답이 정해져 있지 않은 환경에서 스스로 기준을 만들어가는 걸 즐기는 분이라면 잘 맞을 거예요. 같이 고민하고 같이 설계해 보는 날을 기다리고 있을게요!

정답이 없는 환경에서 당근만의 균형점을 찾아보고 싶다면2026 당근 ML 직군 채용 바로 가기🥕

당근

당신 근처의 지역 생활 커뮤니티

추천 포스트