직무인터뷰 상세

우아한형제들 백창준 품질 엔지니어

소속
백창준 품질 엔지니어
일시
2021.09.28
조회수
4,539

우아한형제들

백창준 / 품질 엔지니어

 

Interview 01

담당업무 소개

 

품질 엔지니어 창준님의 하루 일과를 ‘담당하시는 업무를 중심’으로 소개해 주세요.

안녕하세요. 품질개발팀 백창준입니다. 저는 13년 차 엔지니어로 전 직장에서는 개발자 도구와 품질 도구를 개발하였고, 우아한형제들 품질개발팀과 인연이 닿아 합류한지 4개월이 되었습니다. 현재 우아한형제들에서 품질개발팀의 팀장을 맡고 있는데요. 저의 하루 일과는 출근과 동시에 밤새도록 실행된 자동화 테스트 시스템을 점검하는 일부터 시작돼요. 시스템 동작에 이상은 없는지, 결함 검출 건은 있는지 등을 검토하고 개선할 사항들이 발견되면 백로그에 입력해 둡니다.

그다음으로는 시스템을 점검하고 다시 테스트를 재개시켜 놓은 후, 결함이 발견되면 테스트 리포트의 결함 경로와 관련 로그를 뽑아 이슈를 리포팅하고 있어요. 그와 동시에 간단히 선 분석도 진행하고 있는데요. 이러한 사전 분석은 조금 더 명확한 결함 및 이슈의 발생 상황과 근본 원인을 찾을 수 있고 시간을 단축하는 효과도 있습니다.

최근에는 하루의 절반 이상을 미팅으로 보내고 있는데, 과제 계획 미팅뿐 아니라 이슈 대응, 테스트 케이스 리뷰 등 다양한 논의를 위한 미팅을 하고 있어요. 또한, 팀장직을 맡고부터는 면접을 진행하거나 팀원분들과 면담하는 시간으로 하루를 보내고 있습니다.

Interview 02

팀장으로서의 역할

 

 

창준님께서 팀장으로서 맡고 있으신 업무를 조금 더 상세히 알려주세요.

사실 저는 팀장직에 임명된 지 한 달도 채 안되는 병아리 팀장입니다. 제게 주어진 주요 업무는 구성원이 아닌 팀장의 시각으로 팀에 주어진 미션들을 달성하기 위한 고민을 하고 실현하기 위한 구체적인 계획을 수립하는 일입니다.

조금 더 자세히 말씀드리면 지금보다 많은 개발조직과 과제들을 지원하고, 업무 프로세스를 정비하여 효율을 높이는 역할인데요. 팀 차원의 일보단 제 개인에게 국한된 역할을 말씀드리겠습니다.
현재 제가 맡은 가장 중요한 역할은 구성원들의 업무 관련 어려운 사항들을 돕는 일입니다.


그 외에도 개인적인 고충과 업무에서 오는 어려움과 성장을 위한 고민을 비롯해 현실과 이상의 괴리 등 다양하고 많은 이야기를 나누고 있어요. 저 역시 얼마 전까지 구성원이었기에 충분히 공감하고 돕기 위해 노력하고 있지만 아직은 경험이 부족하여 좌충우돌에 혼란을 만들기도 합니다. 병아리 팀장 때문에 저희 구성원들이 고생하는 것 같아 항상 미안한 마음입니다.

두 번째로 중요한 업무는 팀의 성과가 잘 보이도록 표현하는 것입니다. 저희 팀 과제의 방향을 부문, 실의 사업 목표와 일치시키고, 이를 경영 측면에서 효과적으로 표현할 수 있어야 구성원들의 시간과 노력을 헛되게 하지 않을 수 있습니다. 매일 이런저런 메트릭(Metrics)을 구하고 그래프로도 그려보고 있지만, 신뢰할 수 있는 데이터를 확보하기 위해서는 어떠한 정보를 고려해야 할지, 경영 성과와 지표의 표현 방법이 올바른지 고민하고 또 고민해도 정말 어렵습니다. 세상의 모든 팀장님들에게 존경의 마음을 보냅니다.

