Engineering
베네딕트는 왜 이프카카오에서 안성재 성대모사를 했을까?
benedict.lee카카오
2024년 11월 8일
원문에서 보기 ↗배경
지난 if(kakaoAI)2024에서 CodeBuddy와 함께하는 AI 코드리뷰를 주제로 발표를 진행했습니다.
코드버디는 AI CodeReviewer로써 카카오에서 매일 1200건 이상씩 생성되는 PR(Pull Request)에 대한 코드리뷰를 돕는 AI 동료입니다.
저는 코드버디에 대한 발표를 이어가던 중 뜬금없이 흑백요리사 안성재셰프 성대모사를 하게 되었는데요. 베네딕트는 왜? 갑자기 안성재셰프의 성대모사를 했는지에 대한 의도를 이 글을 통해 공유하고자 합니다.
코드버디 소개 인트로 영상
이프 카카오 발표 영상
if(kakaoAI)2024 D-5
if(kakaoAI)2024 막바지 준비로 바빴던 마지막 주말.
잠깐 머리도 식힐 겸 간간히 밈으로만 접했던 흑백요리사를 1편부터 시청하게 됩니다.
순식간에 2편까지 보다가 겨우 정신을 차리고 다시 열심히 발표를 준비합니다.
(뜬금없이) 베네딕트의 발표 준비 팁
개인적으로 발표준비 시에 별도의 스크립트를 작성하는 방식은 선호하지 않습니다.
스크립트를 준비하고 외우고 그걸 기반으로 발표하게 되면 뭔가 책을 읽는듯한 딱딱한 발표가 되기 쉽고, 발표 진행 시에도 청중과 시선을 맞추기보다는 발표자 노트에 더 시선이 가기에 스크립트는 아예 준비할 때부터 작성하지 않는 편입니다.
-
발표를 준비할 때 제일 먼저, 발표할 주제로 나눌 이야기의 큰 스토리라인과 뼈대(2 ~ 3 Depth 목차)를 작성합니다. 발표시간과 형태 등을 고려하여 이야기의 너비와 깊이를 정하게 되는데요. 마음속으로 목차에 따라 이야기를 풀어가며 반복해서 조정해 나가면서 목차 초안을 완성합니다.
-
그 후, 목차 초안을 바탕으로 슬라이드 초안을 만듭니다. 슬라이드 초안작성시에도 Incremental 한 접근방식으로 슬라이드를 만들어갑니다. 목차에 따른 세부 장표를 추가하고 세부장표에는 그 장표에서 하고자 하는 유일한 한 가지 주제에 대한 핵심 내용만을 간단히 작성합니다.
-
슬라이드 초안이 완료되면 목차 초안을 완성할 때와 마찬가지로 전체 스토리라인을 기준으로 이야기를 풀어가며 반복해서 슬라이드 초안을 조정해 나갑니다. 발표 준비 중 가장 많은 시간을 할애하는 부분이기도 합니다.
-
다음 순서로 각 장표에서 이야기하고자 하는 내용을 더 효과적으로 전달하기 위한 방법을 고민합니다. 줄글로 가득 찬 슬라이드가 아닌, 그 장표에서 전달하고 싶은 내용을 가장 효과적으로 전달할 수 있는 방법을 고민합니다. 이미지를 가져다 쓰거나, 다이어그램으로 표현을 하거나, 메타포를 활용해서 설명하는 등의 방법 중에 가장 적합한 방법을 반복해서 고민하면서 장표에 살을 붙입니다. 여기까지 오면 스토리라인과 그걸 풀어서 이야기할 콘텐츠는 거의 확정됩니다.
-
이제는 마음속이 아닌 실제 말로 소리 내어(속으로 생각하며 연습하는 것과 엄청난 차이가 있습니다) 발표 연습을 합니다. 이 과정에서는 아직 말이 다듬어지지 않았기 때문에 발표자 노트에 주요 키워드는 작성을 해두기도 합니다. 계속 반복해서 말을 다듬고, 이야기의 흐름을 다듬어나갑니다. 장표의 순서가 살짝 조정되기도 하고 새로운 내용이 조금 추가되거나 생략되기도 합니다.
-
여기까지 준비가 끝나면 이제는 Beautify의 시간입니다. 폰트, 컬러, 픽셀위치, 애니메이션 적용 등을 통해 정돈되고 미려한 장표로 변화시킵니다.
-
그리고 마지막으로 킥을 넣을 수 있는 씬을 만듭니다. 인트로 영상을 제작하거나, 안성재 성대모사를 한 것처럼요. 자칫 지루해질 수 있는 타이밍에 청중에게 질문을 하거나, 살짝의 개그코드를 넣거나 청중의 이목을 집중할 수 있게 만드는 요소들을 넣습니다.
-
그리고 발표전까지 계속 소리 내어 연습합니다. 이때는 톤, 강약, 빠르기등을 고려하면서 리듬감 있게 실제 발표하는 것처럼 해야 합니다.
이렇게 발표준비를 하게 되면 스크립트는 전혀 필요하지 않습니다. 오히려 발표에 방해가 될 뿐 모든 것은 머릿속에 다 있기 때문에 아주 자연스럽게 하고 싶은 이야기를 청중과 나눌 수 있게 됩니다.
Incremental & Iterative
이는 개발에서도 동일할 겁니다.


