개발자가 업무 외에 회사에 기여할 수 있는 방법(feat. 척척박사 봇, 카카오페이 용어집)

개발자가 업무 외에 회사에 기여할 수 있는 방법(feat. 척척박사 봇, 카카오페이 용어집)

시작하며

안녕하세요. 카카오페이 데이터실 크리와 레이첼입니다. 저희는 이번 글을 통해 개발자가 업무 외에 회사에 기여했던 경험을 소개하고자 합니다. “개발자가 업무 외에 회사에 기여할 수 있는 방법”이란 거창한 제목을 붙인 건, 개발자들의 조그마한 관심이 회사 내의 많은 구성원들에게 도움을 줄 수 있다는 것을 이번 경험을 통해 다시 한번 느꼈기 때문입니다.

저희는 “2022 카카오페이 카페톤”(이하 카페톤)을 계기로 카카오페이 내에 산재되어 있던 용어집을 통일하여, 사용자가 접근하기 쉬운 슬랙봇 형태로 개발했습니다. 그리고 용어집 관리 개선에 관심 있었던 카카오페이 내 기술전략팀과의 협업 및 개선 과정을 통해 사내 사전 봇으로 공지되기까지의 경험을 이번 글을 통해 함께 소개해드리겠습니다. 사소한 관심과 시작은 행복한 눈덩이(…)가 되어 돌아옵니다.

카카오페이는 용어집을 어떻게 관리하고 있었나요?

카카오페이는 IT와 금융이 합쳐진 회사이자, 올해로 9년째 서비스 중인 앱입니다. 그동안 수많은 서비스들이 오픈됐고, 또 새로운 기술이 도입되었습니다. 카카오페이 내에서는 시간이 흐르면서 지식과 동시에 많은 단어들이 사용되고 쌓이고 있습니다.

예를 들어, FDS(=Fraud Detection System, 금융사기방지시스템), AML(자금세탁방지) 등 금융권에서 사용하는 단어가 늘어났고, 쿠버네티스 도입과 클라우드 도입에 따라 DevOps의 인프라 환경도 발전하면서 개발자가 알아야하는 내용도 생겼습니다. 또한 증권/보험 등 다양한 서비스 내에 어떤 프로젝트가 있는지 프로젝트 코드네임만으로는 어떤 내용인지 파악하기도 쉽지 않은 상황이었습니다.

이런 상황에서 회사 내에서 어떤 프로젝트가 있고, 회의 때 사용되는 단어의 뜻이 무엇인지 찾기 위해서 크루들이 취하는 행동은 일반적으로 다음과 같았습니다.

  1. “아지트”에서 검색한다. (아지트: 내부 업무용 커뮤니티)
  2. “위키”에서 검색한다.
  3. 두리번 거리며 도움을 줄 사람을 찾는다.
  4. (한참을 고민하고 더 찾아보고 두리번거린 후) 도움을 요청한다.

신규 입사한 크루들은 이런 상황을 더욱 힘들게 겪고 계셨습니다. 온보딩 과정에서, 그리고 신규 입사한 크루의 버디들이 회사에 필요한 정보를 습득할 수 있도록 도움을 주고 있지만, 새로운 환경에서 새로운 단어를 빠르게 습득하고 싶은 마음을 채워주기엔 부족한 부분이 있었습니다. 서비스나 프로젝트, 혹은 팀별로 단어를 나름대로 정리해서 관리하고 있었지만 그 자료에는 다음과 같은 어려움이 있었습니다.

  • 관리 주체의 불분명
  • 정확한 정보인지 알 수 없음 (동음이의어, 도메인 별로 다른 의미 등)
  • 최신화 여부

결국 “모르는 단어는 여기에서 찾아볼 수 있어요”하고 누구에게나 전달해줄 수 있는 용어집이 존재하고 있지 않은 상황이었습니다. 회사에 입사했을 당시를 생각해본다면, 모르는 정보를 찾기 위한 일이 얼마나 어려운 일인지 공감하실 것이라고 생각합니다.

불편함을 개선할 수 있었던 좋은 기회, 카페톤

이런 불편함을 공감하며 언제 어떻게 개선하면 좋을지를 고민하고 있었을 때, “참신한 아이디어로 업무 생산성을 높일 수 있는 슬랙봇 개발”이라는 주제로 카페톤이 진행되었습니다. “22년의 카페톤”은 용어집에 대한 갈증을 느끼고 있었던 저희에게 좋은 기회로 다가왔습니다.