마지막으로는 팀장이 아닌 개발자로서의 업무도 빼놓을 수 없습니다. 과제 로드맵상 여러 액션 아이템이 있지만 현재 진행하고 있는 것은 크래시 자동검출 도구입니다. 말 그대로 크래시를 자동으로 분석하고 검출해내며, 테스트 케이스 없이 크래시 위험요소를 분석하는 도구인데요. 흔히 알려진 몽키나 랜덤보다는 조금 더 똑똑합니다.

아직은 시작 단계여서 단독 수행만 가능한 형태로 매번 사람 손이 필요하지만, 곧 Slack, Gitlab 등과 같은 다른 도구들 과도 연계하여 사람의 손이 필요 없이 365일 24시간 자동으로 테스트할 수 있는 환경을 갖추게 됩니다. 크래시 자동검출 도구가 완성되면 자체적인 디바이스팜(Device Farm)을 제공하거나 UI 결함 검출을 할 수 있는 기반이 될 것으로 기대하고 있습니다.

Interview 03

도전 과제

 

 

올해 우아한형제들에서의 도전 과제 두 가지만 말씀 부탁드립니다.

저희 품질개발팀은 주로 사용자 입장에서 ‘우아한형제들의 서비스’를 고민하는 과제와 업무들을 맡고 있어요. 그렇다 보니 매뉴얼 작업이나 사용자와의 접점이 있는 앱과 프론트 영역에 업무 비중이 집중되어 있습니다. 하지만 품질개발팀에 주어진 미션들은 사용자와의 접점뿐만이 아닌 전체 개발 조직에 대한 품질 활동입니다.

지금까지는 신규 입사자분들을 앱과 프론트 영역 외 잘 지원하지 못한 팀을 담당하도록 하여 기획 단계부터 참여하는 방식으로 품질 활동을 해왔지만, 전사의 모든 팀을 감당하기엔 현재의 인원으로는 불가능하다고 판단하였습니다.

올해가 많이 남지는 않았지만, 전체 개발 조직에 대하여 어떤 활동을 해야 생산성과 품질 목표를 달성할 수 있을지를 고민하고 있습니다. 모든 팀에서 공통으로 사용할 수 있는 도구와 활용할 수 있는 리포트, 테스트 케이스 등을 통해 지금까지와는 다른 형태의 지원을 할 수 있지 않을까 생각하고 이것이 올해의 첫 번째 도전 과제입니다.

두 번째 도전 과제는 자동화 비율을 높이는 것입니다. 사용자에게 전달되기 직전에 결함을 막아내는 게이트키퍼(Gate Keeper) 역할에서는 자동화를 도입하기 어렵습니다. 사람의 행동을 기계가 따라 하고 사람이 판단하는 결함을 기계가 판단하게 하는 것은 UI 테스팅 분야에서는 특히 더 어렵고요. 그렇지만 현재 업무량을 효과적으로 관리하기 위해서는 어떻게든 자동화 비율을 늘려야 하는 것도 사실이죠.

현재의 매뉴얼 테스트의 비중을 점진적으로 낮춰가야 하겠지만 당장 활용 가능한 기술들, 예를 들어 이력 기반의 탐색 기술과 퍼징 기술을 활용하여 5% 이상 자동화 비율을 높이는 것이 목표입니다. 단기간에 큰 역할을 하지는 못할지라도 최소한의 크래시 등의 문제는 사전 검출하고, 사람이 생성할 수 없던 복잡한 시나리오들을 생성 가능할 것으로 기대하고 있습니다. 올해가 지나고 내년에 과제가 완성되면, 더 스마트하고 생산성 높은 도구들을 만들어낼 수 있는 기반이 될 것입니다.

Interview 04

역량에 관한 생각

 

 

품질 엔지니어로서 좋은 성과를 내기 위해서는 어떤 기술 역량이 필요한가요?

