공고 URL: https://toss.im/career/job-detail?job_id=4071141003&sub_position_id=4076109003&company=%ED%86%A0%EC%8A%A4%EB%B1%85%ED%81%AC 작성일: 2026-03-31
유망한 IT기업과 스타트업 출신 개발자들이 은행 혁신을 위해 모인 조직이다. 금융의 시작부터 설계 가능한 토스뱅크는 개발자에게 많은 자유를 제공한다. 기존 은행 관례에 의문을 제기하며 불편한 사용자 경험을 제거하는 데 집중한다.
| 기술 | 사용 맥락 | 출처 |
|---|---|---|
| Kotlin | 주 언어 (레거시 거의 없음) | 공고 |
| Java | 일부 사용 | 공고 |
| Gradle | 빌드 도구 | 공고 |
| Spring Boot | 애플리케이션 프레임워크 | 공고 |
| Spring MVC | REST API | 공고 |
| Spring WebFlux | 비동기 리액티브 처리 | 공고 |
| Spring Cloud Gateway | API 게이트웨이 | 공고 |
| Spring Cloud Config | 설정 관리 | 공고 |
| Netty | 비동기 네트워크 레이어 | 공고 |
| 기술 | 사용 맥락 | 출처 |
|---|---|---|
| MySQL | 주 RDB, 동시성 제어 락 활용 | 공고 + 블로그 |
| JPA/Hibernate | ORM | 공고 |
| Redis | 분산 락, 캐싱(TTL 1일), 캐시 전략 | 공고 + 블로그 |
| Kafka | 비동기 트랜잭션 분리, DLQ 패턴 | 공고 + 블로그 |
| MongoDB | 일부 데이터 스토어 | 공고 |
| Zookeeper | 분산 코디네이션 | 공고 |
| 기술 | 사용 맥락 | 출처 |
|---|---|---|
| Kubernetes | 컨테이너 오케스트레이션 | 공고 + 블로그 |
| Istio | Service Mesh (MSA 통신 관리) | 공고 + 블로그 |
| Docker | 컨테이너 | 공고 |
| ArgoCD | GitOps 배포 | 공고 |
| GoCD | CI/CD 파이프라인 | 공고 |
| Harbor | 컨테이너 레지스트리 | 공고 |
| Ceph | 분산 스토리지 | 공고 |
| Consul | 서비스 디스커버리 | 공고 |
| Vault | 시크릿 관리 | 공고 |
| 기술 | 사용 맥락 | 출처 |
|---|---|---|
| ELK Stack | 로그 수집·분석 | 공고 |
| Prometheus + Thanos | 메트릭 수집 (장기 보존) | 공고 |
| Grafana | 시각화 대시보드 | 공고 |
| Kafka | 이벤트 스트리밍 + 모니터링 연계 | 공고 + 블로그 |
토스뱅크가 1970년대부터 이어진 모놀리식 코어뱅킹 구조를 MSA로 전환한 과정이다. MCI·FEP·EAI가 강결합된 구조에서는 카드 이벤트 하나의 트래픽 폭증 시 전체 시스템을 스케일 아웃해야 했고, 한 컴포넌트 장애가 전 업무 마비로 이어질 수 있었다.
핵심 기술 결정:
@Lock(PESSIMISTIC_WRITE)으로 계좌 단위 동시성 제어무중단 마이그레이션 전략: 온라인 이중 호출(결과 비교) → 배치 검증(스테이징) → 카나리 배포(점진적 트래픽 전환) → E2E 통합 테스트. "빅뱅 배포 탈피"가 핵심이었다.
토스뱅크 DevOps 엔지니어들이 공유한 Kubernetes + Istio Service Mesh 운영기다. 은행 앱의 높은 안정성 기준을 충족하면서 MSA 간 통신 관리, 서킷브레이킹, 트래픽 제어를 Service Mesh로 해결했다. 채널계(MSA)와 코어뱅킹 사이의 복잡한 서비스 간 통신을 안정적으로 운영하는 방법을 다루며, 빠른 서비스 성장과 안정성을 동시에 달성하기 위한 인프라 철학을 공유했다.
Loan Tech Platform 팀의 인턴 경험기로, 토스뱅크 개발 문화와 실제 기술 환경이 잘 드러난다.
실제 기술 환경:
@Secret 애노테이션이 붙은 필드를 빌드 시점에 IR 트리 변환으로 자동 마스킹 → 계좌번호·주민등록번호 로그 노출 원천 차단installmentRepaymentManagementNumber 등) 관리 체계화개발 문화:
서류 접수
↓
(필요 시) 사전 인터뷰
↓
직무 인터뷰
↓
문화 적합성 인터뷰
↓
레퍼런스 체크
↓
처우 협의
↓
최종 합격 및 입사
| 공고 요구사항 | 내 경험 |
|---|---|
| Kotlin/Java Spring Framework 개발 | Java 17 + Spring Boot 3.x (NSC 슬롯팀, 2024.06 |
| 대용량 트래픽 안정적 운영 | RCC 시스템: 슬롯 6종 백그라운드 캐시 생성, 복합 인덱스 최적화로 COUNT 쿼리 성능 개선, 동시성 DB 유니크 키 + 예외처리로 제어 |
| Redis 사용 경험 | NSC 슬롯팀: Spring Boot + Redis (JPA + QueryDSL). 더퓨쳐컴퍼니: Redis Streams(이벤트 큐), Redis JSON(호가창 저장), RediSearch(가격 범위 조회·집계), Redis 분산 세마포어(직렬화 게이트), RDB 영속성 구성 |
| Kafka 사용 경험 | 직접 Kafka 운영 경험은 없음. Redis Streams로 유사한 이벤트 스트리밍 패턴(Consumer Group, 순서 보장, 미처리 메시지 구독) 직접 구현한 경험 있음 |
| 데이터 모델/API 설계 능력 | 거래소 체결 엔진: 호가창·주문 도메인 설계, Price-Time Priority 매칭 알고리즘 구현. RAG 배치: 11개 Step 파이프라인 설계, 전략 패턴 기반 메타데이터 확장 구조 |
| 비즈니스 요건 이해 | 더퓨쳐컴퍼니: 게임 거래소 기획부터 설계·구현. NHN: 슬롯 게임 RTP 보장 시스템(RCC) 설계, 금융 법적 요건 반영 |
| 캐시 아키텍처 설계 | SB개발팀: Ehcache + 인메모리 Map(AbstractStaticReloadable) + MQ Fanout 멀티서버 캐시 정합성 (RabbitMQ/Azure Service Bus 이중화). NSC슬롯: Spring @Async 비동기 캐시 생성 시스템 |
| 성능 최적화 | AliasMethod O(1) 가중치 랜덤 선택 도입, SecureRandom → ThreadLocalRandom 전환(58배 개선), JMH 벤치마킹으로 측정 |
| 아키텍처 추상화 | SlotTemplate/BaseSlotService/ExtraConfig 분리로 슬롯 엔진 추상화. RccSpinResultAnalyzer 인터페이스로 슬롯별 캐시 조건 캡슐화. EmbeddingMetadataProvider 전략 패턴 도입(OCP 준수) |
| Spring Batch 경험 | RAG 배치 파이프라인: AsyncItemProcessor + AsyncItemWriter 병렬 처리, CompositeItemProcessor 체이닝, @JobScope 데이터 홀더, 재시작 가능 설계 (allowStartIfComplete) |
ReactiveSimulator)에서 활용했으나, 프로덕션 WebFlux 서버 운영 경험은 없다.