54P by neo 5달전 | favorite | 댓글 10개
  • 1인 개발자로서 가장 어려운 점 중 하나는 동기 부여를 유지하는 것
  • 개인적으로 동기 부여를 해킹하는 방법, 효과가 있는 것과 그렇지 않은 것에 대해 일기를 써왔는데 그 중 잘 동작한 것들을 소개

외부 소스를 동기 부여로 전환하기

  • 외부 소스에서 동기를 얻는 시스템을 구축함
    • 예: 구독자가 생길 때마다 알림을 받는 시스템
  • 나는 푸시 알림을 싫어하지만, 이것들은 내 홈 화면에 바로 팝업됨
    • 매번 작은 동기 부여가 솟구침
    • 약간의 쾌락 트레드밀 효과가 있음. 처음에는 새로운 구독자 한 명이 엄청난 도파민/에너지의 충격이었고, 시간이 지나면서 그것이 줄어들었지만 여전히 나를 채워줌
  • 비슷한 맥락에서, 누군가 내 서비스(Chessbook)를 언급할 때마다 알려주는 서비스에 가입했음 ( Syften )
    • 소셜에서의 참여가 많은 도움이 될 수 있기 때문에 마케팅에도 동시에 유용하지만, 사람들이 내가 만든 것에 대해 (바라건대 긍정적으로) 이야기하는 것을 볼 때마다 동기 부여도 됨
  • 디스코드엔 #pump-up 채널도 있는데, 여기에는 달성한 마일스톤들의 피드가 있음
    • $X MRR, 2,000명의 디스코드 사용자, 6% 미만의 이탈률 등 동기 부여가 되는 것들

작업을 미완성 상태로 남겨두기

  • 작업을 90% 정도 완료한 상태로 남겨두기
  • 작업을 마무리하는 것보다 약간 아쉬운 느낌이 들지만 다음 날 작업을 시작하기가 10배는 더 쉬워짐
  • 다음 날 시작할 때 빠르게 성취감을 얻을 수 있음
  • 단지 git 커밋만 실행하는 것 만으로는 충분하지 않음. 해야 할 일을 정확히 알고 있는 상황에서 5~10분 정도 걸리는 것이 가장 이상적

내가 만든 제품을 최대한 많이 사용하기

  • 직접 사용하면서 문제점을 발견하고 즉시 수정함
  • 버그 리포트로 받은 것보다 직접 경험한 불편함이 훨씬 더 크게 느껴져서 바로 고치게 됨
  • 사람들이 원할 만한 것을 생각하는 것보다 내가 직접 원하는 것을 깨닫는 것이 훨씬 더 좋은 제품 아이디어를 줌

고통을 해결하는 것이 고통을 견디는 것보다 나음

  • 항상 힘든 부분들이 있음. 코드베이스의 방치된 영역, 서드파티와의 거래, 네이티브 앱의 새 버전 출시 등. 작업의 일부로 이런 것들을 처리해야 한다는 걸 알면 시작하기가 훨씬 더 어려워질 수 있음
  • 좋은 방법은, 그 고통을 덜어주는 방법을 찾아서 덜 고통스럽게 만들 수 있다는 것임
    • 예를 들어, 최근에 4개 이상의 새 엔드포인트가 필요해서 새 작업을 시작하는 데 많이 힘들었음. 백엔드에서 타입을 작성하고, 프론트엔드에서 동일한 타입을 작성하고, 페이로드가 올바른지 확인하고, 경로가 올바른지 확인해야 했고, 아무것도 타입 검사를 하지 않아서 보통 처음에는 작동하지 않음
    • 그래서 시작하기 전에 RSPC라는 RPC 라이브러리를 찾았는데, 이것은 타입을 생성해주고 백엔드 함수를 작성하고 호출하는 것을 프론트엔드에서 다른 비동기 프론트엔드 함수를 호출하는 것만큼 쉽고 안전하게 만들어 줌
    • 이것은 고통을 제거할 뿐만 아니라 새로운 시스템을 사용하는 것에 대해 적극적으로 흥분하게 만들었음. 마찰의 원천을 동기 부여의 증폭제로 전환시킨 것임
  • 큰 회사에서 일했다면 일상적인 개발의 고통을 해결할 수 없어서 이것은 잊기 쉬움. 아마도 이런 것들을 해결하려고 하는 것이 무의미하다는 감각을 얻었을 것임. 마감일을 맞추거나, 사람들로부터 승인을 받거나, 시도하기 전에 기술 문서를 작성해야 함
    • 원하는 것은 무엇이든 고치고 개선할 수 있다는 것이 솔로 개발자가 되는 가장 큰 장점 중 하나이므로, 언제든 그것을 활용할 수 있다는 것을 상기시켜야 함