대체로 품질, 테스트와 관련된 업무를 한다고 하면 손으로 이루어지는 노동집약적인 업무를 생각하는 분들이 있습니다. 과거와 같이 연구가 부족하고 적절한 도구가 부족하던 때엔 실제로 그러하기도 했기에 그 시절 품질 엔지니어의 주된 덕목은 꼼꼼함, 끈기, 근면함이었습니다. 결함을 찾을 때까지 오래 앉아있는 사람이 승리하는 그런 시절이었죠. 불과 10여 년 전의 이야기입니다.

근래에는 상황이 바뀌었습니다. 코드를 분석하여 결함과 취약점을 자동으로 찾아내고, 코드를 리뷰하여 자동으로 테스트 입력을 생성하고 수행하는 도구가 많이 존재합니다. 이 도구들은 사람이 할 수 없는 무한대의 입력값을 만들어내어 생각지도 못한 예외 상황을 만들고 사람이라면 놓칠 수 있는 결함들을 놓치지 않습니다.

최근에는 사용자 행동 패턴 데이터를 학습하여 사람과 유사한 동작을 하며 결함을 검출하는 도구들도 나와있습니다. 여러 도구들의 특징과 장/단점을 잘 파악하여 적재적소에 사용할 수 있는 능력이 현시대의 품질 엔지니어에게 중요한 역량이 되었고 그런 도구를 직접 개발할 수 있다면 금상첨화인 시대가 도래했습니다.

또 다른 필요 역량은 소프트웨어 엔지니어와 같은 문제 해결 능력입니다. 소프트웨어 엔지니어와 품질 엔지니어는 별반 다르지 않다고 생각합니다. 차이가 있다면 소프트웨어 엔지니어는 문제 해결을 위하여 직접 코드를 생산한다는 것이고, 품질 엔지니어는 생산된 코드의 동작 문제를 파악하거나 해결하기 위해 코드를 생산한다는 것입니다.

예를 들어, 사용자의 행동을 예측하기 위한 데이터 분석 능력은 결함을 예측하기 위해 사용되는 것과 같고 결함을 판단하고자 하는 코드에는 이미지 비교, 트리 탐색, 문자열 벡터화 등의 기술이 사용됩니다. 대규모의 테스트 팜을 운영하기 위해선 가상화, CI/CD 기술 역시 필수적이죠.

아직 우아한형제들에서는 초보적이고 작은 규모로 시작하는 단계입니다. 국내외 유수의 기업에서는 다양하고 큰 규모의 테스트 인프라와 기술을 갖고 있고, 이는 품질개발팀의 장기적인 목표입니다.

가끔 제가 좋아하는 선배님께서 하신 말씀이 떠오르곤 하는데요. 모자를 바꿔 쓰는 역량이 필요하다고 하시더라고요. 사용자라고 쓰여진 모자를 쓰고 테스트를 하고, 개발자라고 쓰여진 모자를 쓰고 리포팅하며, 경영자의 모자를 쓰고 결과 보고를 할 수 있어야 한다면서요. 이렇게 써 놓고 보니 정말 어려운 일이네요. 정말 쉽지 않은 일이니 저도 끊임없이 계속 노력할 뿐입니다.

Interview 05

품질개발팀의 장점과 문화

 

 

우아한형제들 품질개발팀만의 매력을 알려주세요.

저희 팀명(품질’개발’팀) 으로도 예상할 수 있는 저희 팀은 단순히 테스트만을 하는 팀은 아닙니다. 테스트 데이터를 모아 취약 지점을 분석 및 예측하고, 품질 목표 달성을 위한 기반 기술 및 자동화 시스템을 개발합니다.

그 밖에도 정말 많은 매력과 장점이 있는데요. 먼저는 팀의 실무자분들도 기획과 개발의 과정에 적극적으로 참여할 수 있는 역량을 갖췄다는 점입니다. 백엔드, 프론트엔드, 앱 등 배달의민족을 구성하는 모든 부분을 다루며 전체적인 구조를 볼 수 있는 기회도 있고 개발 완료된 따끈따끈한 결과물을 사용자 입장으로 가장 먼저 만져볼 수 있다는 것도 큰 장점이겠고요.

