사이드 프로젝트로 프로덕트 엔지니어가 된 사람: 불편하면 직접 만든다

PEPE 세션 4 — 코어플랫폼개발팀 김민수 팀장

Share
사이드 프로젝트로 프로덕트 엔지니어가 된 사람: 불편하면 직접 만든다

프로덕트 엔지니어(PE)가 뭘까 고민하다가, 돌아보니 자기 삶 자체가 그것이었다는 사람이 있습니다.

카드사 데이터베이스 관리자에서 시작해 백엔드 개발자, 스타트업에서 클라우드·서버·모바일을 동시에, 그리고 검색 엔지니어까지… 매번 처음 하는 일을 맡아 온 마이리얼트립 코어플랫폼개발팀 김민수님은 이번 PEPE(Product Engineer Possibility Exchange) 세션에서 기술 발표 대신 자신의 사이드 프로젝트 이야기를 꺼냈습니다.

대단한 방법론이 아니라, 불편함을 직접 해결해 온 삶이 곧 PE(프로덕트 엔지니어)였다는 깨달음에서 출발한 발표입니다.

사이드 프로젝트: 게으르기 위해 부지런하게 만든 것들

민수님은 같은 일을 두 번 하는 걸 싫어합니다. 게으르기 위해 역설적으로 부지런하게 뭔가를 만들어 왔습니다.

일본 맵코드 변환 사이트 — 일본에서 렌트카를 빌리면 내비게이션이 일본어만 지원돼서 목적지 검색이 안 됩니다. 대신 ‘맵코드’라는 숫자를 입력하면 되는데, 이 맵코드를 구하는 서비스도 일본어뿐이었습니다. 구글 플레이스 API로 GPS 좌표를 구하고, 그 좌표를 맵코드로 변환하는 사이트를 만들었습니다. “내가 쓰려고” 만든 건데, 혼자 쓰기 아까워서 공개했더니 반응이 폭발적이었습니다. 일본 여행자 카페에서 베스트 게시물이 됐고, 운영자가 별도로 연락해 선물까지 보내왔습니다.

숙소 빈방 알림 — 출장 때 예산 내로 잡을 수 있는 숙소가 늘 만실이었습니다. 빈방을 체크해서 슬랙으로 알림을 보내는 시스템을 만들었고, 알림이 오면 바로 예약을 잡았습니다.

이 외에도 회사 전화 발신자 확인 앱, 배송 추적 자동화, 이체 자동화, 주식 체결 알림까지… 불편한 게 있으면 만들고, 반복되는 게 있으면 자동화했습니다.

사이드 프로젝트로 프로덕트 엔지니어가 된 사람: 불편하면 직접 만든다

서비스를 공개하고 나서 달라진 것

민수님은 오랫동안 자신이 만든 것을 공개하지 않았습니다. “이렇게 유치한 걸 만들어” 하는 평가가 두려웠기 때문입니다. 맵코드 사이트를 처음으로 외부에 공개했을 때, 반응은 예상과 완전히 달랐습니다.

“완벽하지 않아도 일단 공개해 보는 게 중요하다는 걸 처음 깨달았습니다. 링크드인 창업자가 ‘첫 번째 제품이 부끄럽지 않다면 너무 늦게 출시한 거다’라고 했는데, 그게 무슨 의미인지 이때 처음 알았어요.”

공개하고 나면 달라지는 것들이 있었습니다.

배포와 테스트 — 서비스를 운영하다 보면 수정할 때마다 배포가 귀찮아지고, A를 고쳤는데 B에서 에러가 나는 경험을 하게 됩니다. 자연스럽게 배포 자동화와 테스트 자동화를 고민하게 됩니다.

사용자 지표 — 구글 애널리틱스를 처음 달아봤더니 아무도 안 들어온다는 사실을 알게 됐습니다. SEO를 적용하니 검색봇만 들어왔고, 블로그에 올리니 스파이크가 치고 꺼졌고, 구글 광고를 태우니 그제서야 트래픽이 서서히 늘기 시작했습니다. 엔지니어로서 “왜 마케팅에 돈을 태우는지” 처음으로 이해하게 된 순간이었습니다.

