本題に入る前にいろいろと定義をはっきりさせる。その定義を踏まえて、本エントリでは公開媒体をどう減らしたか?を話す。基本的には廃止と移行の話になる。
ここでの"アウトプット"の定義
自分はソフトウェアエンジニアなので、ソフトウェアエンジニアリング関する諸アウトプットのこと。具体的にはソースコード、勉強会やカンファレンスなどの登壇資料、(テクブ含む)ブログ記事、技術メモなどである。
ここでの"公開媒体"の定義
上記のアウトプットを公開する媒体のこと。例えばソースコードならGitHub*1。登壇資料ならSpeaker Deckやdocswell。ブログはならはてなブログやnote, Zenn, Qiita...と、上記のアウトプットを公開する媒体のこと。
なんで公開媒体を減らしたいか?
自分の場合、減らす前の公開媒体はこんな感じになっていた。
- ソースコードの公開媒体
- GitHub
- 登壇資料の公開媒体
- Speaker Deck
- ブログ
- 個人ブログ
- Zenn
- Qiita
- note
- しずかなインターネット
- はてなブログ
- 技術メモ
- 個人ブログ
- Zenn Scrap
- ポートフォリオ
- Firebase Hostingにデプロイした独自ページ
特にブログ周りは悲惨で、あちこちに記事が散らばっている。心理的(性格的?)にアウトプットがいろんなところに散らばっているのがすごく嫌だった。あれはここでこれはそっちで...みたいなコンテキストスイッチは無駄でしかない。集中すべきは「どういうアウトプットを出すか?」のはずだ。これらをできるだけ少ない媒体に集約して管理を簡単にしたい。
あと副作用として、スライドを見に来たけど関連記事にブログが出てきてそれも読んでもらえる、みたいなこともありそう。見にくる人も極力一箇所でカテゴリ分けされていた方が探しやすいはず*2。
というわけで最適化した。
最適化した後
GitHubとはてなブログの2つだけを使えばいいようにした。
- ソースコードの公開媒体
- 技術メモ
- ポートフォリオ
- GitHub*3
- 登壇資料の公開媒体
- ブログ
- はてなブログ
いくつかのポイント
現在公開されているアウトプットはそのままにして廃止する
これは既存のサービスを見に来てくれる人がいるからというのはもちろんある。けど1番大きな理由は転職サービス(主にFindy, Forkwell)のスコアに影響するからだ。当然スコアが高いほうがキャリア形成では有利に働くので、既存サービスはそのまま残している。移行済みなことはわかるようにプロフィールページはそれっぽくしている。

GitHub
「XのプロフィールページのリンクにGitHubのProfileページをドヤ顔で貼れないソフトウェアエンジニアはダメだ」と過去に誰かが言っていたのを最近ふと思い出した。なので、いろいろ整えた。
Gistにカンファレンス登壇履歴やOSSコントリビュート遍歴などを簡単にまとめて貼る。個人開発に関してはリポジトリをピン留めする。あとは草やコントリビュート対象の組織がOSSへの貢献度を語ってくれる。

これで独自のポートフォリオは廃止して、GitHubのプロフィールページがポートフォリオになるようにした。技術メモはGitHubのメニューから直移動できるGistに移行した。とりあえずGistにしてみたけど、技術メモっていうモノレポを作ってしまってもいいのかもしれない。ハンズオンした成果物はそこへ置き、メモはWikiに書けばいいので。実際競プロのメモに関しては既にそういう運用をしている。
でもprivateなメモは書けないか🤔
はてなブログ
まずなんではてなブログか?という話。1番大きな理由はいくつかのブログがあるなかで唯一課金してたのがはてなブログだから。要はお金払ってるんだから有効活用しないともったいないなと思ったことに端を発する。
あとはいくつものブログサービスを使ってみた結果、バズった時の影響が1番大きいのはやっぱりはてなブログだと思ったから。はてなブックマークはもちろんだけど、はてな公式の人気エントリまとめに載ったりするとすごく嬉しいし盛り上がってる感がある。
はてブは他の媒体でも載ることがあるけれど、ブコメをコントロールしたりできるのは、はてなブログで公開したエントリだけ。そういった面からソースコード以外は、はてなブログで公開するのは都合がいいと思っている。
それから記法的な面でもはてなブログは魅力的に感じている。脚注や数式をサポートしてくれてるのは大きい。ZennやQiitaもいいんだけど、こっちは自分自身の記事のカテゴリ分けがうまくできなかったり、技術記事以外をひとまとめに公開できないのでやっぱりはてなブログがいいかなと。
登壇資料の公開媒体をはてなブログにしようと思った話は長くなるので次節で書く。
登壇資料の公開媒体
インスパイアされたのは
id:zonu_exeさんのpixiv FANBOXの使い方。
FANBOXに登壇資料をPDFでアップして、当日の補足などを書いている。これを見て「これはてなブログでもスライドを画像に変換してアップしたら、ダウンロードとかしなくても見てもらえるし、いい感じじゃね?」と思った*4。ダウンロードせずに見れるようにしたいのは、共有資料って意外とスマホから見る人が多いと思っているから。ただまあスマホであれPCであれ、自分は縦スクロールの方がスライドは見やすいと思っている。
試しにやってみたのがこんな感じ。

これで1枚目をサムネイルにして、記事タイトルを「セッションタイトル - 登壇イベント」にすれば問題なさそう。それより問題なのはスライドをどうやって一括で画像に変換するかだった。
自分はスライドをGoogle Slideで作っている。Google Slideは選択したスライドを1枚ずつ画像にしてダウンロードはできるが、そんなのやってられない。ということでGASの出番である。
既に同じ問題を解決してくださっている方がいたので、これを参考にスライドテンプレートにGASを組み込んだ。あとは普通にテンプレートを複製して資料作成し、画像に変換してはてなブログにアップして終了である。これも副作用的に、SpeakerDeckのフォントが変になる問題や100ファイルまでしかアップロードできない問題の解決策になっている気がする*5。
おわり
Xも含めると以下のような導線になった。

めちゃくちゃシンプル。
*1:Cloud Source Repositories使ってますという人もいるかもしれない
*2:ブロガー界隈では「ひとつのブログのテーマはひとつ」というのがあるらしい。けど自分の周りの人たちのブログは技術メインでそれ以外の話を書いている人も多い。自分自身そういうブログのほうが好きなので、自分が好きなほうに倒している。
*3:Gistもここに含む
*4:Kanonさんは基本的にスライドの枚数は少なければ少ないほどいいと思っている。30分前後の登壇であれば2-30枚になることが多い。スライド全体でも10MB前後。iPhoneの写真1枚読み込むのとそう変わらないはず
*5:自分ははてなに課金してるけど、この使い方は非課金でもたぶん問題ないんじゃないだろうか? 画像のアップロード上限が月300MBなので、画像をいっぱいアプロードする場合は問題あるかも。