개발자 멘탈10 min

사이드 프로젝트 30개 시작하고 3개 완성한 이유

사이드 프로젝트 30개를 시작하고 3개만 완성하는 패턴은 ADHD인가 도파민 추구인가. Volkow(2009) 보상 회로 연구와 Kashdan & Silvia(2009) 호기심 연구로 풀고, 새 폴더를 줄이는 48시간 대기열 처방까지.

목차 (5)

2026년 4월 · GoCodeLab · 개발자 멘탈

사이드 프로젝트 30개 시작하고 3개 완성한 이유

본인 노션에는 언젠가 만들 앱 아이디어라는 페이지가 있다. 그 페이지 안에 다시 카드가 47장이 있다. 본인 노트북에는 side-projects/라는 폴더가 있고, 그 안에 30개가 넘는 폴더가 있다. 그중 본인이 출시까지 끝낸 건 3개다. 나머지 30개의 first commit은 다 새벽 2시쯤 찍혀있고, last commit은 평균 17일 뒤에 멈춰있다. 폴더 이름은 다 그럴듯하다. focus-timer, meal-log, retro-cli, kkulpot-v2, idea-board. 30개의 묘비. 묘비명은 다 같다. 처음 일주일은 진짜 재밌었음.

본인이 게으른가? 새 프로젝트 첫 주에 새벽 3시까지 코드를 짜는 사람을 게으르다고는 못 한다. 그러면 ADHD인가? 본인도 한동안 그렇게 의심했다. 자가진단 체크리스트 항목들이 다 본인 얘기 같았다. 결론부터 말하면, 본인은 그 구분에 너무 오래 매달렸다. 더 솔직히 말하면 그 구분 자체는 별로 의미가 없다. 의미 있는 건 본인이 어떤 환경에 들어가 있는가, 그것 하나다.

도파민 추구 vs ADHD — 구분하는 게 의미가 있을까

검색하면 자가진단이 나오고 본인은 다 해당된다. 시작은 잘 하는데 끝을 못 낸다, 새로운 것에 쉽게 빠진다, 지루한 작업을 견디기 힘들다. 본인은 이걸로 한참을 본인을 ADHD로 의심했다.

그러다 Volkow의 2009년 논문을 읽었다. Dopamine Deficiency in ADHD, PET 스캔으로 ADHD 환자들의 도파민 시스템을 들여다본 연구다. 결론은 본인 예상과 반대였다. ADHD 환자의 보상 회로 D2/D3 수용체 가용성은 정상군보다 낮았다. 도파민이 너무 많이 나와서 산만한 게 아니라, 도파민 신호가 약해서 더 강한 새 자극을 찾아다닌다는 얘기다. 본인은 이 부분에서 멈췄다.

그러니까 ADHD와 도파민 추구 패턴은 출발점이 반대인데 도착하는 행동이 같다. 둘 다 새 자극을 추구한다. ADHD는 신호가 약해서 더 큰 자극을 쫓고, 일반인의 도파민 추구는 환경이 자극을 너무 쉽게 줘서 학습된다. 둘 다 새 폴더 또 만들기로 출력된다.

본인이 한참 뒤에 받아들인 건 이거다. 둘은 깔끔하게 둘로 나뉘는 게 아니라 스펙트럼이다. 한쪽 끝에 임상적 ADHD가 있고, 다른 끝에 도파민 추구가 거의 없는 사람이 있다. 본인을 포함한 대부분의 인디는 그 사이 어딘가에 있다. 어디에 있느냐를 정하는 건 자가진단 체크리스트 한 장이 아니라, 본인 일상 기능에 명백한 손상이 있느냐다. 새 폴더를 30개 만든 건 손상이 아니다. 직장 잃고, 관계 다 끊기고, 일상이 안 굴러가는 게 손상이다. 30개의 묘비는 본인 환경의 출력일 뿐이다.

(물론 진짜로 임상 기준에 해당된다고 느끼면 그건 정신과 진료가 맞다. 본인이 진단해주는 글이 아니다. 다만 시작 30개 / 완성 3개 패턴 자체로 본인을 병리화하지 말자는 얘기다.)

새 폴더가 도파민을 터뜨리는 메커니즘

새로움(novelty)이 도파민을 터뜨린다는 건 신경과학에서 거의 합의된 사실이다. 새 환경, 새 음식, 새 짝짓기 상대에 강하게 반응하는 동물이 살아남았다. 도파민 시스템은 탐색에 보상을 주도록 진화했다. 정확히 말하면, 탐색하면 보상이 올 것 같다고 예측하게 만든다. 그 예측이 동물을 움직인다. 도파민은 도착의 화학물질이 아니라 추적의 화학물질이다.