다른 직군에 대한 이해 — 백엔드·프론트·모바일을 다 직접 하다 보니, 왜 프론트에서 API 스펙을 그렇게 복잡하게 달라고 하는지, 왜 백엔드가 데이터를 그런 형태로 줄 수밖에 없는지 이해가 됐습니다. 다른 직군이 “안 된다”고 할 때, 왜 안 되는지 이해하고 대안을 함께 찾을 수 있게 됩니다.

90점과 99점의 차이 — 90점짜리를 만드는 건 쉽지만, 99점으로 만드는 건 정말 어렵습니다. 직접 만들어 보면 뭐가 쉽고 뭐가 어려운지 감이 생기고, 개발팀과 훨씬 효과적으로 협업할 수 있게 됩니다.

요구사항은 바뀔 수밖에 없다 — 예전에는 “왜 미리 기획을 안 해서 또 바꾸냐”고 불만이었는데, 직접 서비스를 운영해 보니 고객이 써보고 피드백을 받아야 요구사항이 정해진다는 걸 알게 됐습니다.

보안은 경험해야 체감된다 — 서비스를 공개하니 생각보다 해킹 시도가 많이 들어왔습니다. API 키 정보를 탐색하거나 이상한 요청을 보내는 공격이 꾸준히 들어오는 걸 보고, 코드에 민감한 정보를 넣는 것에 본능적으로 거부감을 갖게 됐습니다.

이런 경험이 쌓이면서 민수님에게는 “그냥 만들면 되지”라는 마인드가 생겼습니다. 여러 가지를 직접 만들다 보니 두려움이 사라지고, 작은 서비스라도 전체를 한 바퀴 돌려보면 큰 그림이 보이게 됐습니다.

AI 시대, 소스 코드는 바이너리가 되고 있다

비개발자 PE는 이제 겁 없이 해볼 수 있는 세상이 됐습니다. 90점짜리는 뭐든 만들 수 있고, 처음이 어렵지 하다 보면 점점 쉬워집니다.

개발자에게는 다른 메시지를 전했습니다. 그동안 만들어 온 코드의 가치가 점점 줄어들고 있다는 것. 자바 소스를 컴파일하면 .class 바이너리가 나오듯이, 이제 자연어가 소스 코드고 AI가 만들어 주는 코드가 바이너리처럼 되어가고 있다고 봤습니다.

“저도 언젠가부터 AI가 만들어 주는 소스 코드를 서서히 보지 않고 있는 것 같아요. 오히려 잘 모르는 분야일수록 더 안 봅니다. 시간이 지나면 지날수록 소스 코드는 안 볼 것 같고, 소스 코드가 아웃풋 바이너리인 세상이 오고 있는 것 같습니다.”

그렇다면 엔지니어의 역할은 자연어로 소스 코드를 만들어 내는 “컴파일러를 설계하는 것”으로 옮겨간다는 게 민수님의 생각입니다. 컨텍스트 엔지니어링이든 하네스 엔지니어링이든 이름은 중요하지 않고, 이런 설계 역량이 핵심이 됩니다.

사이드 프로젝트로 프로덕트 엔지니어가 된 사람: 불편하면 직접 만든다

민수님은 이를 “메타 엔지니어”라고 표현했습니다. 한 걸음 떨어져서 일하는 방식을 설계하는 사람. AI에게 답을 구하는 게 아니라, AI가 나에게 질문하게 만드는 질문을 설계해서 사고를 확장시키는 역량. 궁극적으로는 “AI 개발자를 만드는 개발자”가 되어야 한다는 것이 지금 품고 있는 목표입니다.

프로덕트 엔지니어의 본질 — 100원 벌기

민수님이 마지막으로 제안한 것은 “100원 벌기”였습니다.

내가 필요한 것을 직접 만들고, 그것을 시장에 공개하라는 뜻입니다. 공개하지 않으면 사이클이 돌아가지 않고, 한 번 만들고 끝나버립니다. 공개하면 배포·테스트·마케팅·보안까지 자연스럽게 고민하게 되고, 가만히 앉아 있어도 100원이 들어오는 경험이 만들어집니다.

