토스

70 posts

toss.tech

Filter by tag

toss

모노리포 희망편, 절망의 리포가 희망의 리포로 부활하기까지 걸린 1년 (opens in new tab)

안녕하세요, 토스 클라이언트 엔지니어링 헤드 박서진, 프론트엔드 플랫폼 엔지니어 박성범입니다. 토스 서비스는 어떻게 개발되고 있을까? 토스에서는 100명이 넘는 프론트엔드 엔지니어들이 토스앱 안과 밖의 제품들을 개발하면서, 하루에 수백 번 제품을 업데이트 해가고 있어요. 제품의 숫자가 많고 종류도 다양하지만, 핵심적인 개발환경은 동일하게 유지하고 있습니다. 구체적으로는 아무리 오래된 제품이라고 하더라도 모두 최신 버전에 가까운, 동일한 버전의 React 19와 Next.js 15을 사용하고 있어…

toss

DS와 MLE가 함께 일하는 법 (opens in new tab)

안녕하세요, 토스뱅크 Product Foundation ML Service Team, ML Engineer 김경윤입니다. 1년 전, 이런 일이 있었어요. DS(Data Scientist)가 노트북에서 모델을 다 만들었습니다. 정확도도 잘 나오고, 노트북에서는 완벽하게 돌았죠. 그래서 그 코드를 서빙으로 옮기려고 받았는데, 실행이 안 됐어요. 모델이 쓰는 라이브러리랑 설정 파일이 여기저기 흩어져 있어서 "이 파일도 필요해요, 저것도요"를 며칠 동안 주고받았습니다. 문제는 이게 한 번으로 끝나지 않…

toss

LLM은 똑똑한데, 왜 우리 회사 일은 모를까 (opens in new tab)

요즘 LLM은 공개된 지식에 관한 질문에는 꽤 능숙하게 답해요. 코드를 작성하고, 긴 문서를 요약하고, 복잡한 요청을 여러 단계로 나눠 처리하기도 하죠. 하지만 회사 안으로 들어오면 이야기가 달라져요. “이 기능의 현재 정책은 무엇인가요?” “문서에 적힌 내용이 실제 코드에도 반영되어 있나요?” “지난번 논의에서 결론이 바뀌지 않았나요?” 이런 질문에는 모델의 추론 능력만으로 답할 수 없어요. 답을 만드는 데 필요한 정보가 문서, 코드, 미팅 로그와 사내 메신저 등에 흩어져 있고, 각 정보가 여…

toss

토스의 디바이스 팜 만들기 (opens in new tab)

안녕하세요, 사내 디바이스 팜 '네뷸라(Nebula)'를 만들고 운영하는 토스 Node.js 개발자 차영훈입니다. 먼저 디바이스 팜(Device Farm)이 뭔지부터 간단히 짚을게요. 테스트용 실제 스마트폰 여러 대를 서버에 연결해두고, 원격에서 제어하며 자동화 테스트를 돌리는 설비입니다. 개발자가 자리에 앉은 채로, 기기를 직접 만지지 않고도 실제 폰 위에서 앱을 테스트할 수 있게 해주죠. 네뷸라는 실기기를 24시간 연결해두고, 전사가 API 호출 한 번으로 함께 쓰는 디바이스 팜입니다. 그리…

toss

누군가는 토스를 테스트하는 동안, 우리는 테스트하는 법을 만듭니다. (opens in new tab)

매주 토스는 다시 태어납니다. 지난주의 토스와 이번 주의 토스는 같아 보여도 같지 않습니다. 누군가는 화면을 고치고, 누군가는 새 기능을 얹고, 누군가는 눈에 보이지 않는 코드 한 줄을 바꿉니다. 한 번 내보낼 때마다 평균 300~400건의 코드가 바뀝니다. 우리에게는 늘 있는 변경이지만, 사용자에게는 그렇지 않습니다. 급한 송금을 보내야 할 때도, 대출을 빠르게 비교해야 할 때도, 결제가 급한 순간도 있습니다. 그저 평범한 하루일 수도 있습니다. 그 순간 버튼 하나가 눌리지 않으면, 사용자의…

toss

6. 도구를 넘어, 기준과 책임으로 (opens in new tab)

안녕하세요. 토스 Technical Writing Partner 황동진입니다. 앞서 Technical Writing Chapter는 이런 다짐을 했어요. "문서를 직접 쓰고 다듬는 일은 AI에게 넘기고, 지식이 생기고 순환하고 정리되는 구조를 설계하는 사람이 되겠다." 저는 커머스 도메인에 소속된 Technical Writer(이하 TW)로서 그 일을 먼저 도메인 안에서 시도해봤는데요. 커머스 도메인에서는 쇼핑 홈, 상품, 주문, 결제, 정산처럼 서로 맞물린 일을 여러 팀이 함께 만들고 운영해요…

toss

5. Technical Writer, 사라질 결심 (opens in new tab)

안녕하세요. 토스 Technical Writing Partner 김혜빈입니다. 이전 편에서 AI 시대에 문서화 방식이 어떻게 달라졌는지 간단히 소개했는데요. AI가 문서화 방식을 바꿨듯, 문서도 AI의 일에 영향을 줄 수 있어요. AI는 똑똑하지만 조직의 맥락을 모르면 제대로 동작하지 않는데, 그 맥락을 AI에게 전달하는 가장 쉬운 수단이 바로 문서이기 때문이에요. 그래서 토스 팀에서도 문서를 잘 관리하고 싶다는 요구가 빠르게 늘었어요. 문제는 규모예요. 토스 커뮤니티 전체 인원은 약 4천 명인…