두 번째로는 품질 목표 달성 과정의 기술적인 문제들을 해결하기 위하여 많은 연구와 개발을 수행하고 여러 문제 해결을 위해 제약 없이 본인이 사용하고 싶은 개발 언어, 플랫폼, 프레임웍을 활용해 볼 수 있습니다. 또한 신설된 팀이기에 부끄럽지만 이제부터 적극적으로 테스트 인프라 구축 및 기술 개발을 하려고 하는 시작점에 있고, 그렇다 보니 더 부끄러울 레거시가 없어 하얀 백지 위에서 여러분께서 원하는 그림으로 그려 나갈 수 있습니다.

세 번째로 저희는 품질 관련 경력이 없더라도 소프트웨어 엔지니어라면 얼마든지 함께 일할 수 있습니다. 다양한 테스트를 통해 자신이 구현한 코드에 확신을 갖는 과정을 즐겼던 개발자라면 저희 팀에서 함께 충분히 즐겁게 일할 수 있는 환경을 갖췄다고 자부합니다. 또 다른 매력은 개별 기능으로써의 관점이 아닌 사용자가 서비스를 사용하는 과정으로 코드를 바라볼 수 있다는 점이에요. 관점이 바뀌는 새로운 경험을 하실 수도 있죠.

테스트 프로세스, 방법론, 기법을 잘 모르겠다고 망설이시는 분들은 코드 품질을 올리기 위한 수많은 고민과 시도들만 말씀해 주세요. 부족한 부분은 저희가 채워드릴 수 있으니 함께 만들어가요.

마지막으로 심지어 저희 팀은 컴퓨터공학, 소프트웨어의 전공자가 아니어도 수행 가능한 업무가 있다는 사실입니다. 기획안을 보고 사용자 입장에서의 통찰을 갖고 매의 눈으로 부족한 부분을 찾아낼 수 있는 분들, 많은 경험을 바탕으로 무엇이 좋은 사용자 경험일지 고민하시는 분들을 환영합니다. 소프트웨어 개발과 친하지 않더라도 걱정하지 마세요. 역시 저희가 채워드릴 수 있습니다. 저희는 배려와 협동하며 함께 도전하고 성장하고자 노력하는 팀입니다.

 

우아한형제들의 품질 엔지니어 직무에 관심을 가지고 계신 분들께 책 한 권 소개 부탁드립니다.

제가 두고두고 곱씹으며 참고하는 책이 한 권 있습니다. 테스팅계에서는 너무나도 유명한 제임스 휘태커의 ‘구글은 어떻게 테스트하는가’입니다. 휘태커는 2009년 MS에서 탐색적 테스트에 대하여 체계적으로 정리해 준 “Exploratory Software testing”을 저술한 이후, 2012년 구글을 재직하며 책을 냈는데요. 그 시절 저술한 책에서 구글의 품질 문화가 어떻게 변화하였는지, 테스팅 조직이 어떻게 생산성 조직으로 변화했는지, 모든 팀에서 코드 품질을 어떻게 다루는지 엿볼 수 있습니다.

또한 테스트 엔지니어와 매니저, SWE 와 SET의 관계와 미래를 보여주고, 크롬 OS 의 사례를 통해 이해를 돕습니다. 휘태커는 저술 후 구글을 떠났고, 지금은 2021년으로 개발 환경, 테스팅 환경이 엄청나게 변화하였습니다.

하지만 업무의 본질은 여전하고 많은 기업들과 조직이 품질 문제로 겪는 어려움도 여전합니다. 수준 높은 품질 목표를 달성하고자 하는 사람들에게 방향을 제시해주는 책으로 꼭 한번 읽어 보는 것을 추천드립니다.

 

>> 우아한형제들 기업정보 보러가기

>> 지금 채용 중인 IT 직무 보러가기

저작권은 잡코리아(유)에 있으며, 무단전재 및 재배포를 금지 합니다.