최근 토스 FE팀에서 진행한 4주 동안의 멘토링 프로그램을 마쳤다.
지원 과정부터 멘토링 내용, 좋았던 점과 아쉬웠던 점, 그리고 그 외 이야깃거리를 가볍게 남겨보려고 한다.
지원 배경
6월 말, 종강을 맞이하고 간만에 누리는 대학생의 방학
대학생으로서의 여름방학은 거의 2년 만인 듯하다.
딱히 방학 계획이 없었던 지라, 하루하루 빈둥거리며 방학 백수생활을 제대로 즐기고 있었다.
그때 전 동료분께 한 소식을 전달 받았고
마침 6개월 동안 잠시 쉬었던 개발 재활치료도 할 겸
소문으로만 듣던, 토스의 일하는 방식을 직/간접 경험할 수 있는 기회가 되었으면 좋을 것 같아 신청하게 되었다.
프로그램 소개
4주 동안 토스 FE 시니어 개발자 분들과 멘토링을 진행하는 프로그램이다.
간단한 자소서 작성 > 온라인 테스트 > 캐주얼 챗 > 최종 선발 과정을 거쳐 총 15명을 선발한다.
지원과정
자소서
- "잘하는 개발자"에 대한 본인의 생각, 그것이 되기 위해 노력했던 것들 등의 문항들이 있었다.
- 평소에도 한번쯤은 생각해 봐도 좋을 주제이다. “내가 생각하는 잘하는 개발자의 모습이란”, “문제를 인식하고 해결했던 과정” 등
- 평소에 생각이 많고 글도 자주 썼던 지라.. 무난하게 내 생각을 표현했던 것 같다.
온라인 테스트
- 토스 앱으로 온라인 테스트를 치렀다. 평소에 쓰는 어플에 기술/채용 관련된 알림이 오다니 기분이 묘했다.
- 제한시간 20분 20문제, 컴퓨터가 아닌 모바일 기기로 시험을 치르고 시간마저 촉박하게 설정하여 GPT 사용은 꿈도 못 꾸게 설계한 듯
- 폰을 붙잡고 버튼만 "딸깍" 하면 풀 수 있어서 테스트 편의성이 좋았다.
- 소문으로만 듣던 토스의 기술 관련 테스트, 실무와 이론이 적절하게 섞여있었던 객관식 문제이다.
- 내용을 다시 한번만 볼 수 있다면 꼭 한번 다시 보고 싶은 퀄리티의 문제였다.
- 문제에 나온 키워드들도 꼭 공부를 확실히 짚고 넘어가야 하는 내용들도 많아서 생각할 거리가 많았다.
- 들리는 평으로는 문제가 까다롭고 시간 내 풀기 매우 어려웠다는 평이 다수였다.
- 나도 시간이 매우 촉박하여 2분 정도 늦게 제출했었다. 마지막 3문제는 거의 찍다시피 했다.
- 어찌하다 보니 붙었다.
- 합격 메일의 제목 어그로가 엄청났다. 토스 붙은 줄.
캐주얼 챗
- 온라인 테스트 다음 과정으로 캐주얼 챗을 화상으로 진행했다.
- 가벼운 이야기를 나눌 줄 알았으나 기술 면접과 비슷하게 진행되었다. 살짝 당황했지만 솔직하게 대답했다.
- 자소서 기반 질문도 있었고, 이전에 풀었던 문제에 대한 추가 질문이 주로 나왔다.
- 나중에 알게 된 이야기인데, 캐주얼 챗에 참여한 멘토님마다 물어보는 스타일이 달랐다고.
- 정말 캐주얼하게 이야기 나눈 멘토 분도 계셨다고 한다.
- 뭐든 어때, 그래도 오래간만에 기술에 대한 이야기를 나누며 재밌게 이야기 나눴던 기억이 있다.
- 얼핏 아는 얼굴이 나왔어서 흠칫했다. 나와 이야기한 멘토님은 평소에 즐겨보던 블로그의 주인이셨다.
- 글을 항상 인상 깊게 봤어서 멘토님께 책을 많이 읽으시냐는 질문을 했던 기억이 있다.
최종 선발
- 모든 과정을 마치고 최종 선발되었다. 멘토 5분, 멘토 1분당 멘티 3명 총 15명이 선발되었다.
- 선발되신 분들 중에는 대부분 업무 경험이 있으신 듯했고(1 ~ 3년 차), 취준생, 학생도 조금이나마 있었다.
- 멘토링 전 사전 과제를 받았고 과제에 대한 내용, 코드들을 바탕으로 4주 동안 멘토링을 받으며 피드백, 리펙토링 하는 활동이 되었다.
멘토링 내용
- 과제는 퍼널과 관련된 코드를 주로 다루었다.
- 나는 문동욱 멘토님과 함께 멘토링을 진행했었다.
멘토링 중에 기억나는 것들은 다음과 같다.
- 변경에 취약하지 않으려면 관심사의 응집이 중요할 수 있다.
- 퍼널의 목적을 잘 드러낼 수 있도록, 퍼널의 단계가 추가되었을 때 변경이 유연하도록 나타내야 함
- 특정 인터페이스를 제공해 주는 것 → 사람의 행동을 바꾼다. → 그 의도를 예측할 수 있게 설계해야 함
- 허용하는 타입이 좁을 때, 넓을 때 (number 냐 8|12|16 이냐) 어떤 식으로 사람들이 사용할 것에 대한 예측이 필요하다.
- strict 한 인터페이스에서 예외를 점점 허용해 주는 방향이 괜찮다.
- 우아한 코드에 대한 다양한 관점이 존재했다. 직관적인, 수다스럽지 않은, 군더더기가 없는 , 정보의 선형적 진행
- 멘토님은 한 번에 인지하는 정보의 양을 줄이고, 책을 읽을 때처럼 정보가 선형적으로 전개될수록 우아한 코드라는 의견을 주장하셨다
- 분기(GOTO, if), useEffect (말 그래도 sideEffect), 코드의 흐름이 비선형적(시선이 코드를 가로지르는, 위로 올라갔다 내려갔다)으로 전개되는 코드들은 파악이 힘들 수 있다.
- 우아한 비동기 처리의 주제로 Suspense를 들고 갔었는데, 나는 Suspense 내부는 성공을 보장한 상태, 이 외의 상황을 신경 쓰지 않아도 되어서 ( T | undeinfed , data?.list 등 ) 코드가 수다스럽지 않아 우아하다고 주장했다.
- 하지만 이때 Button에 isLoading 상태를 꽂아야 되는 상황이 발생했고, Suspense를 포기하니 오히려 UX 나 컴포넌트의 데이터 의존성 (특정 props를 가져야 함) 이 해결되는 일이 발생하기도 했다.
“정답은 없다”
- 하나의 주제, 같은 내용의 과제를 받아도, 서로 다른 코드, 서로 다른 관점을 들고 왔다. 정답은 없다. 모든 것을 의심해야 한다.
- 이것을 선택함으로써 얻는 것과 잃는 것이 있다는 것을 인식해야 함.
- 다양한 의견 속에 동료에게 나의 의견을 효과적으로 설득할 수 있는 방법을 연습했다.
- 전문가로서 흔들리지 않고 명확한 나의 기준이 존재해야 하고 논리적 근거를 바탕으로 동료를 설득할 수 있어야 한다.
좋았던 점
- 과제를 진행하며, 같은 주제에 대한 다른 코드를 보며 다양한 생각들을 들어볼 수 있었다.
- 어떠한 코드를 작성해야 하는지에 대한 관점을 잡을 수 있도록 가이드를 잘해주셨다.
- 나의 의견을 정리해서 이야기하는 방법, 그리고 내 의견을 가지고 다른 동료를 설득하는 방법을 습득할 수 있었던 시간이었다.
- 코드를 넘어 비즈니스적 결정 상황에 대한 생각, 태도에 대한 정보를 얻을 수 있었다.
- 전문가로서 어떤 태도를 가지고 업무에 임해야 하는지 알 수 있었다.
- 멘토링 주제 이외에도 토스팀에서 있었던 사례, 경험들을 간접적으로도 공유해 주셔서 다양한 시각을 얻어 갈 수 있었다.
- 멘토당 멘티가 3명이라 아주 적절했다. 사람 당 포커싱이 분산되지도 않았고, 다양한 의견을 주고받을 수 있었던 적절한 인원,
- 멘토 - 멘티, 멘티 간의 친밀감도 얻을 수 있을 정도의 적당한 인원인 듯싶었다.
- 오프라인 오피스 투어, 깔끔하고 멋진 오피스, 뷰가 좋은 오피스
- 꼭 토스뿐만이 아닌 어딘가 내가 원하는 곳에서 일하고 싶다는.. 동기부여를 얻기도 했다. 마치 고등학생의 대학탐방 후 느낌
아쉬웠던 점
- 하나의 과제를 4주 동안 보고 있으니까 점점 지엽적으로 빠지게 되는 느낌이 없지 않아 있었다. overfitting이라는 단어가 생각났다.
- 오프라인 미팅을 많이 못해서 아쉬웠다. 사실 우리 팀은 오프라인으로 대부분 진행했다. (4번 중 3번)
- 근데 내가 코로나에 걸려서 1번을 못 갔다. 그래서 그런가 괜히 적게 한 것 같음
- 긴 선발 과정을 거치고 함께 하게 된 다른 팀의 멘티들이 어떤 사람들인지 궁금했다. 깃허브를 통해 간접적으로나마 엿볼 수 있었는데, 정말 열정적인 분들과 다양한 생각과 멋진 시야를 가진 분들이 많이 계셨다.
- 이분들과도 교류가 있었으면 좋았을 텐데 괜히 생각이 났다.
- 4주 너무 짧아요…!! 물론 정말 바쁘신 와중에 이런 시간을 내주신 멘토님들, 프로그램 관계자분들께 다시 한번 정말 감사드린다.
이야깃거리
- “토스”에 대한 막연한 기대감? 이 부른..
- 아니 왜 과제 코드에 오류가 있는데 아무도 이야기를 안 해???? (나 포함)
- 근데 다들 알아서 조용히 해결해 오더라
- 그 오류마저 과제인 줄 알았다는 반응 (오오.. 토스라면 이런 것도?? → 응 아니야) (실수였대요..)
- 멘토링 시간 외에도 따로 1 on 1 시간을 가졌다. 멘토님과 함께 개인적인 이야기, 내 미래, 고민에 대하여 이야기를 나눌 수 있었다.
- 특히 리더에 대한 역량에 대해서 물어봤던 것이 기억에 남는다. 사람에 대한 기대, 믿음, 사람을 잘 대하는 것이 정말 어려워 보였다.
- 1 on 1은 커피 챗이라고 해도 될 듯. 마침 한 번쯤은 뵙고 싶으신 분이었어서 좋은 경험이었다.
- 멘토님과 내가 사고방식이 비슷하다고 생각했지만 또 미묘한 차이가 있는 듯했다.
- 밥 얻어먹었다. 감사합니다 멘토님, + 대표님(?). 내 토스 증권 수수료를 일부 페이백 받은 기분이다.
- 토스의 커피사일로를 직관했다. 사무실 안에 커피 가게가 있는 느낌이라 신선했다.
- 토스 사무실의 뷰는 아주 좋다. 높은 층에 위치해 있어서인지.. 뷰 좋은 회사를 가고 싶은 나에겐 좋은 소식일지도..
- 토스의 인구밀도는 높았다. 책상 간격이 조금 답답해 보였다. 그렇지만 사무실은 매우 깔끔하고, 회의실도 정말 좋았다.
지원 시작부터 멘토링 마무리까지, 거의 2달의 시간이 흘렀다.
모든 선발 과정과 멘토링 프로그램까지 모두 정말 좋은 경험이었고 재미있었다.
덕분에 생각해 볼거리도 많았고 방학도 알차게 보낼 수 있었다.
다시 한번 좋은 프로그램을 준비해 주신 모든 관계자분들께 감사드립니다.
'기술' 카테고리의 다른 글
FE와 BE의 코드리뷰 내용은 어떻게 다를까? (feat. 우아한 테크코스) (2) | 2024.09.03 |
---|---|
주니어 FE 개발자의 “클린 아키텍쳐” 1회독 후기 (2) | 2024.08.07 |