아무것도 하지 않기

  • 트위터/유튜브/레딧등에 빠지는 일이 잦음
  • 여기에서 벗어나는 가장 좋은 방법은 두 단계로 하는 것
    • 먼저 Reddit 등에서 아무것도 하지 않는 상태로 가고, 그 다음 작업을 시작함
    • Reddit에서 바로 집중해서 일하는 것은 매우 어렵지만, 아무것도 하지 않는 것은 훨씬 쉬움
    • 결국 뇌가 진정되면 코드를 작성하기 시작하는 것이 그렇게 어렵게 느껴지지 않음
  • 정말로 아무것도 하지 않는 것을 의미함
    • 그냥 화면 앞에 몇 분 동안 앉아 있으면, 마치 마법처럼 소비에 휘말린 도파민 과잉 상태의 안개가 걷히고 다시 창작과 문제 해결에 흥분할 수 있게 됨
  • 그러면 뇌가 진정되고 다시 작업에 집중할 수 있게 됨

사용자에게 업데이트 제공하기

  • 사용자에게 업데이트를 제공하면서 자신이 이룬 성과를 돌아봄
  • 월말에 성과를 기록하며 동기 부여를 얻음

파트너 찾기

  • 제목과 모순되어 보일 수 있지만, 나는 단지 솔로 "개발자"라고 말했을 뿐임
  • 제품/디자인/카피 등 모든 면에서 훨씬 뛰어난 파트너가 있음
  • 파트너가 있는 것의 모든 이점을 나열하지는 않겠지만, 이제 그들이 필수적이라고 믿음
    • 앞으로의 프로젝트에서는 문제에 대해 같은 생각을 가지면서도 나의 기술을 보완해줄 수 있는 파트너를 찾을 것임
    • 이는 밤낮의 차이임
  • 여기서 동기 부여 부분은 주로 책임감과 관련이 있음
    • 사람들이 헬스장 파트너를 두는 것과 같은 이유임. 그냥 당신이 나타나기를 기대하는 사람이 있다는 것 자체가 강력할 수 있음
    • 또한 주간 회의를 하는데 할 말이 없다는 것을 알게 된다면, 아마도 충분히 하지 않고 있는 것이고 이는 두드러진 알림임
  • 다른 부분은 당신의 동기와 파트너의 동기가 오르내릴 것이고, 그것이 같은 속도로 일어나지는 않을 것이라는 점임
    • 당신이 그렇지 않을 때, 여전히 프로젝트에 대해 동기 부여가 되어 있는 다른 사람이 있는 것이 매우 도움됨

'제로 데이' 피하기

  • 아무것도 하지 않는 날이 있으면, "제로 데이"를 보내고 있다는 잔존하는 죄책감이 있음
    • 이것은 내가 하고 있는 활동을 완전히 즐기는 것을 방해함
    • 내가 하고 있는 것을 즐길 수 있는 허락을 내 자신에게 주려고 노력해봤지만, 그냥 효과가 없음
    • 겉으로는 휴식을 취하고 재충전하는 것 같지만, 전혀 그렇게 느껴지지 않음. 그냥 견디는 것처럼 느껴짐
    • 이것은 부정적인 피드백 루프로 이어질 수 있음. 계속해서 재충전하려고 하지만, 그냥 더 피곤해질 뿐임
  • 발견한 유일한 방법은 먼저 좋은 작업을 하는 것임
    • 그러면 내가 뛰어드는 재미있는 태만한 활동에 완전히 몰두할 수 있음

