영업 대신 개발하는 건 창업자가 가진 가장 그럴듯한 미루기예요. 진짜 뭔가가 남으니까요. 기능을 하나 넣으면 앱은 정말 나아지고, 일했다는 기분이 들어요. 하지만 지난번에 만든 5가지를 아무도 쓰지 않았다면, 6번째는 제품 작업이 아니에요.
커밋 기록이 남는 회피예요. 내가 이걸 하고 있다는 솔직한 신호는 간단해요. 거의 아무도 보지 않은 제품을 계속 개선하고 있다는 거예요.
기능을 더 만들까요, 고객을 찾을까요
물어봐야 한다면 이미 답을 알고 있어요. 들통나는 건 질문이 아니라, 아웃리치가 불편해질 때의 반사 행동이에요. 기능 요청은 급해 보이고, 로드맵은 밀린 것 같고, 다음 걸 만드는 게 책임감 있는 선택처럼 느껴져요. 그 어느 것도 고객 이야기가 아니에요.
남의 받은편지함보다 내 에디터가 더 편하다는 이야기예요.
쉽게 말하면 이래요. 실제 사람이 지금 있는 걸 써 보기 전에는, 기능을 더 넣어도 알려 주는 게 없어요. 아직 아무도 묻지 않은 질문에 답을 덧붙이는 거예요. 초기에 중요한 정보는 딱 하나예요. 내 머릿속 바깥에 있는 누군가가 제품을 만져 보고, 남거나 떠나는 것.
그 일이 일어나기 전까지, 모든 기능은 추측 위에 쌓은 추측이에요.
회피용 개발과 진짜 제품 작업은 어떻게 구별하나요
진짜 제품 작업은 사람에게서 시작해요. 누군가 제품을 쓰다가 벽에 부딪혔고, 말로든 행동으로든 알려 줬고, 나는 바로 그 벽을 고치고 있어요. 회피용 개발은 상상 속 사람에게서 시작해요. 이걸 원할 것 같은 사용자를 떠올리고, 그 사람을 위해 만들어요.
차이는 이 기능이 누구를 위한 건지 이름을 대고, 그 사람에게 필요했던 순간을 가리킬 수 있느냐예요. 답이 가정이라면(“사용자가 CSV로 내보내고 싶어 할 수도 있어”) 추측이에요.
답이 구체적이라면(“써 본 7명 중 3명이 같은 주에 CSV를 요청했어”) 일이에요. 7명이면 움직이기에 충분해요. 0명은 7명의 작은 버전이 아니에요. 아예 다른 범주이고, 아무리 많이 만들어도 그건 바뀌지 않아요.
아무도 요청하지 않은 기능은 진전이 아니에요. 아무도 테이블에 앉기 전에 걸어 둔 판돈이에요.
사용자가 없는데 기능만 늘어날 때
사용자가 있을 때 기능이 불어나는 건 규율 문제예요. 사용자가 없을 때 기능이 불어나는 건 숨는 문제이고, 더 나빠요. 숨는 것과 정반대처럼 느껴지거든요. 뭔가를 만들고 있어요. 저장소는 바쁘고, 변경 기록은 길어요.
그동안 진짜 병목, 그러니까 낯선 사람이 제품을 보게 하는 일은 손도 안 댄 채 남아 있어요. 쓸 코드도 없고, 끝냈다는 깔끔한 느낌도 주지 않는 유일한 일이니까요.
저는 메시지 5개를 보내기 싫어서 설정 페이지를 리팩터링한 적이 있어요. 메시지는 뭔가를 가르쳐 줬을 거예요. 설정 페이지가 가르쳐 준 건, 제가 메시지 피하기를 잘한다는 것뿐이었어요.
아웃리치를 하겠다고 스스로 약속한 날에 데이터베이스 스키마를 갈아엎어 본 적이 있다면, 그 기분을 정확히 알 거예요. 그리고 그게 미덕이 아니라는 것도요.
개발은 멈추고 영업을 시작하세요: 실제로 버티는 규칙
의지력으로는 안 고쳐져요. 만드는 건 정말 기분 좋고, 파는 건 정말 기분 나쁘니까요. 결정 자체를 없애 주는 규칙이 필요해요. 그래서 제가 쓰는 규칙을 알려 드릴게요. 일부러 움직이는 부분을 하나만 뒀어요.
맞는 사람 N명이 지금 기능을 보기 전에는 새 기능을 만들지 않아요.
규칙은 그게 전부예요. 그 주변의 실무는 이래요.
- N과 그 사람을 정하세요. 작고 현실적으로요. “아웃바운드를 직접 하는 1인 창업자 20명” 같은 거예요. 시장이 아니라 머릿속에 그려지는 사람이요. 그려지지 않으면 셀 수도 없어요.
- “봤다”는 방문이 아니라 써 봤다는 뜻이에요. 페이지 조회는 사람이 아니에요. 가입했거나, 여기저기 눌러 봤거나, 내가 함께 하나씩 보여 줬다면 본 거예요.
- N에 닿을 때까지 지금 기능은 동결이에요. 사용을 막는 버그는 고쳐도 돼요. 다듬기, 새 화면, 너무 만들고 싶은 그것은 전부 잠가요.
- N에 닿으면, 만들기 전에 무슨 일이 있었는지 먼저 읽으세요. 뭘 했는지, 어디서 막혔는지, 뭘 두 번 요청했는지요. 이제 내 머릿속이 아니라 바깥에서 온 목록이 생겨요.
- 그다음에야, 오직 그다음에야 맨 위 항목을 만드세요. 그리고 카운터는 0으로 돌아가요. 다음 기능은 다음 N을 기다려요.
이 규칙이 통하는 건 불편한 일을 유일하게 열린 일로 만들기 때문이에요. 나는 만들고 싶고, 다시 만들러 돌아가는 단 하나의 길은 계속 피해 온 아웃리치를 곧장 지나가요. 의지력 싸움이 아니라 관문이 되는 거예요.
도구가 맞는 곳과 맞지 않는 곳
이 규칙은 오늘 스프레드시트와 내 받은편지함만으로 돌릴 수 있어요. 그리고 그래야 해요. 적어도 사람들이 제품을 보게 하는 일만 남은 문제가 될 때까지는요. 출시 대신 계속 개발만 하는 게 문제라면, 어떤 소프트웨어도 그걸 고치지 못해요. 위의 관문은 무료이고, 그게 해결책 전부예요.
도구가 제값을 하는 곳은 딱 한 곳, 2단계예요. 여기서 “봤다”는 실제 사람 N명이 정말 봤다는 뜻이어야 해요. 손으로는 규모를 키울 수 없어요. 한 사람을 위한 진짜 화면 설명 영상은 10분이 걸리고, 20개면 일주일이 다 가요. 그래서 슬그머니 아무도 보지 않는 일반적인 단체 발송으로 변해요.
그 벽 때문에 Personade를 만들었어요. 네, 영업 대신 만든 것 하나가 또 생긴 셈이에요. 다른 점은, 이건 나를 다시 발송으로 밀어내려고 존재한다는 거예요.
Personade는 LinkedIn에서 아웃리치를 돌려요. 1촌 신청, 메시지, 후속 메시지를 내 계정에서 보내고, 누가 답장하는 순간 멈춰요. 화면 설명 영상이 메시지라면, 그 위의 영상 애드온이 리드마다 그 사람만을 위한 첫마디가 들어간 각자의 버전을 주고, 누가 봤는지 알려 줘요. 그게 “봤다”는 신호이고, 대신 세어 줘요.
하지만 아웃리치 메시지를 써 주거나, N을 정해 주거나, 아무도 원하지 않는 제품을 사람들이 원하는 제품으로 바꿔 주지는 않아요. 그건 내 몫으로 남아요.
이 변화가 왜 일어났는지 더 길게 읽고 싶다면 만드는 건 공짜가 됐지만 파는 건 아닌 이유에 썼어요. 더 깊은 문제가 유통을 통째로 건너뛴 것이라면 거기서부터 시작하세요.
자주 묻는 질문
기능을 더 만들까요, 고객 찾기에 집중할까요? 거의 언제나 고객이 먼저예요. 기능은 실제 사람이 제품을 쓰고 어디서 깨지는지 보여 준 다음에야 뭔가를 가르쳐 줘요. 사용자가 없다면 새 기능은 확인할 대상이 없는 추측이에요. 지킬 수 있는 규칙을 정하세요. 맞는 사람이 정해진 수만큼 지금 기능을 실제로 쓰기 전에는 새 기능을 만들지 않는다고요.
내가 영업을 피하려고 개발하고 있는지 어떻게 알 수 있나요? 그 기능에 대해 2가지를 물어보세요. 누구를 위한 건지, 그리고 그 사람들이 이 기능이 고치는 벽에 언제 부딪혔는지요. 실제 사람과 정확한 순간을 댈 수 있다면 제품 작업이에요. 사용자는 가정이고 시점은 “언젠가”라면 회피예요. 바쁜 저장소와 긴 변경 기록은 진전처럼 느껴지지만, 아무도 제품을 보지 않은 동안에는 아무것도 재지 않아요.
사용자가 없는데 기능만 늘어나는 걸 막는 좋은 규칙이 있나요? 맞는 사람이 정해진 수만큼 이미 만든 걸 써 볼 때까지 제품을 동결하세요. 20명처럼 작고 현실적인 숫자로요. “써 봤다”는 페이지를 방문한 게 아니라 가입해서 여기저기 눌러 봤다는 뜻이에요. 그 숫자에 닿은 뒤에야 그 사람들이 한 일을 읽고, 가장 많이 요청한 걸 만드세요. 그다음 카운터는 0으로 돌아가고 다시 시작해요.
자랑스러운 기능도, 내 머릿속 바깥의 누군가가 만져 볼 이유가 생기기 전까지는 나 말고 아무에게도 보이지 않아요. 그건 개발 문제가 아니고, 개발 문제는 이미 풀었잖아요.
끝냈다는 깔끔한 느낌이 없는 유일한 일이고, 바로 그래서 그 느낌을 주는 일에 계속 밀려요. 이번 주에 나 자신 앞에 그 관문을 세우고, 관문이 결정하게 하세요.




