
혼자 소프트웨어 만들어서 팔면 얼마나 벌 수 있을까? 개발 좀 하다 보면 누구나 한 번쯤 이런 상상 해보잖아요. 머릿속에선 참 간단해요. 이 기능 하나만 딱 만들어서 한 달에 몇천 원씩 받으면 되겠지, 하고요. 그런데 Stripe랑 Crunchy Data에서 일했던 베테랑 엔지니어 Brandur Leach가 이 달콤한 상상에 대고 아주 현실적인 이야기를 꺼냈어요. 바로 "팔 수 있는 소프트웨어의 최소 단위(minimum viable unit)"라는 개념인데요. 결론부터 말하면, 그 최소 단위가 우리가 생각하는 것보다 훨씬 크다는 거예요.
핵심 기능은 엔진일 뿐, 차 한 대가 아니에요
여기서 말하는 핵심을 비유로 풀어볼게요. 우리가 "이 기능 하나만 팔면 돼"라고 할 때, 그 기능은 사실 자동차로 치면 엔진 하나거든요. 엔진은 분명 차에서 제일 중요한 부품이에요. 근데 엔진만 도로에 굴린다고 차가 되는 건 아니잖아요. 차체도 있어야 하고, 바퀴랑 좌석, 번호판, 보험까지 다 있어야 비로소 "팔 수 있는 차"가 돼요.
소프트웨어도 똑같아요. 진짜 돈을 받고 파는 상품이 되려면 핵심 코드 주변에 붙어야 하는 게 한가득이에요. 우선 사람들이 가입하고 로그인할 수 있어야 하죠(회원 시스템). 비밀번호 까먹은 사람한테 재설정 메일도 보내줘야 하고요. 결제는 또 어떻고요. 카드 등록받고, 매달 구독료 청구하고, 환불 처리하고, 세금계산서까지 끊어줘야 해요. 서버는 24시간 안 죽고 돌아가야 하니까 배포, 모니터링, 백업 체계도 갖춰야 하죠. 여기에 이용약관, 개인정보 처리방침 같은 법적인 문서, 그리고 "이거 어떻게 써요?" 하고 물어보는 고객을 받아줄 지원 창구까지... 정작 핵심 기능보다 이 주변 장치들이 훨씬 덩치가 커요.
그래서 최소 단위에는 '바닥'이 있어요
Brandur가 말하려는 핵심이 바로 이거예요. 아무리 기능을 잘게 쪼개도, 그걸 판매 가능한 상태로 만드는 데는 절대 줄일 수 없는 고정 비용이 있다는 거죠. 그래서 월 1천 원짜리 초소형 SaaS 같은 건 현실에선 수지가 안 맞기 쉬워요. 들어가는 품(인증, 결제, 운영)은 똑같은데 받는 돈만 적으니까요. 결국 최소 단위는 그 고정 비용을 감당할 만큼 충분히 가치 있고, 충분히 가격을 매길 수 있는 묶음이어야 한다는 이야기예요.
그래서 이런 도구들이 뜨는 거예요
이 바닥을 낮춰주려고 등장한 게 요즘 흔히 쓰는 서비스들이에요. 결제는 Stripe(국내는 토스페이먼츠, 포트원), 로그인·회원관리는 Clerk나 Auth0, 백엔드 전체는 Supabase나 Firebase 같은 BaaS(Backend as a Service, 백엔드를 통째로 빌려 쓰는 서비스)요. 예전엔 직접 다 만들어야 했던 인증·결제·DB를 이제는 끼워 맞추기만 하면 되거든요. SaaS 보일러플레이트(처음부터 기본 골격이 깔려 있는 템플릿)가 유료로 팔리는 것도 같은 맥락이에요. 다들 "팔 수 있는 최소 단위"의 진입 문턱을 낮추는 방향으로 움직이고 있는 거죠.
한국 개발자에게
사이드 프로젝트로 수익화를 노리는 분이라면 이 글이 주는 교훈이 분명해요. 멋진 핵심 기능 만드는 데 99%의 시간을 쓰고 결제랑 인증은 나중에로 미루면 결국 출시를 못 해요. 오히려 그 주변부를 외부 서비스로 빠르게 때우고, 내 시간은 진짜 차별화되는 핵심에 쏟는 게 현실적인 전략이에요. 그리고 가격을 너무 싸게 책정하지 마세요. 고정 비용을 생각하면 적정 가격은 생각보다 높거든요.
마무리
핵심 한 줄: 팔 수 있는 소프트웨어의 최소 단위는 '코드의 크기'가 아니라 '상품이 되는 데 필요한 모든 것'의 합으로 정해진다.
여러분은 사이드 프로젝트를 상품으로 만들 때 인증·결제 같은 주변부를 직접 만드는 편인가요, 아니면 외부 서비스로 빠르게 때우는 편인가요? 어디까지 직접 만드는 게 합리적이라고 생각하시는지 궁금하네요.
🔗 출처: Hacker News