if(kakaoAI)2024 D-2
다시 본론으로 돌아와서 이프카카오 발표 이틀 전 앞서 말씀드린 발표 준비 단계 중 킥 을 준비하는 단계까지 왔습니다.
제주 근무 중이라 행사 참석을 위해 이틀 전에 판교로 이동했는데, 주말에 이어서 흑백요리사 3편을 시청하며 이동을 합니다.
그러고 나서 다시 발표자료를 넘겨보던 중 한 장표에서 갑자기 하나의 아이디어가 떠오릅니다.
흑백요리사를 보면서 상당히 깊은 인상을 받았던 안성재셰프의 심사 기준이 발표장표와 오버랩되면서 '괜찮겠는데?'라는 생각으로 이어졌는데요.
그 결과 발표 전날까지 발표연습보다는 안성재셰프 심사장면 밈만 무한 시청하며 성대모사 연습을 했다고 합니다.
의도
안성재셰프의 심사기준은 맛, 간, 익힘 정도 등 완성도도 중요하게 평가하지만, 그 요리를 만든 의도, 재료를 사용한 의도 등이 요리에서 명확히 드러났는지를 더 중요하게 생각한다는 것이었습니다.
우승자인 나폴리맛피아의 첫 평가에서 (불필요한) 꽃잎 몇 조각에 의한 보류판정, 그리고 이후 내내 그의 평가를 보면서 정말 의도 를 중요하게 생각하는구나라고 느꼈습니다.
방송 후반부에서는 안셰프가 질문을 했을 때 그 질문의 의도가 바로 드러날 정도로 방송 내내 의도에 집중하며 봤었습니다.
코드버디가 안성재 셰프라면
요리는 하나의 PR이 될 겁니다. 그 요리의 맛, 간, 익힘 정도는 Clean code, 즉 기본기의 영역일 겁니다.
그렇다면 의도 는 무엇일까요? 의도는 PR을 작성한 이유가 되겠죠?
그리고 PR의 코드가 아무리 Clean code라고 할지라도, 원래의 의도와 다르게 작성되었다면 그 PR은 머지에서 보류되어야 할 겁니다.

기본기는 말 그대로 기본 인 것이고, 그 의도를 올바르게 만들었는지가 최우선 기준이어야 합니다.
올바르지 않은 것을 아무리 올바른 방식으로 만들어도 그것은 아무 가치가 없는 것이니까요.
코드버디에게 '의도’란?
코드버디를 최적화하기 위해 제일 먼저 고민했던 부분이 바로 의도 였습니다.
완성된 요리인 PR에 대해 맛, 간, 익힘 정도를 기준으로 리뷰를 할 수 있지만 이것만으로는 충분하지 않다고 생각했습니다.
실제로 코드버디 알파단계에서는 기본기만으로 리뷰를 했었고, 역시나 충분하지 않았습니다. 아니 솔직히 많이 부족했습니다.
“코드버디가 PR의 의도를 이해한다면, 더 의미 있는 리뷰를 할 수 있지 않을까? ”
별것 아니라고 생각할 수 있지만 이렇게 생각하고 실제 구현까지 이을 수 있었던 이유는 과거 애자일 코치로서의 경험과 활동들이 있었기 때문입니다.
몇 해 전 투명하고 열려있는 카카오의 일하는 방식을 설계하고 전사에 전파하는 업무를 수행했었는데 이 과제가 없었더라면, 청중 분들은 저의 안성재 셰프의 성대모사를 못 보셨을 겁니다.
- OpenWork, 카카오의 일하는 방식 - https://tech.kakao.com/posts/446
카카오는 10년이 훨씬 넘게 Atlassian JIRA를 업무 관리도구로 사용해오고 있으며, 전사 표준 업무 관리도구로 정하고 적극적으로 활용하고 있습니다.
그리고 OpenWork 과제에서 이를 더 잘 활용할 수 있도록 JCMM이라는 성숙도 모델을 직접 만들기도 했습니다. 그렇기에 "코드버디가 PR의 의도를 이해한다면, 더 의미 있는 리뷰를 할 수 있지 않을까?"라는 고민의 해법을 떠올리는 데는 그리 오래 걸리지 않았습니다.
AI Native @dev
코드버디 과제를 진행하면서 배운 것들 중에서 가장 의미 있었던 것은 AI기술이 아니었습니다.
가장 크게 와닿았던 부분은 "LLM, RAG 등 AI기술이 아무리 뛰어나더라도 그것만으로는 충분하지 않다 "라는 것이었습니다.
AI 기술이 기업의 문화, 프로세스, 도구들과 얼마나 잘 융합될 수 있는지가 핵심이고, 말 그대로 Native가 되기 위해서는 단지 프로세스를 자동화하고, 도구에 AI 기능을 넣는 것 이상으로 자연스럽게 녹아들어야 한다는 것이었습니다.

코드버디는 코드리뷰를 해주는 AI 도구가 아닌 동료로서 접근하고자 합니다.
코드리뷰만이 아닌 개발 라이프사이클 활동 전반에서 개발자와 함께하며 도움을 주는 동료로서 말이죠.
이름에서도 그 의도 가 보이시겠죠?
이름뿐만이 아닌 진정한 카카오 크루들의 동료로 자리 잡기 위해 지금 이 순간에도 열심히 코드버디와 함께 개발을 하고 있는 베네딕트였습니다.
읽어주셔서 감사합니다.