실제로 맵코드 사이트는 2017년에 만든 이후 손을 대지 않아도 월 3만 명이 꾸준히 방문하고 있습니다.

“100원을 버는 게 중요한 게 아니라, 프로세스로 100원을 버는 게 중요합니다. 가만히 앉아 있어도 100원이 들어오는 그 경험을 만드는 게 중요해요. 이 경험을 만들다 보면 자연스럽게 AI 기술이든 자동화든, ‘내가 이걸 계속 직접 하고 있어야 할까?’를 고민하게 됩니다.”

민수님이 정의하는 PE의 본질은 “내 불편함을 직접 해결하는 사람”입니다. 여행지에서 길을 못 찾아서 맵코드 사이트를 만들고, 반복 업무가 싫어서 자동화를 만들고, 빈방이 없어서 알림 시스템을 만든 것. 커리어를 설계한 것이 아니라 불편함을 해결하다 보니, 지나고 나서 보면 그게 PE의 삶이었습니다.

스티브 잡스가 말한 “커넥팅 더 닷츠(Connecting the Dots, 지나온 점들이 이어져 하나의 선이 된다)”처럼, 매번 처음이었던 경험들이 어느새 하나로 연결되어 있었다는 이야기로 발표를 마쳤습니다.

*마이리얼트립의 PEPE(Product Engineer Possibility Exchange)는 PE(Product Engineer)들이 “어디까지 시도했는지, 어디서 막혔는지”를 결과보다 과정으로 나누는 사내 세션입니다.

Read more

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

경기 시작 전 아직은 조용한 경기장. 관중석이 채워지기 전, 선수들이 그라운드로 나와 몸을 풉니다. 누군가는 그 모습을 관중석이 아니라 바로 앞에서 봤습니다. 선수들이 걸어 나오는 통로 앞, 숨소리가 들릴 만큼 가까운 자리였습니다. 몇 시간 뒤 함성으로 채워진 경기장 전광판에는 이들을 맞는 문구가 떴고, 경기가 끝난 뒤에는 선수에게 직접 사인을 받았습니다.

By 마이리얼트립
눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

마이리얼트립 앱 내 커뮤니티의 '동행매칭'은 같은 시기에 같은 도시로 떠나는 여행자를 서로 연결하는 서비스입니다. 지난 넉 달 동안 이 서비스를 커뮤니티의 중심으로 옮기고, 참여하는 방식을 다시 설계했습니다. 기존 커뮤니티에는 여러 주제의 게시판이 있었고, 작업은 무엇을 남길지 고르는 일에서 시작했습니다. 동행을 찾는 관심은 충분했습니다. 다만 글을 여러 개

By 마이리얼트립
한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

마이리얼트립에서 떠나는 여행의 대부분은 파트너의 손에서 시작됩니다. 현지에서 투어를 진행하고, 숙소를 운영하고, 여행자의 문의에 답하는 일을 파트너가 함께합니다. 마이리얼트립은 그 여행이 여행자에게 잘 닿게 하는 일을 맡습니다. 어느 한쪽만 잘해서는 좋은 여행이 되지 않습니다. 마이리얼트립이 파트너의 운영을 돕는 일에 오래 공을 들여 온 이유입니다. 파트너의 하루가 수월해지는 만큼 여행자의 여행도

By 마이리얼트립
여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

뷰티·웰니스. 여행 앱에서 이 단어를 마주하면 잠깐 갸웃하게 됩니다. 항공권과 숙소, 투어를 예약하던 곳에서 웬 마사지와 스파일까요. 그런데 따지고 보면 둘은 생각보다 가까운 사이입니다. 여행을 준비할 때 우리는 컨디션을 챙기고, 사진 속 나를 신경 쓰고, 다녀와서는 쌓인 피로를 풀고 싶어 합니다. 여행이 나를 위한 시간이라면, 나를 돌보는 관리 역시

By 마이리얼트립