2024年8月6日
前回はアウトプットのためのお題選びに際して、巷のエンジニアがよく選びがちな TODO アプリについてお話させていただきました。
いったん TODO アプリを開発するという方法をひとつ確立してしまえば、今後 UI ライブラリや ORM などデータベースライブラリ、HTTP クライアントなどを見付けた際に、いちからお題を検討することなく開発を始められ、なおかつTODO アプリの特性上、見つけたライブラリ等を試すのにおおよそ必要な最低限の機能を実装できるというメリットがあることについても解説させていただきました。
今回は連載最終回。実際にやったことをブログに書いてアピールする方法についてです。
一見、単なるまとめ作業のように見えるのですが、この最終工程にはとても大きな意味があり、今後の自らの開発体験をうまく運営していくことができるようになります。
狭義では、本などで知識を得る事を「インプット」、そしてブログを書くことが「アウトプット」などと表現されますが、本来「アウトプット」とはより総合的な活動を指しています。事前に情報収集を行い、テーマを決定し、必要であれば知識を習得、実際に成果物を作成して、その結果を SNS やブログとして残す、という一連の流れを総合的に「アウトプット活動」と呼びます。
ですので「最近アウトプットできていない」という言葉には、こういった一連の「アウトプット活動」ができていないという意味が込められています。
ただ、本記事では、この一連の「アウトプット活動」の中の最終工程である、「何かの成果物をつくり出した際にそれを紹介すること」を「アウトプット」と称して解説していきたいと思います。
アウトプットにつながるモチベーションはいろいろあります。それを紹介すると良いでしょう。その際に気を付けなければならないのが、それを作るに至ったモチベーションを紹介する事です。
いずれも素晴らしい活動なので、アウトプットの際は紹介すると良いでしょう。
例えば前回でご紹介した「新しいライブラリを見つけたので TODO アプリをつくって試してみた」というメソッドがあれば、それを伝えるべきです。
新しいライブラリを探しているような人達は、おそらく過去に一度は他のライブラリを使っていた人達です。以前使っていたライブラリと比べて、今回使ったライブラリはどうだったのか、どのようなメリットがあり、またどのようなデメリットがありそうか、という点が述べられていると良いと思います。
以下のような情報公開がこれに相当します。
例:Go と prisma と lit-html と ky で作るモダンな TODO アプリ
このような情報を公開することで、今後そのライブラリを試したい人、以前まで使っていたライブラリを使っていた人、双方にメッセージを送る事ができます。
「私も今度これ試してみようかな」「同じライブラリで困っていた」などといった感想をもってくれるかもしれません。
次に良いライブラリを見つけて使ってみたはいいけど、TODO アプリをつくるまでに至らなかったパターンです。
まったく使い物にならないケースもありますし、あとちょっと改善すればとても良いのにと思うケースもあります。後者であればパッチを書くこともできます。
パッチといっても小難しいイメージがありますが、実際はそんなことはありません。
このように自分でできることをするだけです。みなさんが修正したことによる恩恵はみなさんひとりだけの物ではありません。そのソフトウェアを使う全員に恩恵があります。これが OSS の良い所です。もしかしたら「私には直せないけど、画面に表示されているメッセージの誤記が以前から気になって仕方なかった。ありがとう」と思っている人もいるかもしれません。
OSS にパッチを送る活動は、一見すると地味ではありますが、効果はその数倍あります。OSS を使っているユーザーは全世界に沢山いますが、OSS の修正履歴を日々確認しているユーザーは稀です。貴方が改善した内容が取り入れられたことを知る人は殆どいません。
ぜひブログや SNS 等を通じて多くの人に知らせてあげて下さい。
以前、「そのソフトウェアを試したけれどバグがあったから使うのをやめた」という人たちにその声が届けば、またユーザー数が増えるかもしれません。
開発者のみなさんであれば、OSS を業務で使っているかもしれません。開発しているシステムが利用するライブラリは、可能な限り長期間、安定していてほしいものです。ただ残念ながら OSS はユーザーが居なくなると開発が継続されなくなります。OSS は、ユーザー数が安定しているからこそ、開発が継続され、第三者からのパッチが送られてくる、という上手い循環によって成り立っています。
みなさんが愛しているソフトウェアが今後、可能な限り廃れないようにするためには、ユーザーを増やすことが大事です。そしてユーザーを増やすためには、ソフトウェアの品質を高めることが大事です。そのためにユーザーとしてできることは、パッチを送ることです。誤記やバグを見つけたら、なるべくパッチを送る、パッチを書くのが難しいならせめて作者に伝える、という行動を起こすのが大事だと思っています。
「じゃあ私が開発したソフトウェアのユーザーが少ないのは、私のソフトウェアの品質が悪いということ?」と感じてしまうかもしれません。
品質が悪いわけではありません。単純に「誰の目にも留まっていない」からなのです。本来あぶり出されるべきバグもまだ見つかっていないのです。誰かの目に留まらないと、まず評価もされません。いくら良いソフトウェアを開発しても誰かに評価されないとユーザー数は増えません。そのためには宣伝が必要になります。
そのソフトウェアがいかに素晴らしいのか、安定しているのか、そういった内容をみんなに見える形にすることが大事なのです。
そのための SNS であり、そのためのブログなのです。よく宣伝に関してあまり良いイメージを持っていない人がいます。宣伝により得たユーザー数が実力ではないと思う人達のことです。
前述の様に、みなさんが開発したソフトウェアのユーザー数が少ないのは、誰もまだ評価していないからなのです(既にユーザー数の多いソフトウェアを開発されておられるみなさまのことではありません)。
宣伝が上手くいかず諦めてしまう人達もいます。そういった人達はおおよそ間違った宣伝方法をしてしまっています。
とりあえず X/Twitter で宣伝しておけば、興味ある人が拾ってくれるはず。そんな風に思っていないでしょうか。宣伝は、その情報を欲している人達がいる場所で行わないと効果がないのです。
一部のインプレッションのあるユーザーはそれでも構いません。しかしまだ誰にも注目されていないユーザーが、なるべく多くの人達に見て貰うには、コツが必要です。
皆さんは Reddit (レディット)をご存知でしょうか。Reddit は英語圏で活発なソーシャルニュースサイトです。各カテゴリが Sub Reddit (サブレディット)という単位のコミュニティを構成しています。例えば Vim に関する Sub Reddit は https://reddit.com/r/vim ですし、Go 言語に関する Sub Reddit は https://reddit.com/r/golang です。
この Sub Reddit を見ているユーザーは、Vim や Go に興味がある人達だという事です。Vim や Go に興味があり X/Twitter にいる人達は、X/Twitter で話題になった物しか見ません。一方で Sub Reddit では Vim や Go に興味のあるユーザーは必ず1回はリンクをクリックしてくれます。なぜなら、Vim や Go の話題を見るために Sub Reddit に来ているからです。
Sub Reddit で宣伝する場合、多くは外国人ユーザーからの反応があります。ですので GitHub リポジトリに置く README.md は英語で書くべきです。おそらく issue も英語で問い合わせが来ます。
さて、これまで「アウトプット活動」についてお話してきました。「アウトプット活動」とは纏めると以下のような活動であることを念頭に置いてください。
これらの活動に意味はあるのでしょうか。そしてこれは誰のためにやっているのでしょうか。
活動そのものは、実施しているみなさんのスキルアップのためですが、活動により副次効果が生まれます。
みなさんが自分のためと思ってやっていたアウトプット活動により、ほかの誰かが知識を得て、または励まされ、同様のアウトプット活動を始めるといったケースもあります。
筆者もこれまで「mattn さんのアレを見て私もやってみた」といった意見を沢山頂きました。みなさんが僕の記事に感化されると同時に、それで起こした行動によりまた僕が感化されているのです。
そしてもしアウトプットとして何かの成果物があるのならば、それはとても素晴らしいことです。ご自分だけでなくみなさんのコントリビュートによって沢山の人が救われます。僕はこの仕組みがとても好きです。今もなお OSS 活動やアウトプット活動を続けている理由のひとつがこれなのです。
計4回にわたり、アウトプット活動にまつわる筆者の体験談やセオリー等をお話させて頂きました。みなさんの今後のアウトプット活動に少しでもお役に立てられるなら嬉しい限りです。アウトプット活動には年齢制限もなければ、置かれている立場により制約される物もありません。楽しそうと感じたなら誰もが始めることができるのです。
そして本連載の中で何度も繰り返しお伝えしてきましたが、これはあくまで筆者が見つけた筆者なりのアウトプット手法です。みなさんにはみなさんなりのベストな方法があるはずです。ぜひみなさんなりのアウトプット手法を見つけて、よりよいアウトプットライフをお過ごしください。
関連記事
人気記事