카페톤 공지글
카페톤 공지글

저희는 카페톤에서 카카오페이 단어를 쉽게 확인할 수 있는 사전봇을 만들어 참가하기로 했습니다. 카카오페이 크루 누구나 쉽고! 빠르고! 편하게! 단어의 뜻을 찾고 이해하는데 도움을 주는 것으로 사전 봇의 개발 목표를 설정하고 개발을 진행하였습니다. 또한 이 기회를 이용하여 개발한다면 다른 크루들에게 사전 봇을 널리 알릴 수 있다고 생각했습니다.

“척척박사 봇”이라고 이름 붙인, 이 봇의 개발 목적을 요약한다면 다음과 같습니다.

  • 무분별하게 산재되어 있는 용어집을 통일한다.
  • 챗봇 형태로 쉽게 사용할 수 있도록 한다.

흩어진 용어집 모으기

검색된 단어의 의미를 보여주기 위해서는 프로그램에 사용할 수 있게 정리된 용어집이 필요합니다. 기존 용어집들은 각 서비스나 팀 단위로 위키 등에서 여러가지 형태로 관리되고 있었습니다. 저희는 이런 것들을 찾아서 모으기 시작했습니다.

단어와 단어에 대한 설명을 중심으로 정리하면서, 참고할 수 있는 링크가 있는지, 어디에서 발견한 단어인지, 어떤 팀이나 프로젝트에서 사용하고 있었는지, 단어가 속할 수 있는 범주는 무엇인지 등 가능한 많은 정보를 함께 기록했습니다.

이는 설명만으로 이해되지 않을 때, 참고할 수 있는 링크를 클릭하여 추가적인 정보를 확인하거나, 단어가 속한 범주의 다른 단어들을 함께 보면서 필요한 지식을 빠르게 습득해 나간다거나, 사용자가 검색한 단어에 대하여 가능한 많은 정보를 얻어가길 바라는 마음이 있었습니다.

저희는 서로가 수집한 용어집 정보를 서로 공유하는 시점에 구글 스프레드 시트로 옮겨왔습니다. 카카오페이에서는 구글 스프레드 시트로 자료를 정리하고 공유하는 것이 익숙하고, 또한 구글 스프레드 시트는 상호 수정과 관리가 용이했기 때문입니다. 추가/변경/삭제에 대한 히스토리도 남기 때문에 함께 수집한 용어집을 관리하는 것에 용이하다고 생각했습니다.

단어집 구글 스프레드 시트
단어집 구글 스프레드 시트

이렇게 구글 스프레드 시트로 정리한 용어집은 관리의 용이성 때문에 척척박사 봇을 개발할 때에도 DB를 대신해서 그대로 사용하게 되었습니다. 앞서 말했듯 카카오페이에서는 구글 스프레드 시트를 익숙하게 사용하고 있기 때문에, 크루들의 집단지성으로 용어집의 완성도를 높이는 것에도 도움이 될 것으로 생각했습니다.

개발은 어떻게 해야 하죠?

일반적으로 슬랙봇을 만들기 위해서는 웹 서버가 필요하고, 웹 서버는 구동할 수 있는 환경이 필요합니다. 카카오페이에서는 이런 환경을 쿠버네티스로 관리하고 있어 일련의 절차에 따라 새로운 웹 서비스의 등록과 운영이 가능합니다. 하지만 저희는 이보다 더 좋고 간편한 환경을 사용하기로 결정했습니다.

바로 카카오페이 전사에서 활발하게 사용되고 있는 슬랙봇 “춘식이” 입니다. “춘식이”는 카카오페이에서 슬랙 도입에 발맞춰 개발된 슬랙봇으로, 근무장소 설정, 근무시간에 따른 상태 업데이트 등 회사 생활에 필요한 다양한 기능을 제공해주고 있습니다. 사실상 카카오페이의 모든 크루분들이 등록하여 사용하고 있는 슬랙봇입니다.

또한 “춘식이”는 어드민을 통해 원하는 명령어를 등록할 수 있고, javascript를 사용하여 원하는 기능을 수행할 수 있으며, 무엇보다도 실시간으로 적용되어 원하는 기능 개발에만 집중할 수 있고, 별도의 앱을 등록하지 않고 바로 사용할 수 있다는 장점들이 있습니다. 이렇게 등록된 명령어는 “춘식이”가 있는 방에서 “@춘식이 명령어” 혹은 “.명령어” 의 형태로 사용할 수 있습니다.