동기가 있을 때 사용하기

  • 때로는 문제에 대해 생각하면서 잠자리에 들 때가 있는데, 그때 해결책을 깨닫는 순간에 동기 부여가 됨
    • 적어두고 아침에 하는 것도 가능하지만, 대부분은 그냥 일어나서 새벽 4시까지 작업함
  • 이것도 솔로 개발자가 되는 것의 큰 장점 중 하나임
    • 오전 9시에 슬랙에서 대기할 필요가 없기 때문에 한밤중이라도 동기 부여가 찾아올 때 사용할 수 있음
  • 이것은 아마도 일반화되지는 않겠지만, 다시 말하지만 이것은 조언이라기보다는 블로그 포스트로 각색된 일기장 항목에 더 가까움
    • 나는 날씨에 상관없이 매일 9시부터 5시까지 일하도록 나 자신을 강요하는 것보다, 몰입 상태의 작업 기회를 극대화하려고 노력하는 좀 더 느슨한 접근 방식으로 항상 더 잘해왔음

다양한 사이드 프로젝트에 대한 동기만 있고 실행은 잘 못하곤 하는데, 이런 방식을 적용 해 보아야겠네요.

누군가 내 서비스(Chessbook)를 언급할 때마다 알려주는 서비스가 뭘까요? 궁금하네요

저도 뭐 쓰는지 궁금하네요, 비슷한 서비스들이 여러개 있을거 같긴한데.

해커뉴스 댓글에서 해당글 저자가 https://syften.com/ 쓴다고 하네요.
https://kwatch.io/ 같은 것도 있고요.

오오 감사합니다!

syften는 써보고 있는데 굉장히 좋네요.
카드 등록 없이 무료 14일 쓰는데, 중간중간 Tip이 되는 메일도 생각보다 유용하고요

Hacker News 의견
  • 집중력과 동기부여 문제: 집중력과 동기부여에 어려움을 겪는 사람들은 그렇지 않은 사람들과 대화할 때 어려움을 겪음. 이는 뇌 화학과 관련이 있어 서로의 입장을 이해하기 어려움.

  • 미완성 작업: 실패한 테스트를 남겨두면 다음 날 바로 작업에 착수할 수 있어 시간 낭비를 줄일 수 있음. 이는 미완성 기능보다 명확한 시작점을 제공함.

  • 솔로 개발자 경험: 혼자 개발하다가 팀을 꾸리게 되었음. '제로 데이'에 대한 죄책감을 느끼지 말아야 하며, 고객의 피드백이 큰 동기부여가 됨.

  • 동기부여에 의존하지 않기: 동기부여 없이도 일을 할 수 있음. 행동이 동기부여를 이끌어내며, 동기부여가 행동을 선행하지 않음.

  • 고기술 스키너 박스: Reddit, Twitter, YouTube 등에서 벗어나기 위해 '아무것도 하지 않기'를 시도함. 이는 뇌를 진정시키고 창의적 문제 해결을 다시 시작하게 함.

  • '제로 데이'의 죄책감: 아무것도 하지 않는 날에 대한 죄책감을 느끼지 않도록 자신을 친절하게 대하는 것이 중요함. 이는 번아웃을 예방함.

  • 고통 해결: 고통을 해결하는 도구를 만드는 것이 더 재미있음. 개인의 워크플로우를 개선하는 일을 직업으로 삼고 싶음.

  • 심리학 연구 가능성: '아무것도 하지 않기'에서 '일하기'로 전환하는 방법이 심리학 연구의 중요한 주제가 될 수 있음.

  • 동기부여 메시지: 구독자가 생길 때마다 알림을 받는 것이 동기부여가 될 수 있음. 이는 이미 동기부여된 사람들에게 더 큰 영향을 미침.

  • IRC 보상 경험: IRC VPN을 판매할 때 새로운 고객이 생기면 내부 채널에 자동 알림이 뜨는 것이 매우 보람찼음.

외부소스 동기부여는 저도 사용하는데 아주 잘 동작합니다.
긱뉴스의 신규 가입자, 슬랙봇 설치, 위클리 구독에 대해서 알림을 받고 있고, 특정 마일스톤에 도달할때마다 페이스북 등 통해서 얘기를 하는데 동기부여에 아주 유용하네요.

사용자에게 업데이트 제공하기도 종종 해야하는데, 채널이 마땅하지 않네요 ㅎㅎ

저도 그래요. 정말 초기엔 방문자도 webhook으로 slack에 연결해두고, 방문자가 늘어나면, 가입자, 가입자가 들어나면 구매자로 옮겨요.

동기부여를 계속 해주는 게 정말 중요한 것 같습니다. 아무리 간단한 사이드 프로젝트라도 우선 내가 하고 싶게 계속 유지하는 게 필요하더라구요.