이게 인디한테 어떻게 적용되는가. 본인이 새 폴더를 만들 때 터지는 도파민은 완성된 앱이 주는 게 아니다. 완성될 것 같은 예측이 주는 거다. 본인 머리는 mkdir new-thing 누른 뒤 5분 만에 그 앱이 출시된 미래를 본다. 트위터에 "이거 진짜 좋다"는 글이 올라오는 장면을 본다. 사용자 50명이 첫 결제하는 장면을 본다. 그 장면이 진짜로 보인다. 코드는 한 줄도 안 짰는데. 그 예측에서 도파민이 터진다. 그리고 도파민은 익숙한 자극에는 반응이 줄어든다. 그래서 3주차에 본인 코드베이스가 더 이상 새롭지 않게 느껴진다. 그때 마침 샤워에서 새 아이디어가 떠오른다. 회로가 닫힌다.

여기에 한 층이 더 있다. Kashdan과 Silvia가 2009년에 Handbook of Positive Psychology에 쓴 챕터 Curiosity and Interest: The Benefits of Thriving on Novelty and Challenge는 호기심을 행복의 부산물이 아니라 행복의 동력으로 정리한다. 새 자극을 적극적으로 추구하는 사람들이 평균적으로 주관적 안녕감이 더 높았다. 인생 만족도가 높았고, 의미 추구 점수도 높았다. 호기심은 결함이 아니다. 본인이 30개를 시작한 그 충동은, 동시에 본인을 살게 하는 회로의 일부이기도 하다.

이 두 사실을 같이 놓으면 본인이 보인다. 본인은 도파민 추적 동물이고, 추적이 본인을 살게 한다. 그 추적이 1인 개발이라는 환경을 만나서 새 폴더라는 출력으로 자꾸 새어 나간다. 회로 자체는 망가진 게 없다. 다만 출력 형태가 본인한테 비싸다.

솔직히 말하면, 가장 황당하게 갈아탄 순간

한 번은 본인이 만들던 앱의 출시 일주일 전이었다. 베타 테스터 12명 중 9명이 좋다고 했다. 출시 버튼만 누르면 됐다.

그날 새벽에 본인은 X 타임라인에서 누군가가 Cloudflare Workers + R2로 만든 토이 프로젝트를 봤다. 본인이 안 써본 스택이었다. 30분 동안 그 사람 GitHub을 읽었다. 그리고 본인은 새 폴더를 만들었다. worker-storage-toy. 출시 일주일 전이던 본인 앱은 그 새벽에 일주일 미뤄졌다. 그리고 그 일주일이 두 달이 됐다. 본인이 Cloudflare Workers를 배워서 본인 앱에 통합하려 했기 때문이다. 통합 안 됐다. 본인 앱의 stack이랑 안 맞았다. 두 달 뒤 본인은 worker-storage-toy도 버리고, 원래 앱으로 돌아와서 출시했다.

창피하지만, 그게 Cloudflare가 좋아 보여서 한 행동이 아니라 본인 앱의 출시 직전 도파민이 식어서 한 행동이었다는 걸 한참 뒤에야 알았다. 출시 직전이 도파민이 가장 식는 시점이다. 거의 다 했고, 새로움도 다 빠졌고, 남은 건 디버깅과 스토어 메타데이터다. 그때 본인 뇌는 새 자극을 내놓으라고 한다. 마침 X 타임라인이 그걸 줬다. 본인은 본인 앱을 배신한 게 아니라, 본인 도파민 시스템에 끌려간 거였다. 두 달이 사라졌다. 사용자한테는 0원짜리, 본인한테는 두 달짜리.

그래도 30개가 전부 손해는 아니다

여기까지 적으면 30개가 통째로 낭비처럼 들린다. 한 가지 빼먹으면 안 되는 게 있다.

강화학습에 exploration vs exploitation 트레이드오프라는 개념이 있다. 새로운 선택지를 탐색할 것인가, 이미 좋은 줄 아는 선택지를 착취할 것인가. 둘 다 필요하다. 탐색만 하면 한 번도 결과를 못 거둔다. 착취만 하면 더 좋은 게 있어도 못 만난다. 최적은 둘을 섞는 거다.

본인의 30개 묘비는 탐색 비용이다. 그중 한 폴더에서 본인은 SwiftData를 처음 써봤다. 다른 한 폴더에서 PostHog 무료 티어를 알았다. 다른 한 폴더에서 본인이 결국 메인 프로젝트에 박아 넣은 컴포넌트 라이브러리를 만났다. 그 폴더들이 그 자체로 출시되진 않았지만, 그 폴더들이 본인이 완성한 3개에 들어간 부품을 조용히 만들고 있었다.

