이번 토스 피플에서는 UX Engineering Team Leader 조유성님의 이야기를 들어봤어요. 유성님은 토스에 Full Stack Engineer로 입사했지만, Frontend Engineer로 직무 전환을 한 다음, 지금은 토스의 디자인 시스템을 개발하는 UX Engineering 팀에서 리더 역할을 하고 있어요. 문과생에서 Full Stack Developer, Frontend Developer, UX Engineer에서 팀 리더까지 맡으신 유성님의 이야기 오늘 들려드릴게요.
Frontend UX Engineer라는 직무는 조금 생소한데요, 어떤 직무이고 토스에서 어떤 일을 담당하나요?
사실 저는 UX Engineer로 직무를 바꾼지 오래되지는 않았어요. 정식으로는 작년 2-3월쯤이었던 거 같아요. UX Engineer는 크게 두 가지 일을 하는데요. 디자인 편집기랑 디자인 시스템 만드는 일을 하고 있어요. 묶어서 표현하면 토스의 디자인 시스템을 지탱하는 시스템을 만드는 엔지니어에요. 일반 Frontend 엔지니어랑 비슷한데 디자인 시스템 개발, 유지 보수에 특화돼있다고 생각하시면 돼요.
유성님은 어떻게 처음 컴퓨터 공학에 관심이 생겼나요?
어렸을 때부터 취미로 개발을 했어요. HTML, CSS로 간단한 화면 만드는 걸 초3 때부터 했던 거 같아요. 시작한 계기는 조금 특이해요. 아버지가 인터넷 영상 강의를 찍는 일을 하셨는데, 저를 맡길 데가 없어서 저를 스튜디오에 데려가셨어요. 갈 때마다 여러 회차를 한꺼번에 찍으셔셔서 대기시간이 엄청 길고 지루했어요. 기다리는 중에 우연히 웹개발 입문서를 발견했고, 그걸 읽으면서 개발을 시작했어요. 메모장에 텍스트 써서 확장자를 HTML로 바꿔 열면 예쁜 게 나온다는 게 너무 신기했어요.
저희 부모님이 딱 컴퓨터가 대중화 되던 초기의 세대라서, 아버지가 문학 전공자셨지만 컴퓨터를 잘 다루셨어요. 제가 컴퓨터에 관심을 보이니까 좋은 책들을 추천해주셨어요. 90년대에 내 홈페이지 만들기 같은 게 유행했잖아요. 요즘도 트위터에서 ‘홈마’라는 용어를 쓰는데, 이게 그 시대에 나온 ‘홈페이지 마스터’의 줄임말이에요. 이런 문화 덕분에 시장에도 좋은 서적이 꽤 있었던 거 같아요. ‘홈마’ 문화의 수혜를 많이 받았죠(웃음).
근데 유성님은 대학교에 철학을 전공하셨다고 들었어요. 어떻게 철학과에 진학하게 되셨나요?
철학과는 왜 갔냐면 문학 읽는 걸 좋아했고, 특히 고3 때 실존주의 소설들을 너무 좋아했어요. 알베르 카뮈의 <페스트>랑 <이방인>이 가장 인상적이었어요. “삶에 주어진 목적은 없고, 우리는 각자의 삶에 내던져지는 것이고, 그럼에도 불구하고 삶은 숭고할 수 있다”라는 메시지가 고등학생 때는 와닿았어요. 입시 공부의 무의미한 것 같은 일상도 의미가 있을 수 있다고 얘기해주는 게 위로가 됐어요. 글 쓰는 것도 좋아했고요.
제가 철학을 전공했다고 말하면 많은 분들이 철학과 개발에 대단한 연결이 있을 거라고 기대하고 질문을 해주시는데요. 사후적으로 두 분야 사이에서 많은 연결점을 관찰할 수는 있겠지만, 저의 경우 인과적인 연결고리는 전혀 없었어요(웃음). 문학을 좋아했던 학생이 우연히 프로그래밍도 좋아했을 뿐이었던 거죠.
그렇다면 컴퓨터과학은 어떻게 복수 전공하게 됐나요?
사실 대학교에 가기 전까지 개발은 취미로만 생각했어요. 개발을 직업으로 삼을 수 있을 거란 생각은 안 했어요. 부모님도 주변에 전산 쪽 전공이나 직업을 가진 분들이 없으니까 별로 안 좋아하셨고요. 공부를 해야 되는 아들이 컴퓨터를 계속 들여다보는 것도 못마땅해 하셨고요.
근데 수능 끝나고 할 일이 없어서 개발을 같이 하던 친구랑 오픈소스 공모전을 같이 나갔는데, 입상을 했어요. 좋은 결과를 얻은 덕분에 공모전을 주최한 회사에서는 감사하게도 인턴 자리도 소개해주고 해커톤에 참여할 기회도 내주셨어요. 그러면서 자연스레 업계에 계신 분들을 많이 만나게 됐죠. 이런 경험 덕분에 개발도 직업으로 삼을 수 있다는 것도, 저랑 잘 맞을 거 같다는 것도 알게 됐어요. 그래서 대학교 입학하고도 개발을 더 파보고 싶어서 복수 전공을 했어요.
이미 개발 경험은 충분히 있었지만, 인문대 출신으로 공대를 다니는 데에 어려움은 없었나요?
고등학교를 문과로 다닌 저에게는 수학이 어려웠어요. 예를 들어, 컴퓨터 그래픽스 수업이 있었는데, 거기서 다루는 삼각함수, 3D, 벡터… 이런 게 너무 어려웠어요. 그래픽을 벡터화해서 그걸 몇 도 돌리고… 이런 수업이었는데, 제가 문과라서 고등학교 때 “기하와 벡터” 과목을 안 배웠거든요. 그래서 대학생 2학년 때 수능특강 교과서를 구매해서 열심히 공부했어요(웃음).
지금 뒤돌아보면 결국 실무에 있어서 수학은 필수가 아니라고 생각해요. 조금의 논란이 있을 수 있겠지만, 저는 대부분의 컴퓨터과학 전공 수업이 실무에서 필수가 아니라고 생각해요. 그래도 다 지나고 나서 꼽아보자면, 대학교에서 개설되는 “운영체제”, “시스템 프로그래밍” 수업은 들어두면 좋은 점이 있다고 생각해요.
첫 커리어도 개발자로 시작하셨나요?
첫 커리어는 IT 회사에 인턴으로 시작했어요. 처음에는 개발 얘기를 함께 나눌 사람이 옆에 많다는 것만으로도 너무 즐거웠어요. 그래서 커리어 그래프에서도 높게 평가했고요. 인턴이 끝날 때쯤 계속 함께 하자는 제안이 왔었는데, 제가 당시에는 미필에다가 졸업하지 않은 대학생이었어요. 감사하게도 프리랜서 계약으로 일할 기회를 주셔서, 그렇게 1년 정도 더 근무했어요.
그러고 나니 “웹 개발은 1년만 공부하면 누구나 할 수 있는 거 아니야?”라는 생각을 하게 됐어요. 지금은 그게 얼마나 오만한 생각이었는지 알지만… 그땐 이세돌이 알파고랑 바둑 두고 한 세트 빼고 다 지고 그런 시기였어요. 미래는 머신 러닝에 있다는 생각으로 그쪽으로 대학원을 갔어요. 근데 대학원이 저랑 너무 안 맞는 거예요(웃음). 커리어 그래프가 이때 내려가죠.
R&D(Research & Development)가 있다면, 저는 D에 훨씬 더 적합한 사람인 걸 깨달았어요. 대학원에는 1년도 안 있었는데 저에 대해서 많은 걸 알게 된 시간이었어요. 다시 회사로 돌아가야겠다는 결심을 한 곳이기도 하고요.
그래서 토스에 입사하셨군요. 토스 입사 이후로 커리어 그래프가 계속 상승하는데, 어떤 일이 있었나요?
네. 토스에 지인이 있어서 추천받고 면접 기회를 받았는데요. 처음에는 Frontend Developer로 지원했다가 떨어졌어요. 여러 가지 이유가 있었겠지만, 당시 토스가 채용을 적극적으로 할 때도 아니었고 실력도 부족했어요. 근데 제가 웹개발은 쉽다고 생각했었다니 얼마나 오만했던 거예요… (웃음)
그래도 제가 프론트엔드 개발 외에 Django 등 백엔드 경험도 조금 있었거든요. 당시 토스 리쿠르터분이 제 이력서를 보고 Full Stack Developer로 지원하면 어떻겠냐는 제안을 주셨어요. 다행히 해당 포지션으로는 합격해서 토스 인터널 프로덕트 팀의 Full Stack Developer로 근무를 시작했어요. Django 프레임워크를 사용해서 내부 임직원들이 사용하는 인터널 웹서비스들을 개발했어요.
대학원에서 적성에 안 맞는 연구를 하다가 토스에 입사해서 개발하는 게 너무 즐거웠어요. 수직적인 대학원 문화에서 벗어나서 자유롭고 수평적인 스타트업 분위기도 좋았고요. 아직도 기억나는데, 입사해서 제일 처음 만든 게 “구매요청봇”이었어요. 지금도 임직원이 필요한 물품을 구매 요청할 때 사용되고 있어요.
그래프가 계속 상승하다가 “인터널 FE 챕터 리드”에서 살짝 내려가는데, 어떤 어려움이 있었나요?
입사한 이후로 Full Stack Developer로 일하는 게 계속 더 재밌어졌어요. 근데 어느 순간 인터널 팀이 관리하고 개발하는 서비스는 굉장히 다양해지고 복잡해졌는데, 팀원이 너무 부족했어요. 그래서 인터널 팀을 Python Developer 챕터와 Frontend Developer 챕터로 나눴는데요. 이때 저만 Frontend를 맡겠다고 손을 들어서 리드를 맡았어요. 처음에는 너무 막막했고 오랫동안 힘들었어요. 팀을 만들려면 팀원을 모셔야 되는데 채용 과정이 긴 터널처럼 느껴졌어요.
지나서 생각해보면 제 성장에 도움은 됐다고 생각해요. 커리어를 통틀어서, 바닥부터 팀 빌딩을 해보는 경험을 몇 번이나 할 수 있겠어요. 토스라서 가능했던 경험이라고 생각해요. 이 시점에 반년 조금 넘는 시간 동안 12명의 Frontend Developer를 채용했어요. 누구나 잘하는 완전체 엔지니어를 채용하고 싶어하지만, 현실적으로 그럴 수 없는 어려운 상황에서는 어떻게 해야 될지 고민을 많이 했어요. 결국 좋은 코드에 대한 감각, 안목이 있는 분을 찾았던 거 같아요. 당장 좋은 코드는 못 짜도, 안 좋은 코드를 보고 이건 문제가 있다는 걸 직감할 수 있는 분들이 금방 성장하시더라고요.
조금 어려운 시기를 지내고 커리어 그래프에 가장 높은 점을 찍는데, 어떤 게 좋았나요?
팀 빌딩에 성공해서 좋은 팀원분들을 모시고 함께하는 시간이 마냥 즐거웠어요. 이때는 계속 상승만 했던 거 같아요. 다양한 프로젝트를 좋은 분들과 할 수 있어서요. 이 시점에 ‘어드민 플랫폼’이라는 제품을 만들었고, 제가 직접 개발하지는 않았지만 ‘빌더’라는 제품도 팀에서 만들었어요.
어드민 플랫폼은 SLASH23 컨퍼런스와 SLASH24 컨퍼런스에도 소개됐는데, 어드민을 만드는 어드민이라고 생각하시면 좋아요. 처음에는 CX 상담사분들이 사용하는 레거시 제품의 대체품으로 시작됐는데요. 승건님이 프로젝트를 보시고 전사 니즈가 있다고 판단하셔서 프로젝트가 확장됐어요. 그 당시 함께해주신 Product Owner(PO), Product Designer(PD) 분들과 일하는 게 너무 재미있었어요.
빌더는 더 메타한 도구인데요. 전자결재, 공문 등록 등 회사에서 필요한 서류 작업을 통합한 도구에요. 지금도 토스 내부에서는 잘 장착해서 사용하고 있고요. 빌더는 제가 크게 개입하지 않았는데도, 다른 팀원분들의 손에 의해 완성도 높게 완성됐어요. 리더로서 제가 개발하지 않아도 제품이 뚝딱 나온다는 점에 팀이 많이 성장했고 커졌다는 걸 느꼈어요.
인터널 팀에서 데우스 팀으로 옮긴 계기는 있었나요?
우선 데우스가 무엇인지 소개를 드려야 할 것 같아요. 데우스는 토스 팀이 직접 개발해서 사용하고 있는 디자인 편집기인데요. Framer나 Figma와 같은 외부 도구보다 토스의 디자인 시스템에 잘 맞는 편집기로 만드는 게 목표에요. 데우스를 사용하다보면, 토스의 디자인 시스템을 최대한으로 활용할 수밖에 없게 되는 상황을 만들고 싶은 거죠. 디자인을 아무리 못해도 아름답고 토스다운 디자인이 완성될 수 있을 정도로요.
토스는 원래 외부 편집기를 커스터마이징해서 사용했는데, 이게 기술적으로 매끄럽지 않고 속도도 느려서 데우스 프로젝트가 시작됐어요. 제가 생각했을 때는 Frontend 개발에서 가장 복잡한 프로젝트는 지도와 에디터에요. 저는 FE 개발을 너무 사랑하는 사람이어서 이런 복잡한 프로젝트에 흥미를 느끼고요. 그래서 토스의 데우스 프로젝트에 꾸준히 관심이 있었고요. 인터널 팀에서 뭘 더 할 수 있을지 고민하던 중에 데우스 팀 합류를 제안받아서 좋은 기회라고 생각해서 합류했어요.
근데 데우스 팀에 합류한 다음에 그래프가 왜 조금씩 하락하나요?
처음에는 매니징만 하려고 했는데, 작년 3월에 망했어요(웃음). 원래 3월에 오픈 베타를 시작하기로 했는데, 기한을 못 맞췄어요. 오픈 베타로 열 수 있는 퀄리티가 아니었어요. 그때라도 토스의 “빠른 실패” 정신을 갖고 다른 대책을 찾아야 하는 시점이었죠.
근데 어떤 다른 대책을 세워야 될지 막막하더라고요. 제가 잘하는 건 코드 짜고 개발하는 일인데, 리더로서 모든 코드를 직접 만들 수 없는 상황이잖아요. IC(Individual Contributor)에서 리더가 되는 성장통이라는 건 아는데, 그걸 안다고 쉬워지지는 않더라고요. 나의 역할은 무엇인지, 직접 해야 되는 일과 위임해야 되는 일, 모든 게 아직도 헷갈려요. 시간은 한정돼있고 사람은 유한한 존재이고, 팀원을 괴롭히는 리더가 되기는 싫거든요(웃음).
그래서 어떤 리더가 되셨나요?
사실 지금까지도 이런 고민은 이어지고 있어요. 여전히 시행착오 중이고 팀원분들 괴롭히고 있어서 죄송하고 감사한 마음뿐이고요. 그럼에도 데우스 팀에 합류하고 커리어 그래프가 천천히 올라가다가 최근에 급격히 상승한 이유는 데우스가 토스에서 성공적으로 론칭을 했기 때문이에요. 작년 10월 말에 데우스가 정식 오픈을 했는데요. 좌충우돌이 있었지만 어쨌든 토스에 오픈할 수 있는 퀄러티에는 도달했다고 판단했어요. 기존에 사용하고 있던 디자인 편집기를 최소 1:1로는 대체할 수 있게 된거죠. 자신 있게 말할 수 있는 건 데우스는 우리 거라는 점! 그리고 성능과 속도 측면에서 기존 편집기보다 우수하다는 점입니다.
앞으로 데우스 팀은 어떤 목표가 있나요?
기존 디자인 편집기를 뛰어넘는 게 목표예요. 더 혁신적인 기능이 많이 필요하다고 생각해요. 기존에 사용하던 디자인 편집기에는 나쁜 코드 퀄리티를 감안하면서 억지로 구현해놨던 기능들을 엔지니어링적으로 잘 풀어야 하기도 하고요. 결국 데우스를 우리의 기술력을 뽐내기 위해서 개발하는 건 아니잖아요? 그것보다는 팀원분들께 더 좋은 품질의 서비스를 제공하고 싶어요. 토스에서만 사용하는 UX 라이팅 보이스톤 메이커, 여백 린트 등 팀원분들이 기다리는 기능도 굉장히 많아요. ML 측면에서도 실험할 수 있는 영역이 다양할 거 같고요.
이런 일이 흥미롭다면, 데우스 팀에 지원해주세요. 에디터 개발이라고 하면 많은 개발자분들이 겁을 먹는데요. 실제로 어렵긴 해요(웃음). 근데 복잡한 서비스를 개발한 경험이 있다면 에디터 개발도 잘 하실 거예요. 복잡한 화면, 다양한 상태를 관리해야 되는 서비스를 개발해봤다면 토스 Frontend UX Engineer로 지원해주세요.
이제 거의 토스를 만 6년 다니셨잖아요. 그럼 두 번째 리프레시 휴가를 곧 가실 수 있는데, 계획이 있으신가요?
리프레시 휴가를 말씀하시니 첫 번째 리프레시 때가 생각이 나는데요, 그때는 제가 학교를 다녔거든요. 이 얘기를 하면 다들 실망하고 비난하시는데요(웃음). 토스에 입사했을 때도 아직 학부를 졸업하지 않은 상태이었어서, 한 학기 남은 걸 리프레시 휴가를 활용해서 마무리했어요. 학교를 7년 반인가 다녔더라고요.
솔직히 말하자면 너무 바빠서 두 번째 리프레시 생각을 아예 못하고 있었는데… 여행을 가고 싶긴 해요. 아예 휴양지도 좋을 것 같고, 미국 로드트립 같은 것도 관심이 있고요.
마지막으로 5년 전 나에게 조언을 할 수 있다면 어떤 얘기를 하고 싶은가요?
5년 전이라면 막 토스 입사할 시점 같은데요. 제 자신한테 불안해할 필요 없다는 얘길 하고 싶어요. 결국 충분히 생각하고 결정을 내리는 것, 후회하지 않는 결정을 하는 게 중요한 거 같아요. 좋은 결정이 뭔지 미리 알고 내릴 수는 없기 때문에, 가장 중요한 건 후회를 남기지 않을 만큼 치열하게 고민하고 결정하는 것이라고 생각해요.
토스 다니면서 근무시간이 길어서 힘들었던 적도 없고, 개발이 재미없었던 적도 없어요. 힘들었던 순간은 미래가 불안하다고 느꼈을 때 같아요. 프로젝트의 방향성이 뭐지? 방향성이 있다면, 이게 성공할 수 있을까? 이런 종류의 불안함이 있는데, 심리적으로 고통받지 않아도 된다는 말을 하고 싶어요. 결정은 이미 내려진 거고, 내 선택에 후회가 없도록 최선을 다하면 되니까요.