전 직장 flex을 퇴사하고 며칠 뒤, 토스플레이스에 합류했습니다.
이직을 준비하면서 여러 회사를 고민했지만, 토스플레이스를 선택한 가장 큰 이유는 단순히 “재밌어 보였기 때문” 이에요.
토스플레이스는 비바리퍼블리카(토스) 커뮤니티에 속한 자회사로, 토스 얼굴결제를 실생활에 적용하기 위해 다양한 오프라인 시장에 진출하고 있어요. 대표 제품으로는 토스 포스기, 토스 프론트, 토스 키오스크가 있어요.
저는 그중에서도 포스 홈 팀에서 ‘토스 포스기’를 다루고 있어요.
입사한 지 어느덧 3개월이 되었고, 이번 글에서는 지난 시간 동안 제가 느낀 점과 배운 것을 정리해 보려고 합니다.
첫인상: “개판인데?”
입사 첫날, Frontend Platform 팀에 입사발령 받았다.
굉장히 당황했던게, 나는 토스플레이스의 오프라인 사업을 이루는 다양한 제품에 관심이 있어서 입사한거지, 개발자들을 위해 DX를 개선하거나 디자인시스템을 만들고, 제품 인프라를 관리하고 싶어서 입사한게 아니었다.
입사 전에 미리 의사를 전달했기에 당연히 product 팀으로 발령 받을거라 생각했다. 빠르게 적응해서 제품에 기여할 기대를 하던 나에겐 예상에 없던 일이라 큰 당황이었다. 그런데 다행히도 전사적으로 팀 리빌딩을 계획중이라 어차피 곧 바뀔 팀이기에 임시 배치를 받았던 것이었다.
하지만 팀 리빌딩까지는 2주가 넘게 남은 상황이라 아까운 내 시간을 버릴 수는 없었다.
토스플레이스는 내가 생각했던 것 이상으로 구성원 개인을 크게 신뢰한다.
일이 많거나 적거나 최대의 퍼포먼스를 내는 것을 기대하고, 개인의 의견을 존중하고, 개인의 성장을 지원한다.
그리고 이런 문화는 소속감이 없는 신규입사자인 나에게 부담으로 다가왔다. 당장 내가 할 수 있는 일이 뭐지? 싶었던게, 제품을 만들기엔 맥락도 잘 모르고 소속된 팀이 없기에 도움드리기 애매하다. 그렇다고 플랫폼 업무를 하기엔 과거 히스토리를 전혀 모르는 상황에서 제품의 기반이 되는 인프라를 쉽사리 건들기 어려웠다. ( platform 업무에 흥미가 없지만 팀을 위한 일을 거부하지는 않는다. )
그래도 손 놓고 있을 순 없으니, 빠르게 적응하고 기여할 방법을 고민했다.
종국에는 이런저런 기여를 하다보니, 팀 리빌딩이 끝나고 자연스럽게 포스 홈 팀에 합류하게 되었지만.
아래에 내 첫인상이 안좋았던 일들을 정리해봤다.
아 근데 짧게나마 플랫폼팀에서 뭐라도 함
토스플레이스 메인 제품들의 소스코드를 훑어보며 코드베이스를 학습하던 와중 몇가지 문제들이 눈에 들어왔다.
- 방대한 코드베이스지만 맥락이 담긴 기록 부족
- 이해하기 어려운 모노레포 설계
- 느린 타입 시스템과 린트
그 외에도 의미 불명의 패키지 구조, 얕은 도메인 지식 기반의 코드들이 보였다. 물론 속도를 위해 부채를 남길 수밖에 없었겠지만, 부채는 결국 누군가 언젠간 갚아야 한다.
그리고 이것이 당장 어렵다면 미래에 부채를 갚을 수 있도록 최소한의 준비를 해야한다. 아직 리소스에 여유 있는 내가 챙기고 싶은 지점이 많았지만 DRI를 갖는 메인터넌스가 직접 챙기겠다고 이야기해 당장 건들지는 않았다. 예를 들면 이런 것들이었다.
- 모노레포 패키지 해석의 문제: 공유만 드렸다. ( 나중에 챙기겠다고 하심.. 우선순위가 계속 밀리던데 ㅠㅠ )
- 타입 시스템 개선을 위한 분석: 보안시스템이 파일 순회하면서 타입스크립트 서버에 메모리가 자꾸 차오르던 이슈 였음.. 소스코드는 예외처리 할 수 있도록 개구멍 뚫어주심
- 죽은 코드 정리를 위한 스크립트 작성: 팀에서 A/B 테스트를 많이하다 보니 필요할 것 같아서 만들었는데, 모노레포 패키지 해석 문제 때문에 홀드 됨 흑흑..
히스토리 파악하랴, 온보딩하랴 바빠서 많은 일을 하지는 못했다. ( 좀 아쉽다. )
DRI가 그렇게 중요한가
그리고 코드리뷰를 하다가 팀에 기대했던 역량에 실망한 경험도 있다.
토스에는 DRI(Directly Responsible Individual)라는 문화가 있다. 쉽게 말해 의사결정권자를 정해, 불필요한 커뮤니케이션을 줄이고 빠른 결정을 내리는 제도이다. 이전 직장에서는 문제를 발견한 사람 누구든 직접 해결하는 게 당연했는데, 여기서는 웬만하면 DRI를 중심으로 커뮤니케이션 하다보니 보니 처음엔 낯설었다. ( 아 그렇다고해서 DRI가 무조건 활용되는 건 아니다. 문제를 발견하면 공유하고 직접 해결하는 경우도 왕왕있다. )
처음엔 DRI 문화의 단점만 보였다. 쉽게 사일로 현상이 생길 것 같고 수단처럼 사용하기 쉬워보였다. 아니나 다를까 우려했던 경험을 했다.
코드 리뷰 과정에서 TDS(Toss Design System)에 대한 이해도가 낮은(사용법도 잘 모르고, 히스토리를 잘 모르는) 상황에서 코드리뷰 하고 있었다. 당시 디자인 시스템 마이그레이션을 하던 상황이라(그리고 나는 마이그레이션 중이라는 사실도 몰랐다) 한 파일에서 디자인 시스템 패키지 2개가 같이 쓰이고 있었는데, 히스토리가 없는 상태에서 읽기엔 너무 이상한 코드였다.
코멘트로 돌아온 답글은 상당히 당황스러웠는데, 내용을 정리하면 다음과 같다. 디자이너로 부터 만들어진 코드젠 코드를 그대로 활용한 것이니, 해당 소스코드의 DRI는 디자이너에게 있다. 솔직히 처음엔 실망스러웠다. DRI를 방패처럼 사용하는 케이스를 이렇게나 빨리 경험할 줄 몰랐다. ( 첫인상이 상당히 안좋았던 기억이다. )
실망은 짧게, 대처는 빠르게. 고인물의 무뎌진 기억에서 나온 실수 일 수 있으니 여러가지 질문했고, TDS 마이그레이션 과정의 이해, 과거에 합의한 기록의 공유 등을 통해 현 상황이 일시적인 불편이고, 계획안에 이루어진 상황임을 이해했다.
히스토리를 잘 모르다보니 오해에서 시작되어 팀에 실망한 경험을 했다. 이후로 DRI 문화가 의도대로 작용하는 사례들을 겪다보니 지금은 DRI문화의 단점을 어떻게 커버할지 알겠다.
신뢰를 바탕으로 팀원을 믿으면 된다. 모르는건 히스토리가 없다면 직접 물어보면 된다. 내가 의사결정권자가 된다면 과거 히스토리보단 나의 결정을 믿는다. ( 내가 과거 히스토리도 어련히 잘 검토했겠지 하는 기대를 바탕으로 동작함 ) 사실 현실에서 이런 워크플로우가 이상적으로 동작하기는 쉽지 않다고 생각한다. 하지만 토스플레이스는 완벽은 아니더라도 꽤? 잘 활용한다.
신규입사자 온보딩 개선 더 하고싶다..
온보딩 과정에서의 불편함을 조금 더 말해보면,
팀에 속한 구성원의 역할을 이해하고 각자의 역할을 숙지하는 것은 팀 내 적응을 돕는데 큰 도움이 된다.
예를 들면, 팀에 존재하는 스쿼드(사일로)의 역할과 목적을 알면 팀을 이해하는데 도움이 되고, 지금의 제품을 만든 다양한 결정 히스토리를 알면 팀의 방향성을 이해하는데 도움이 되고, 팀원들의 이름을 외우거나 가벼운 커피챗을 통한 작은 유대관계는 팀 내 적응을 돕는데 큰 도움이 된다. ( 그리고 위와 같은 세션들을 신규입사자에게 빠르게 적용할 수록 효율이 높아진다. )
그리고 토스플레이스의 온보딩 과정은 생각보다 어려웠다.
토스는 대기업답게 팀에서 준비한 신규입사자 온보딩 세션이 이미 많다.
팀의 문화를 이해하기 위한 재밋고 다양한 세션들( 기억에 남는게 많다. 그 중 재밌었던게 다양한 게임을 통해 토스의 문화를 알려주는데, 모르는 타 계열사 구성원과 팀을 이뤄 팀의 주식가치를 올려 우승하는 주식 게임이나 팀만의 독창적인 로봇을 직접 만들어 다른 팀의 로봇과 싸워 이기는 게임이 있었다. 진짜 재밌었음.. )과 토스플레이스를 이해하기 위한 다양한 세션들이 있다.
그리고 수습기간 3개월에 걸쳐 준비 된 문화 온보딩 세션을 진행한다. 토스의 문화가 나랑 잘 맞고 비슷한 문화를 쭉 경험해와서 그런지 나에게는 질 높은 세션으로 다가와서 재밌었다. (딱 하나 아쉽게 느끼는 부분은, 3개월에 걸쳐 정보를 제공한 지점이다. 의욕넘치는 구성원에게도, 빠른 성장을 원하는 기업 입장에서도 빠른 적응을 돕는게 윈윈 아닌가? 싶었다. )
하지만 개발자를 위한 온보딩 세션은 아직 많이 부족하다고 느낀다. 많은 정보를 전달 받는 과정이 쉬우면 쉬울수록 팀에 빠르게 적응하고 금방 퍼포먼스를 낼 수 있다. 이를 위해 필요한건 다양한 기술 온보딩 세션과 문서인데 약간씩 아쉬운 부분이 있었다. 온보딩 개선에 들이는 리소스를 줄이고 싶다는 점은 이해하지만 그럼에도 더 좋았으면 했다.
앞으로 들어올 신규입사자가 최소한 나와 같은 경험은 안하도록 내가 느낀 불편한 지점들은 온보딩 하며 개선했다.
그리고 코드 베이스와 개발자간 협업(코드리뷰, 배포 등)을 위한 툴이나 문화의 적응을 위해 코드 스타일 컨벤션 가이드 문서를 작성해 커뮤니케이션을 도왔다. 문서의 관리가 어렵다, 리소스가 부족하다는 등의 이유로 장기적으로 꼭 필요한 문서가 없는 상황을 최소로 가져가고 싶었다. ( 할 일 없을 때 이런거라도 챙겨야지.. )
불편하면 자세를 고쳐앉아? 아니지 고쳐야해
입사 한 달쯤 지났을 때, 나는 위 고민들을 여러 사람에게 솔직하게 털어놓았다. 나를 추천해준 팀원, 다른 토스 커뮤니티에서 오랜시간 일해온 지인들, 토스플레이스에서 나를 담당하는 HR, 심지어 토스플레이스 CEO인 재호님께도 말이다.
어렸을 때에는 내 사회적지위를 이용해서 직설적으로 말하기 어려운 내용들도 순수하게 묻고 다녔다. ( 나이도 어리고 신입인 점을 적극 이용해서.. 말 안하면 나만 힘들다. )
직위를 무시하고 바로 이야기하는 게 두렵지 않아? 라고 물을 수 있지만( 비슷한 질문 하는 사람이 종종 있었다. 뭔가 '적당히 질문해.' 하는 느낌 이었지만.. ), 나는 오히려 말하지 않으면 아무도 신경 안쓸거잖아? 라고 생각한다. 최소한 이렇게 말하는게 팀을 위한 마음에서 나오는 행동이라고 이해했으면 한다. 나는 이런 사람들과 일하고싶다.
아무튼 나의 고민을 들어준 토스 사람들의 이야기는 다들 비슷했다. 온보딩 힘든거 공감되고, 잘 기여해줬다. 라던가, DRI를 무기로 쓴 사람이 실수한게 맞고, 잘 피드백 했죠? 라던가, 이렇게 먼저 말해줘서 고맙고, 당신 같은 사람이 더 필요하다. 와 같이 공감이나 칭찬 위주였는데, 몬가몬가다..
뭔가 나는 토스라면 격려나 칭찬보다는 앞으로 이런 일이 없게 하기 위한 고민을 먼저할거라 기대했다. 액션아이템을 만들어서 공유해줘도 좋고, 나에게 직접적으로 부탁해도 좋았는데 그렇지는 않더라.
아 근데 저 토스플레이스 짱 좋아해요
암튼 안좋은 이야기가 많았는데, 토스플레이스에서 겪고 느낀 다양항 좋은점도 많다. 우선 삶의 자유도가 굉장히 올라가서 요즘 행복하다. 이거면 충분한거 아닌가 싶기도.
1. 성과에 대한 확실한 보상
- 미래의 불확실한 보상이 아닌, 지금 당장 쓸 수 있는 현금성 보상
- 작은 기여에도 인센티브 지급 ( 입사 보름 만에 상반기 인센을 주더라.. 이거 왜주는거지 싶어서 HR에 여쭤봤는데 걍 준다함 ㄷㄷ.. )
- 반기마다 연봉 인상 신청 가능: 성과 점검 기회가 자주 주어진다. 내가 노력하면 충분한 보상이 따른다.
게다가 얼리 프라이데이와 F5 day 같은 제도를 통해 번아웃을 방지하고 동료와 교류할 시간도 마련된다.
개인적으로 좋은 동료들과의 추억이나, 정이 많이 필요한 사람으로써 나에겐 너무나 필요한 제도다.
2. 좋은 동료, 좋은 문화
믿을 수 있는 동료들 덕분에 자율 출퇴근, 원격 근무가 가능하다. 신뢰가 전제되기 때문에 부담없이 잘 사용하고있다. 전 직장과 비교해서 지금이 업무량은 훨씬 많고, 다루는 맥락도 넓고, 해야할 역할도 늘었지만, 심적으로나 신체적으로 힘들지 않다. 요즘 일하는 환경의 힘을 체감 중..
또, 개발자를 위한 툴도 인상적이다.
- 직관적인 배포 툴
- AB 테스트와 피처 플래깅 지원
- 권한 신청을 위한 인터널 툴
- AI 활용 지원
덕분에 효율적인 환경에서 몰입할 수 있다.
그래서 지금 나는?
지금은 포스 홈 팀에서 FE 개발자로 일하고 있다. 짧은 시간이지만 수습기간 동안 홈팀에서 이룬 성과 중 굵직한건, 약국에서 사용하는 포스인 약국포스 제품, 포스에서 빈번하게 활용하는 바코드 리딩 개선 등이 있다. 말고도 저사양 하드웨어를 위한 성능 최적화나 다양한 신규 기능 구현등 여러 프로젝트에를 동시에 기여하고 있다.
동시에 다루는 컨텍스트가 좀 많은데, 요즘 안정적으로 컨텍스트 스위칭하고 맥락 관리를 잘 하는 나의 모습에서 잘 성장했고, 지금도 성장하고 있다고 느낀다. ( 보람 찬 회사 생활 중 )
또, 더 많은 부분에서 팀에 기여하고 싶어서 최근에는 인터뷰어 역할 에 관심이 생겼다. 경험이 적어서 당장 큰 도움이 되기는 어렵겠지만 계속 관심갖고 팀에 기여하고 싶어, 쉐도어부터 들어가보려한다. 요즘 뛰어난 동료들과 함께하다 보니 더 빨리 성장하고 싶은 욕구가 막막 커진다.
3 Month Review (3MR)
토스에서는 신규 입사자를 대상으로 3MR 제도를 운영한다. 수습기간 동안 두 번의 리뷰를 통해 동료들의 피드백을 받으며 팀 적응을 도와주는데, 과거에는 동료 피드백 기반으로 수습 탈락 프로세스가 있다더라. ( 지금은 없어짐 )
나는 두 번의 동료 리뷰에서 모두 좋은 피드백만 받았다. 같이 일하는 팀원이라 일부로 좋은 평가를 해는건가? 싶을 정도로 좋은 이야기만 있어서 뭔가 웃기지만 기분좋게 생각하려한다.
결론적으로 지금의 나는 3개월의 수습기간을 잘 보내고, 동료들의 신뢰를 얻고 있음을 확인했다. 반대로 나도 토스플레이스가 롱런하기 좋은 회사임을 확인했고 최선을 다해 이바지 할 수 있겠다는 확신을 얻었다.
끝으로
3개월을 돌아보니 토스플레이스는 이렇게 정리할 수 있어요.
“밀도 있게 일하기 좋은 환경. 노력한 만큼 인정받고, 내부적으로 정보가 투명하게 공유되는 곳.”
좋은 팀에 합류한 만큼, 앞으로도 오래 함께하며 더 크게 기여하고 싶어졌습니다.