- ソロ開発者として最も難しいことのひとつは、モチベーションを維持すること
- 個人的に、モチベーションをハックする方法や、効果があったものとなかったものについて日記を書いてきたが、その中でうまく機能したものを紹介する
外部ソースをモチベーションに変える
- 外部ソースからやる気を得る仕組みを構築した
- 私はプッシュ通知が嫌いだが、これらはホーム画面に直接ポップアップする
- 毎回ちょっとしたモチベーションが湧く
- 多少の快楽トレッドミル効果はある。最初は新しい購読者1人が途方もないドーパミン/エネルギーの刺激だったが、時間が経つにつれてそれは弱まった。それでもなお私を満たしてくれる
- 同じ文脈で、誰かが私のサービス(Chessbook)に言及するたびに知らせてくれるサービスにも登録した(Syften)
- ソーシャルでの反応はマーケティング面でも役立つので有用だが、それと同時に、人々が私の作ったものについて(願わくば好意的に)話しているのを見るたびにモチベーションにもなる
- Discord には
#pump-up チャンネルもあり、そこには達成したマイルストーンのフィードが流れている
- $X MRR、2,000人のDiscordユーザー、6%未満の解約率など、やる気を高めてくれるものが並ぶ
作業を未完成のまま残す
- 作業を90%ほど完了した状態で残しておく
- 作業をきっちり終えないぶん少し物足りなく感じるが、翌日に作業を始めるのは10倍楽になる
- 翌日始めるときに、すぐ達成感を得られる
- 単に git commit だけして終えるのでは不十分。次に何をすべきかを正確に把握した状態で、5〜10分ほどで終わる内容にしておくのが理想的
自分で作った製品をできるだけ多く使う
- 自分で使いながら問題点を見つけ、すぐ修正する
- バグレポートで受け取るものより、自分で体験した不便さのほうがはるかに強く感じられるので、すぐ直したくなる
- 人々が欲しがりそうなものを想像するより、自分自身が何を欲しているかに気づくほうが、ずっと良い製品アイデアにつながる
苦痛に耐えるより、苦痛を解消するほうがよい
- いつでもつらい部分はある。コードベースで放置された領域、サードパーティとのやり取り、ネイティブアプリの新バージョンのリリースなどだ。作業の一部としてこうしたものに対処しなければならないと分かっていると、着手すること自体がずっと難しくなる
- 良い方法は、その苦痛を和らげる方法を見つけて、実際に苦痛を減らすことだ
- たとえば最近、4つ以上の新しいエンドポイントが必要になり、新しい作業に取りかかるのがかなりしんどかった。バックエンドで型を書き、フロントエンドで同じ型を書き、ペイロードが正しいか確認し、パスが正しいか確認しなければならず、しかも何も型チェックしていないので、たいてい最初は動かない
- そこで着手前に RSPC という RPC ライブラリを見つけた。これは型を生成してくれて、バックエンド関数を書くことも呼び出すことも、フロントエンドで別の非同期関数を呼ぶのと同じくらい簡単かつ安全にしてくれる
- これは苦痛を取り除くだけでなく、新しいシステムを使うこと自体に前向きな興奮を与えてくれた。摩擦の原因を、モチベーションを増幅するものへ変えたわけだ
- 大きな会社で働いていたら、日常的な開発の苦痛を解消することができず、こうした発想を忘れがちになる。おそらく、こういう問題を解決しようとすること自体が無意味だという感覚を持ってしまっているだろう。締め切りに合わせたり、人から承認を得たり、試す前に技術文書を書いたりしなければならないからだ
- 自分の望むものを何でも修正・改善できることは、ソロ開発者であることの最大の利点のひとつなので、いつでもそれを活用できると自分に思い出させるべきだ
何もしない
- Twitter / YouTube / Reddit などにハマってしまうことがよくある
- そこから抜け出す最良の方法は、2段階でやること
- まず Reddit などから「何もしない」状態に移り、そのあとで作業を始める
- Reddit からいきなり集中して仕事をするのはとても難しいが、何もしないことならずっと簡単だ
- やがて脳が落ち着けば、コードを書き始めることもそれほど難しく感じなくなる
- 本当に何もしないという意味だ
- ただ画面の前に数分座っているだけで、まるで魔法のように、消費に巻き込まれてドーパミン過多になった霧が晴れ、再び創作や問題解決にワクワクできるようになる
- そうすると脳が落ち着き、再び作業に集中できるようになる
ユーザーにアップデートを届ける
- ユーザーにアップデートを届けながら、自分が成し遂げたことを振り返る
- 月末に成果を記録しながらモチベーションを得る
パートナーを見つける
- タイトルと矛盾しているように見えるかもしれないが、私は単にソロ「開発者」と言っただけだ
- 製品、デザイン、コピーなど、あらゆる面で自分よりはるかに優れたパートナーがいる
- パートナーを持つことの利点をすべて列挙するつもりはないが、今では彼らが不可欠だと信じている
- 今後のプロジェクトでは、問題に対して同じ考え方を持ちつつ、自分の技術を補完してくれるパートナーを探すつもりだ
- その差はまさに雲泥の差だ
- ここでのモチベーションの話は、主に責任感に関係している
- 人がジムのパートナーを持つのと同じ理由だ。ただ自分が現れることを期待している人がいる、それだけで強い力になる
- また、週次ミーティングもしているが、話すことが何もないと気づいたなら、おそらく十分にできていないということであり、それは目立つリマインダーになる
- もうひとつは、自分のモチベーションとパートナーのモチベーションは上下し、そのタイミングは同じではないということだ
- 自分にやる気がないときでも、なおプロジェクトにモチベーションを持っている別の誰かがいるのは大きな助けになる
「ゼロデイ」を避ける
- 何もしない日があると、「ゼロデイ」を過ごしているという後ろめたさが残る
- それは、自分がしている活動を心から楽しむことを妨げる
- 自分がしていることを楽しんでよいと自分に許可を与えようと努力してみたが、まったく効果がなかった
- 表向きは休んで回復しているようでも、まったくそんな感じはしない。ただ耐えているだけに感じる
- これは負のフィードバックループにつながりうる。何度も回復しようとするのに、ただますます疲れていくだけだ
- 唯一見つけた方法は、まずしっかり仕事をすることだ
- そうすれば、そのあとに飛び込む楽しい怠惰な活動にも完全に没頭できる
やる気があるときに使う
- ときどき、問題について考えながら床に就くことがあり、そのとき解決策に気づいた瞬間にモチベーションが湧く
- 書き留めて朝にやることもできるが、たいていはそのまま起きて午前4時まで作業する
- これもまた、ソロ開発者であることの大きな利点のひとつだ
- 午前9時に Slack で待機している必要がないので、真夜中でもモチベーションが来たときに活用できる
- これはたぶん一般化できる話ではないが、繰り返しになるものの、これは助言というより、日記の項目をブログ記事に仕立てたものに近い
- 私は昔から、天気に関係なく毎日9時から5時まで働くよう自分を無理に縛るより、フロー状態で働ける機会を最大化しようとする、もう少し緩やかなアプローチのほうがうまくいっていた
10件のコメント
さまざまなサイドプロジェクトへのやる気はあっても、なかなか実行に移せないことが多いので、このやり方を試してみるべきですね。
モチベーションを維持し続けることは本当に重要だと思います。どれだけ簡単なサイドプロジェクトでも、まずは自分がやりたいと思い続けられる状態を保つことが必要なんですよね。
誰かが私のサービス(Chessbook)に言及するたびに知らせてくれるサービスって何でしょうか? 気になります
私も何を使っているのか気になりますね。似たようなサービスがいくつもありそうですが。
Hacker Newsのコメントによると、その記事の著者は https://syften.com/ を使っているそうです。
https://kwatch.io/ のようなものもあります。
おお、ありがとうございます!
syftenは使ってみていますが、とても良いですね。
カード登録なしで14日間無料で使えて、途中で届くTipになるメールも思ったより役に立ちます。
外部要因によるモチベーションは私も使っていますが、とてもうまく機能します。
GeekNewsの新規登録者、Slackボットのインストール、ウィークリー購読について通知を受け取っていて、特定のマイルストーンに到達するたびにFacebookなどを通じて話をするのですが、モチベーション維持にとても役立ちます。
ユーザーにアップデートを提供することも時々必要ですが、ちょうどいいチャネルがないですね(笑)
私もそうです。本当に初期のころは訪問者も webhook で Slack に連携しておいて、訪問者が増えたら登録者、登録者が増えたら購入者へと移していきます。
Hacker Newsの意見
集中力とモチベーションの問題: 集中力やモチベーションに悩む人は、そうでない人と話すときに難しさを感じる。これは脳内化学に関係しており、お互いの立場を理解しにくい。
未完了の作業: テストを失敗した状態のまま残しておくと、翌日にすぐ作業に取りかかれ、時間の無駄を減らせる。これは未完成の機能よりも明確な出発点を与えてくれる。
ソロ開発者としての経験: 一人で開発していたが、やがてチームを作ることになった。"ゼロデイ"に罪悪感を抱くべきではなく、顧客からのフィードバックが大きなモチベーションになる。
モチベーションに頼らないこと: モチベーションがなくても仕事はできる。行動がモチベーションを生み出すのであって、モチベーションが行動に先行するわけではない。
ハイテク版スキナーボックス: Reddit、Twitter、YouTube などから離れるために、"何もしない"ことを試している。これは脳を落ち着かせ、創造的な問題解決を再び始めさせてくれる。
"ゼロデイ"への罪悪感: 何もしない日に罪悪感を抱かないよう、自分に優しく接することが重要だ。これはバーンアウトの予防につながる。
苦痛の解決: 苦痛を解決するツールを作るほうがより面白い。自分のワークフローを改善することを仕事にしたい。
心理学研究の可能性: "何もしない"状態から"働く"状態へ切り替える方法は、心理学研究の重要なテーマになり得る。
モチベーションを高めるメッセージ: 購読者が増えるたびに通知を受け取ることが、モチベーションになる場合がある。これはすでにやる気のある人により大きく作用する。
IRCでの報酬体験: IRC VPN を販売していたとき、新しい顧客が生まれるたびに内部チャンネルへ自動通知が流れるのが非常にやりがいになっていた。