뜻밖의 행운이 함께한 인디 소프트웨어 개발자 10년
2026년 8월 10일
10년하고도 하루 전인 2016년 8월 9일, 나는 갑작스럽게 직장을 그만뒀다. 이날을 인디 소프트웨어 개발자 경력의 시작으로 기념하고 있다. 나와 내 고객 모두에게 축하를!
계획은 퇴사하고 나서야 세웠다. 꿈을 한번 좇아도 될 만큼의 여유는 있다고 생각했다. 나 자신을 표현하며, 내 앱을 밑바닥부터 직접 설계하고 만들기로 했다. 적어도 한 번쯤은 내 뜻대로 일하는 사람이 될 수 있었다. 인디 개발자로 걸어온 길은 오래된 격언 하나를 그대로 닮았다. 하루아침에 성공하려면 5년이 걸린다는 말이다. 내게 그 ‘하루아침’은 2021년 9월 19일이었다. 당시에는 퇴사 전에 모아 둔 돈을 전부 소진해 파산까지 한 달 정도밖에 남지 않은 상태였다. 그런데 9월 20일 아침, Apple이 모바일 Safari에 웹 브라우저 확장 프로그램을 추가한 iOS 15를 출시했다. 데우스 엑스 마키나처럼 등장한 이 기적적인 소프트웨어 업데이트는 내 경력과 인생을 바꿨다. 갑자기 지속 가능한 사업을 운영하게 됐다. 이후 저축액도 퇴사 전보다 더 많은 수준으로 회복했다. 그렇다고 은퇴를 준비하는 건 아니니 걱정하지 마시라. 오히려 나는 목적이 없으면 지루해하는 별난 일 중독자다.
사업 조언은 되도록 하지 않으려 한다. 대부분 생존자 편향에 불과할 것이기 때문이다. 결국 나는 운이 좋았다. 그전까지 5년 동안 고전했고, 경제적으로 실패했다. 의욕이 꺾였고 우울했다. 희망이 없다고 느꼈다. 사업을 계속할 수 있었던 유일한 이유는 새 직장을 구하지 못했기 때문이다. 알고 보니 업계는 경력이 긴 소프트웨어 엔지니어를 채용하는 데 그다지 관심이 없었다. 적어도 그 엔지니어가 중년이고, 컴퓨터 과학 학위가 없으며(철학 학위가 두 개나 있지만 별 인상을 주지 못하는 모양이다), AppKit과 Objective-C를 이용한 네이티브 Mac 앱 개발처럼 시대에 뒤떨어진 기술을 보유한 경우에는 말이다. 여러 차례 면접을 봤지만 제안을 받은 적은 없었다. 정규직 상근 채용 제안을 마지막으로 받은 때는 2008년이었다. 그 직장이 마지막일 줄 알았다면 그만두지 않았을지도 모른다. 뭐, 모르는 게 약이다! 이런 내가 누구에게 경력에 관한 조언을 하겠는가?
인디 개발자로서 만든 첫 앱은 Underpass였다. 내 사업 웹사이트 underpassapp.com의 이름도 이 앱에서 따왔다. Underpass는 P2P 종단 간 암호화 채팅과 파일 전송 기능을 제공했다. 혼자 개발하는 사람이 무슨 생각으로 채팅 앱을 만들었느냐고 묻는다면 지극히 타당한 질문이다. 돌이켜 보면 정말 내가 벌일 일이 아니었다. 그래도 출발점은 내게 필요한 개인적인 사용 사례, 즉 내 기기 사이에서 민감한 데이터를 전송하는 일이었다. 2017년 1월에는 Mac용 Underpass를, 2017년 4월에는 iOS용 Underpass를 출시했다. 안타깝게도 Underpass는 실패했고, 출시 후 거둔 총매출은 $3000에도 미치지 못했다. OS 업데이트가 나올 때마다 Apple이 기능을 망가뜨리고, 고객들은 내가 결코 구현할 생각이 없는 기능을 계속 요청했다. 결국 2021년에 Underpass를 App Store에서 내렸다. 미미한 App Store 매출로는 앱을 계속 유지보수할 이유가 없었다. 그래도 Underpass는 아직 대부분의 기능이 작동하며, 나는 지금도 처음 만들었던 목적 그대로 내 기기 사이에서 데이터와 파일을 전송할 때 사용한다. (나는 클라우드 동기화를 좋아하지 않으며 iPhone에서 iCloud에 로그인하기도 거부한다.)
App Store를 맹렬히 비판해 온 사람이 왜 소프트웨어를 App Store에서만 배포하기로 했느냐고 묻는 것도 타당하다. 주된 이유는 두 가지였다. 하나는 상당히 뻔하고, 다른 하나는 공개하기를 꺼렸지만 이제는 편하게 인정할 수 있다. 뻔한 이유부터 말하자면, 내가 구상한 Underpass에는 iOS 버전이 반드시 필요했고 안타깝게도 iOS에서 소프트웨어를 배포할 방법은 App Store뿐이었다. 다른 이유는 내 소프트웨어 사업이 성공할 거라는 자신감이 없었기 때문이다. 일단 인디 개발에 도전해 내 앱을 만들어 보고, 혹시 사업이 실패하면 구직할 때 잠재적인 고용주가 볼 수 있도록 이 App Store 앱을 이력서에 넣을 생각이었다. (물론 앞서 말했듯 이 전략은 아무 소용이 없었다.) 판매량은 적고 노력만 낭비할지 모른다는 우려 때문에 Mac App Store 밖에 독립적인 스토어를 직접 만들 생각도 접었다. 오랫동안 활동한 인디 Mac 개발자라면 그런 투자가 결실을 볼 수 있지만, 내가 그런 개발자가 될 수 있을지는 전혀 확신하지 못했다.
두 번째 앱은 Safari 확장 프로그램인 StopTheMadness였다. 이 일화는 한 번도 이야기한 적이 없는 것 같다. Tom Harrington이 어떤 웹사이트의 불편한 점을 무심코 불평한 트윗에서 앱을 만들 영감을 얻었다. 그는 이제 Twitter를 사용하지 않는다. 고마워요, Tom! StopTheMadness는 아주 빠르게 개발했고, 2018년 4월 출시하자마자 제법 빠른 속도로 인기를 얻었다. 가능성이 보일 만큼은 인기가 있었다. 문제는 내 생활비 전부를 감당할 정도로 인기를 얻지는 못했다는 것이다. 그래서 저축한 돈은 계속 줄어들었다. 당시에는 알지 못했지만, 그 뒤 StopTheMadness와 함께 버틴 힘겨운 3년은 내가 주목받을 순간을 준비하는 기간이었다. 앱을 계속 개선하고 수많은 기능을 추가했으며 고객 피드백에 응답했다. 그 결과 StopTheMadness를 입소문으로 알리는 충성도 높은 팬층이 생겼다. 마침내 Safari 확장 프로그램을 지원하는 iOS 15가 출시됐을 때, 나는 그 기회를 잡을 만반의 준비를 갖춘 상태였다.
StopTheMadness Mobile과 StopTheMadness Pro를 포함한 StopTheMadness 제품군은 지금까지 내가 App Store에서 거둔 총수익의 93% 이상을 차지한다. 제품군을 확장하려고 2018년부터 여러 다른 앱을 출시했지만, StopTheMadness의 성공을 재현한 앱은 하나도 없었다. 나는 사실상 히트곡이 하나뿐인 가수다. 사람들이 그 한 곡을 좋아하는 한, 기꺼이 계속 연주할 생각이다.
앞으로의 10년은 어떨까? 전혀 모르겠다! 늘 여러 아이디어를 고민하지만 장기 계획은 좀처럼 세우지 않는다. 계획을 세우더라도 대개 뜻대로 되지 않는다. 재정적으로 가장 성공한 계획은 2023년 12월 유료 업그레이드로 출시한 대규모 업데이트 StopTheMadness Pro였다. 하지만 기억이 맞는다면 그것조차 작업 기간은 1년이 채 되지 않았다. 사업을 대하는 내 방식은 서퍼처럼 파도를 타며 보드 위에서 떨어지지 않기를 바라는 것이다. 서핑은 스포츠가 아니다. 삶의 방식이다.
source https://lapcatsoftware.com/articles/2026/8/3.html
HN에서는 독립 개발에 뛰어든 결단과 제품을 끝내 출시한 실행력을 높이 평가하는 반응이 두드러졌다. 회사의 지표나 승진 기준에 맞춰 일하기보다, 스스로 문제를 정하고 결과까지 책임지는 삶에 의미를 두는 시각이다. 그러나 이를 누구에게나 통하는 성공 공식으로 받아들이지는 않았다.
특히 ‘하룻밤의 성공에는 5년이 걸린다’는 대목이 공감을 얻었다. 실제로 한 개발자는 앱스토어에서 2년간 변변한 수익을 내지 못했지만 이제야 조금씩 가능성이 보인다고 했다. 꾸준히 제품을 만든다고 성과가 보장되는 것은 아니다. 운영체제 업데이트처럼 개인이 통제할 수 없는 변화가 사업의 전환점이 되기도 한다. 결국 기회가 올 때까지 버틸 자금과 시간이 필요하다.
출시 자체를 낭만적으로만 봐서는 안 된다는 경험도 나왔다. 수년간 제품을 만든 뒤에는 운영 환경에서 계속 지원해야 하는 부담이 따른다. 중요하지 않은 세부 구현에 빠지거나, 가치가 불확실한 작업에 지나치게 오래 매달리면 독립 개발의 대가는 더 커진다. 도전할 가치는 있지만, 무엇을 만들지 신중히 고르고 성과가 없을 때는 일찍 접을 줄도 알아야 한다는 지적이다.
중요한 것은 용기만이 아니다. 출시 이후의 유지보수를 감당할 수 있는지, 외부 변화가 올 때까지 버틸 여력이 있는지, 이미 들인 시간 때문에 중단 시점을 놓치고 있지는 않은지 함께 따져야 한다. 독립 개발은 자유를 얻는 선택인 동시에 제품의 방향과 철수 시점까지 스스로 책임지는 일이다.