Kashdan & Silvia가 호기심을 psychological resource라고 부른 이유가 이거다. 호기심은 단발 비용처럼 보이지만, 평생에 걸쳐 본인이 꺼내 쓸 수 있는 재고를 쌓는다. 30개의 묘비는 본인의 재고 창고다. 그 창고에 들어간 부품들이 31번째 프로젝트를 더 빨리 끝낼 가능성을 만든다. 본인이 30개를 한 게 아니라 30개가 본인을 만들었다.

다만 이걸 면죄부로 쓰면 안 된다. 30개를 재고로 만들려면 적어도 본인이 어디서 멈췄는지, 뭘 배웠는지 한 줄이라도 적어둬야 한다. 본인은 그걸 자주 안 했다. 그래서 30개 중 절반은 그냥 사라진 두 달들이고, 절반만 재고가 됐다. 그 절반이 본인이 출시한 3개를 만들었다. 다음 30개는 전부 재고가 되도록 짧게라도 적어두는 게 본인이 할 수 있는 하나의 개선이다.

실용 전략: 신규 아이디어 48시간 대기열

처방 하나만 적는다. 의지는 도파민을 못 이긴다. 환경을 바꿔야 한다.

규칙은 단순하다. 새 아이디어가 떠오르면 48시간 동안 메모장에만 적는다. mkdir을 안 누른다. 도메인 검색도 안 한다. GitHub 레포도 안 만든다. 이름, 한 줄 설명, 왜 좋다고 생각했는지만 적고 닫는다. 48시간 뒤에 다시 연다.

24시간이 아니라 48시간인 이유. 24시간이면 새 자극의 도파민이 살짝만 식는다. 48시간이면 충분히 식어서 본인이 맨정신으로 그 메모를 본다. 본인 경험상 이 차이가 크다. 어떤 메모는 24시간 뒤엔 아직 매력적인데, 48시간 뒤엔 평범해진다. 평범해진 메모를 시작하지 않은 게 본인 시간의 큰 절약이었다. 본인 메모장의 95%가 48시간 뒤에 평범해진다. 살아남는 5%가 본인의 진짜 후보다.

여기에 작은 규칙 하나를 같이 깐다. 현재 프로젝트에 novelty를 인위 주입한다. 컴포넌트 하나를 새 라이브러리로 다시 짠다. 작은 endpoint 하나에 안 써본 도구를 넣는다. 현재 프로젝트의 한 구석에서 한다. 새 폴더는 만들지 않는다. 새 폴더는 매몰비용을 0으로 리셋한다. 그게 도파민 자판기다. 새 라이브러리는 도파민만 주고 매몰비용은 유지한다. 본인 뇌가 탐색했다고 받아들이고, 본인 프로젝트는 안 죽는다.

마지막 한 줄. 본인은 여전히 새 폴더 만들고 싶다. 이 글을 쓰는 지금도 머리에 새 사이드 프로젝트 두 개가 떠다닌다. 그게 사라지지는 않는다. 본인이 인디로 사는 한 그 회로는 계속 켜져있다. 다만 요즘은 그 두 개를 언젠가 만들 앱 아이디어 페이지에 적었다. 48시간 뒤에 다시 본다. 시시해지면 묘비가 한 개 줄고, 안 시시해지면 진짜 후보가 한 개 늘어난다. 30개의 묘비는 본인이 망가진 흔적이 아니라 본인 환경의 출력이었다. 환경을 바꾸면 출력이 바뀐다. 그게 31번째가 완성된 4번째가 되는 길이다.

참고 문헌
  • Volkow, N. D., Wang, G. J., Kollins, S. H., Wigal, T. L., Newcorn, J. H., Telang, F., Fowler, J. S., Goldstein, R. Z., Klein, N., Logan, J., Wong, C., & Swanson, J. M. (2009). Evaluating dopamine reward pathway in ADHD: Clinical implications. JAMA, 302(10), 1084–1091.
  • Kashdan, T. B., & Silvia, P. J. (2009). Curiosity and interest: The benefits of thriving on novelty and challenge. In S. J. Lopez & C. R. Snyder (Eds.), Oxford Handbook of Positive Psychology (2nd ed., pp. 367–374). Oxford University Press.

이 글은 2026년 4월 기준이다. 인용한 연구는 시간이 지나도 변하지 않지만, 본인의 해석은 더 나은 데이터로 바뀔 수 있다.

공유하기
XLinkedInFacebook