첫 번째 “척척박사 봇”

앞서 말씀드렸듯이, 척척박사 봇의 목표인 “단어를 누구나 쉽게 확인 가능한 형태로 제공”을 달성하기 위해 고민해야 할 내용은 다음과 같았습니다.

먼저 척척박사 봇을 호출할 명령어를 고민했습니다. 춘식이에는 다양한 명령어가 등록되어 있는데 저희는 가장 쉽게 사용할 수 있는 방법을 고민했고 온점 하나(.)를 명령어로 사용하기로 결정했습니다. 따라서 척척박사 봇의 호출 명령어는 “.. (검색할 단어)“가 되었습니다.

예를 들어 “카드인증”이라는 단어를 검색하려면 사용해야 하는 명령어는 “.. 카드인증” 이 되는 것입니다. 이렇게 입력하면 “춘식이”에 등록된 척척박사 봇의 코드가 수행되고, 구글 스프레드 시트에서 검색한 뒤 결과를 만들어서 슬랙으로 다시 전송해주는 구조입니다.

척척박사 봇 flow chart
척척박사 봇 flow chart

초기 사전봇에 단어를 검색했을 때 어떤 내용을 담아서 결과를 보여줄 화면은 아래와 같이 구성했습니다.

초기 화면 레이아웃
초기 화면 레이아웃

초기 설계 단계에서 그렸던 단어 검색 결과에 대한 레이아웃입니다. 각각의 부분 대한 설명은 다음과 같습니다.

  • 키워드: 검색하기 위해 입력한 단어
  • 카테고리: 단어가 속한 범주
  • 설명: 단어의 뜻에 대한 내용
  • 참고링크: 추가적인 정보를 얻을 수 있는 링크
  • 관련단어: 관련있다고 정리해둔 단어에 대한 목록
  • 유사단어: 검색한 키워드가 포함된 단어 목록

이 설계를 기반으로 완성된 것이 바로 첫 번째 “척척박사 봇”입니다. 단순하더라도 필요한 정보를 깔끔하게 전달하는 것에 집중했었습니다. 검색된 결과 뿐 아니라, 용어집을 직접 보는 게 큰 도움이 될 것 같다는 생각에 “춘식이 사전 열기” 버튼을 만들어서 클릭 시 용어집으로 사용 중인 구글 스프레드 시트가 열리도록 만들었습니다.

카드 인증 단어 검색 결과
카드 인증 단어 검색 결과

여기까지의 “척척박사 봇” 개발로 카페톤에 참가하여 4위라는 소기의 성과(상금)를 얻을 수 있었습니다. 카페톤 덕분에 얻을 수 있었던 경험(상금)이었습니다. 이 자리를 빌어 좋은 행사를 마련해 주신 기술전략팀 개발 문화(Developer Relations) 담당 크루 분들에게 감사의 말씀을 전합니다. :)

두 번째 “척척박사 봇”

처음 만들어진 척척박사 봇은 저희가 목표했던 모든 기능을 충실하게 잘 이행했지만, 카카오페이의 공식 용어집으로서 사용되기에는 다음과 같은 아쉬운 부분들이 있었습니다.

  • 용어집을 하나로 집대성했지만, 우리가 정리한 정보에 틀린 내용은 없을까?
  • 용어집 개발 및 관리가 주 업무가 아닌 상황에서 용어집 관리를 잘 할 수 있을까?
  • 카페톤을 통해 홍보됐지만, 모르는 크루들도 많다. 어떻게 홍보할 수 있을까?
  • 사용 방법이 쉽다고 생각했는데, 어렵다고 생각하는 분들도 있다. 어떻게 개선할까?

이런 부분들을 고민하고 있을 때, 기술전략팀에서 연락이 왔습니다. 전사 용어집을 만들려고 준비하고 있었는데 이렇게 만들어주어 고맙다고 말씀하시며 미팅을 요청하셨습니다. 몇 번의 미팅을 걸쳐 기술전략팀에서 준비하고 있었던 내용과 저희가 고민하고 있었던 부분들을 서로 공유하며, 척척박사 봇을 공식 사전 봇으로 만들기 위한 준비를 시작했습니다.