toss

우리 팀의 문서화는 왜 실패할까? (1) (opens in new tab)

조직에서 누구나 한 번쯤 들어봤을 말이 있습니다. "우리 문서화 해야 합니다." 그리고 그 말은 대부분 한 달쯤 가다 흐지부지됩니다. 왜 그럴까요? Technical Writing Chapter의 동진 님, 혜빈 님은 각각 다른 조직에서 이 문제를 풀고 계신데요. 동진 님은 커머스라는 '도메인'에서, 혜빈 님은 서버라는 '챕터'에 직접 들어가 문서화를 맡았습니다. 성격이 다른 두 조직에서 같은 문제를 어떻게 풀었는지 이야기를 들어봤습니다. 도메인은 커머스, 광고처럼 특정 사업·제품을 목표로 여러…

toss

es-toolkit, 사내 작은 라이브러리가 전세계적인 라이브러리가 되기까지 (opens in new tab)

안녕하세요, 토스 Frontend Engineering Head 박서진, 토스뱅크 Frontend Developer 이다용입니다. 오늘은 토스의 작은 유틸리티 함수 라이브러리로 시작한 es-toolkit이 어떻게 일주일에 2천만 회 이상 다운로드되고, Yarn이나 Recharts 같은 핵심 라이브러리에서도 사용되었는지 그 성장한 과정을 소개해 드릴게요. [서진] es-toolkit의 시작 프론트엔드 개발자로서 throttle, debounce 나 uniq 같은 함수들이 자주 필요해요. 그런데 지…

toss

우리 팀의 문서화는 왜 실패할까? (2) (opens in new tab)

앞선 인터뷰에서는 문서화가 늘 실패하는 이유를 알아봤습니다. 의지가 약해서가 아니라, 쓸 기준도 확신도 없는 데다 '쓰겠다는 결심'에만 의존하는 구조가 문제였고, 그래서 흩어진 지식을 한곳에 모으는 것이 중요하다는 이야기였죠. 그렇다면 혜빈 님과 동진 님은 실제로 어떻게 이 문제를 해결하고 있을까요? 이번 편에서는 도메인과 챕터라는 서로 다른 조직에서 겪은 시행착오부터, AI가 문서에 일으킨 변화, 그리고 이제 막 문서화를 시작하는 조직이 무엇부터 시작하면 좋을지 이야기 나눠볼게요. 문제 해결…

toss

디자이너에게 AI로 뭐든 만들어보라고 한다면 (opens in new tab)

지난 3월, 토스 디자인 챕터는 AI Contest를 열었어요. 규칙은 단 하나였어요. AI로 뭐든 만들어보기. 형식도 결과물도 자유예요. 업무와 관련 없어도 괜찮았고, 단순 재미로 만들어도 되고, 완성도가 높지 않아도 됐어요. 중요한 건 AI를 직접 만져보고, 자신의 문제를 스스로 해결해 보는 경험이었죠. 그렇게 한 달 동안 122개의 작업이 모였어요. 흥미로운 점은, 디자이너들이 AI를 활용하는 방식이 몇 가지 공통된 방향으로 나뉘었다는 거예요. 그중 인상적이었던 네 가지 사례를 소개할게요.…

toss

전문성 밖으로 나아가기 (opens in new tab)

TW가 제품 오너로 일한다는 것 앞서 토스의 Technical Writer(이하 TW)가 하는 일을 네 가지로 나눠 소개했어요. 그중 첫 번째가 '제품을 만든다'였죠. TW가 제품을 만든다는 게 어떤 의미인지, 제 이야기부터 풀어볼게요. 저는 지금 Knowledge System Team이라는 제품 팀의 리더로 일하고 있어요. 개발자·디자이너·TW와 함께 제품의 방향을 잡고, 로드맵과 우선순위를 정합니다. 사용자를 직접 인터뷰해 인사이트를 팀에 가져오고, 기능을 기획하고, AI 도구로 직접 만들기…

toss

Spark Connect on Kubernetes #1: 견고한 Spark Connect 만들기 (opens in new tab)

안녕하세요. 토스증권 Data Infra팀 박지원입니다. 토스증권은 분석가와 엔지니어가 복잡한 설정 없이 Spark를 쓸 수 있도록, Spark Connect를 Kubernetes에서 서비스로 운영하고 있습니다. 사내 여러 팀의 분석과 데이터 파이프라인이 이 위에서 돌아가는 만큼, 안정성을 확보하는 것을 가장 중요한 목표로 두고 있습니다. 이 시리즈에서는 Spark Connect를 Production 수준의 서비스로 만들어온 과정을 풀어보려고 합니다. 첫 주제는 견고한 Spark Connect…

toss

세상에 없던 직무를 만들어가기 (opens in new tab)

안녕하세요, 토스 Technical Writing Chapter Lead 한주연입니다. 이번 시리즈에서는 토스의 Technical Writer(이하 TW)들이 어떻게 '문서를 쓰는 사람'에서 '조직의 지식 시스템을 설계하는 사람'으로 일을 넓혀왔는지 이야기해보려고 해요. "이거 왜 이렇게 되어 있나요?" 회사에서 일하다 보면 하루에도 몇 번씩 듣고, 또 묻는 질문이에요. 코드를 짠 사람의 기억을 함께 더듬거나, 1년 전 업무 메신저 스레드까지 뒤져가며 맥락을 찾으신 적 많으실 거예요. 심지어 이…