이 때 논의된 기능들은 다음과 같습니다.

  • 사용 방법을 어떻게 더 효과적으로 안내할 수 있을까? (최초 사용 유도)
  • 업무에 필요한 내부 사이트 검색 기능 추가 (단어 검색과 사용법 동일)
  • 사전 데이터 변경시 알림 기능 추가 (관리를 위한 기능)
  • 단어/사이트 추가를 원활하게 도와줄 수 있는 단어/사이트 추가 기능 도입 (설문지 양식)
  • 라벨 필터링 기반 위키 검색 도입 (용어집 라벨, 스프레드시트로 가져오기 애매한 것들 활용)
  • 문제가 있을 때 문의할 수 있는 채널 연결 (검색 결과에서 바로 문의 가능)
  • 관리 주체 결정 (기술전략팀 담당)
  • 사용 방법 안내 및 홍보 (아지트 안내 및 카카오페이 전체 크루 대상 멘션)

논의된 내용을 기반으로 “척척박사 봇”을 수정 개발하였고 두번째 버전으로 완성된 “척척박사 봇”은 아래와 같습니다.

사용자가 척척박사 봇에 단어를 검색했을 때, 검색 결과가 조금 늦게 전달되는 경우 사용자는 명령어를 정상적으로 입력했는지 불안한 마음을 갖게 됩니다. 이런 부정적인 경험을 방지하기 위하여, 명령어 기능 수행시 “춘식이가 얼른 찾아올게요~“라는 메시지를 바로 보내주고, 이후 검색 결과를 찾아서 다시 보내주는 방식으로 구현했습니다.

사용자가 “au”라는 단어를 검색했을 때, 다음과 같이 결과를 받아볼 수 있습니다.

au 단어 검색 결과
au 단어 검색 결과

추가로 “사이트”를 같이 보여주고, 위키에서 단어를 검색할 수 있도록 버튼을 추가하고, 단어와 사이트를 추가할 수 있도록 별도의 버튼을 만들어 주었습니다. 또한, 춘식이 사전봇을 사용 시 궁금한 점이나 문의 사항을 남길 수 있는 슬랙 채널을 만들고, “문의하기” 버튼으로 해당 채널로 이동할 수 있게 연동했습니다.

이렇게 치열한 추가 개발 끝에 기술전략팀에서 카카오페이 전체 크루를 대상으로 척척박사 봇을 다시 한 번 소개해주셨고, 공지 이후 지금까지 보지 못했던 높아진 사용 트래픽을 확인할 수 있었습니다.

“척척박사 봇” 전사 공지

척척박사 봇 전사 공지
척척박사 봇 전사 공지

마치며

현재 신규 입사자 분들은 온보딩 과정에서 척척박사 봇을 만나고 있습니다. 카카오페이는 어떤 용어를 사용하는지, 어떤 프로젝트가 있는지, 어떤 부서에서 어떤 업무를 하는지 다양한 정보를 쉽게 확인할 수 있어 회사 생활과 업무에 도움을 주고 있습니다.

신규 입사 당시 척척박사 봇이 없었던 크루분들도 편리하게 사용하고 계십니다. 모르는 단어가 있을 때, 헷갈리는 단어가 있을 때 확인할 수 있는 곳이 명확해져서 좋아졌다는 피드백을 종종 받고 있습니다. 마치 척척박사 봇을 통해 카카오페이 용어집이 첫 발을 내딛게 된 것 같아서 뿌듯한 마음입니다.

순수하게 개발의 재미를 느낀 것도 오랜만이었던 것 같습니다. 업무와는 다르게 부담이 적고, 저희에게 필요한 기능이면서, 남에게 도움을 줄 수 있다는 보람이 있었습니다. 기술전략팀과 개선점을 논의하며 완성도를 높여갈 때에는 서로 다른 생각이 만나 발생하는 시너지 효과도 느낄 수 있었습니다.

글을 쓰면서 생각을 정리해보니 앞으로도 오래도록 개발을 즐기는 개발자로 남고 싶다는 마음이 강해지네요. 이상 개발자로서 업무 외에 회사에 기여할 수 있었던 사이드 프로젝트 “척척박사 봇”에 대한 이야기였습니다. 감사합니다 :)

rachel.green
rachel.green

카카오페이에서 MLOps플랫폼을 개발 중인 MLEngineer 레이첼입니다.

cri.spy
cri.spy

카카오페이 데이터실에서 백엔드 개발을 하고 있는 크리입니다. 조직의 생산성과 효율성을 증가시키기 위한 개선 작업에 관심이 많습니다.

태그