omuriceman's blog

iOS / AWS / Firebase / JavaScript / Deep Learning を中心とした技術を面白く紹介します!

DDDの勉強にオススメ!な書籍とブログを聞いてきた@「レガシーをぶっつぶせ。現場でDDD!2nd 」参加レポート

2019年12月14日に開催された「レガシーをぶっつぶせ。現場でDDD! 」に参加してきました。今回で2回目の開催になるそうです。テーマが「インプット<アウトプット」と言うことで、ハンズオンが多めでした。

genbade-ddd.connpass.com

少し遅くなりましたが参加レポートとセミナー中に話題に上がったDDDの学習コンテンツをまとめましたので皆様のお役に少しでも立てれば幸いです。

イベント開催の経緯

イベントの冒頭に本イベントの開催経緯について安西剛さんよりお話がありました。

www.meti.go.jp

所謂レガシーシステムであったり、技術的負債などが2025年以降毎年12兆円の損失(東京オリンピック4回分!)を生み出すというレポートが発表されたそうです。それを回避するための設計方針の一つとしてDDDを普及していきたいとのこと。僕はそんなマクロなことは考えられず、まずは目の前の「場当たり的コードからの脱却」がしたいです。

①モデル・コードの変更が互いにどう表現されるか体験するためのハンズオン

最初に参加したのは BIGLOBEさんが主催するハンズオンです。6人1グループでお題に対してドメイン駆動なプログラミングをおこなっていきます。参加者自身はコードは一切書かずに付箋にモデルを書いていき、その内容を元にBIGLOBEのエンジニアさんがコードを書いていくと言う流れです。実装をしていくお題は「契約するSIMのプランに応じた月額料金を計算する」というものでした。

僕がいたグループは最初は簡単なところから初めて徐々に値オブジェクトっぽいものを定義したり、ドメインごとに責務を分けていくみたいな流れで進めていきました。この共同で付箋を使いながらビジネスロジックを考えていく作業というのがとにかく楽しい!普段の自分の業務では話し合いながらモデリングをしていくという経験が無かったので複数人で一つのものを作り上げていくコミュニケーションがとても有意義でした。そしてBIGLOBEさんは普段からこうやって話し合いながら設計を行なっているとのことで、めちゃめちゃいい組織感溢れてました。

  • DDDには語彙力が必要(ビジネスを適切な言葉に置き換える)
  • ドメインモデルに正解はない

コミュニケーションに関してはチーム内で意見が強い人とかもいる時もあるのでファシリテーションが重要だなと感じたり、そもそも人材採用が重要になりそうだなと感じたり。DDDを学びにきたらなんかそれ以外に大事なところがあるように思えました。

ハンズオンの詳細についてはビッグローブさんの記事をご覧ください。

style.biglobe.co.jp

ドメイン駆動設計の基本スキルを体験的に学ぶ~値オブジェクトの見つけ方・作り方・育て方

次に参加したのは増田 亨さん主催のハンズオンです。前のハンズオンと同様にグループごとに1人ドライバーがついて全員でお題についてプログラミングをしていくというものでした。今回のお題は「新幹線の運賃を計算する」というものです。前のハンズオンで脳が疲れ切ったこととお題の難易度が数倍難しくなったこともあって途中全然頭が回りませんでした!だけど学びが深い。

github.com

  • TDDとDDDは共存する
  • コミュニケーションでお互いの認識を合わせていく→ユビキタス言語

こちらのハンズオンでも先にテストコードを書いてあとから実装を進めていき、コードが通ったらより良いモデルにリファクタしていく流れでした。最近SNSなどでTDDとDDDは相互補完の関係ですよ。というような内容を見かけましたがそれを実感できるようなハンズオンでした。

話は変わりますが「ユビキタス言語」ってDDDのEric Evansさんが提唱した言葉なんですね。このイベントで初めて知りました。

DDD(ドメイン駆動設計)の学習を始めるには

二つのハンズオンが終わった後に、気になるお題でディスカッションをおこなうワークショップがありました。僕は「DDDで最近出たオススメの書籍」というグループに参加しました。その時のホワイトボードメモがこちら↓

f:id:omuriceman:20191229133255j:plain

最近出たオススメの書籍という内容だったのですが、結局(前から発売されていた)以下の3つの書籍がいいよね〜。という話に落ち着きました。お笑いBIG3感ありますね。

📚書籍

まずはエヴァンス本として有名な「エリック・エヴァンスのドメイン駆動設計」です。この本からいきなりDDDに入門するには難しいぞ!という口コミを聞いていましたがここでも同じ見解でした。ただ、「なぜDDDが必要なのか?」が本の冒頭に書かれているとのことで初心者でも読む価値がありそうです。

エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計

IDDD本で有名な「実践ドメイン駆動設計」という本も取り上げられていました。

実践ドメイン駆動設計 (Object Oriented SELECTION)

実践ドメイン駆動設計 (Object Oriented SELECTION)

増田さん本と呼ばれている「現場で役立つシステム設計の原則」という本も紹介されていました。この本は僕も持っており自分にとってかなり良書でした。BIGLOBEさんのハンズオン前に話ししていた時も「順番的にまずは増田さん本→エヴァンス本に進むのがいいかも!」という感じでしたので興味のある方は買ってみるといいですね!

✏️ブログ

次にDDDを学ぶ上でオススメのブログはあるか?という話題になりました。これから紹介するブログは、本よりライトにDDDを学ぶのにオススメだそうです。僕も普段から読んだことのあるブログばかりでしたがあらためてDDD業界の雰囲気を知れて良かったです。

松岡さん little-hands.hatenablog.com

ミノ駆動さん qiita.com

nrsさん nrslib.com

nrsさんですが、イベント時にDDD本がでるらしい!と話題に上がっていました。ブログもわかりやすいし早く買いたいです!

ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本

ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本

  • 作者:成瀬 允宣
  • 出版社/メーカー: 翔泳社
  • 発売日: 2020/02/13
  • メディア: 単行本(ソフトカバー)

まとめ

イベントを通じての所感になりますが、DDDには組織作りが重要だなと感じました。現在DDDを取り入れている人たちに聞いてみたところ、すでに会社や会社内の人でDDDにある程度理解がある人がいてそこから初めて行くというケースが多い印象でした。DDDに限らずですが直接的にコストで見えづらいものは組織によっては説得が難しいですよね。そう言った意味も踏まえて、組織で全くの0からDDDを初めていくというのは前途多難だな〜という印象です。とはいえ自分から始めることはできると思います。

  • 軽量なDDDから始める
  • 個人開発などで始める
  • 今後もDDDイベントに参加していく
  • DDDを広めるには(社内で)1人ファンを作る
  • コントロールできる組織内で始める

まず自分の影響がある範囲から初めていくのがいいのかなと思います。次回のイベントも楽しみにしております。

備考

今回参加した時に書いたグラフィックレコーディングとBIGLOBEさんのハンズオンで全チームのモデリングを写真に納めたので紹介します。

グラフィックレコーディング

それぞれのハンズオンやワークショップで聞いた内容をまとめたものです。全体的に汚い部分はご容赦ください。

f:id:omuriceman:20191229144407p:plain:w400

f:id:omuriceman:20191229144502p:plain:w400

f:id:omuriceman:20191229144540p:plain:w400

BIGLOBEさんハンズオンの各チームのモデリング

他のチームがどのようにモデリングしていくのか興味があって写真に納めたのですが、大筋似ていますね。

f:id:omuriceman:20191229144019j:plain:w400

f:id:omuriceman:20191229144034j:plain:w400

f:id:omuriceman:20191229144047j:plain:w400

f:id:omuriceman:20191229144100j:plain:w400

f:id:omuriceman:20191229144111j:plain:w400

f:id:omuriceman:20191229144127j:plain:w400

f:id:omuriceman:20191229144140j:plain:w400

f:id:omuriceman:20191229144153j:plain:w400

グラレコの作り方が知りたくて「もう1度振り返りたい☆LINE DEVELOPER DAY 2019」に参加した話

記事内容の要約

今回の記事、色々と話が脱線するので先に要点だけお伝えします。

  • グラレコの作り方を聞きたくてイベントに参加した
  • 聞きたかった内容と少し違ったけどイベントの発表も楽しめた
  • イベント終了間際にグラレコの話もしっかり聞かせてもらって感謝
  • 今回僕が書いたグラレコも恥ずかしいけど公開します

グラレコとは?

みなさん「グラレコ」ってご存知ですか?正式名称をグラフィックレコーディングと言い、Wikipediaなどではファシリテーション・グラフィックと紹介されておりまして、いくつかの呼び方が存在するようです。

意味合いとしては、会議やセミナーの発言内容などを文字だけでなくデザインや装飾などで見栄えよくして理解を促進させる手法のことを言うらしいです。

こちらはGoodpatchさんによるグラレコの紹介記事です。面白い! goodpatch.com

グラレコを知ったきっかけ

僕はEOF2019というエンジニアリングマネージャーのためのカンファレンスに参加した時に、あろえりーなさんという方のツイートを見て初めてグラレコの存在を知りました。

テスト駆動開発で有名な和田卓人さんが「品質とスピード」についてセミナーをしていて、僕もメモを取っていたのですが「絵と要点整理が上手い人がセミナー内容紹介するのってめっちゃわかりやす!」と新しい世界を知ったような衝撃を受けました。

私ごとになりますが、以前にiPadApple Pencilを購入していたのですが完全なる手持ち無沙汰になっていたんですよ!

omuriceman.hatenablog.com

学生の頃は下手ながらに漫画描いたり数年前にはLINEスタンプを出していたりなど多少は絵を描くのが好きだったので、何かのきっかけに絵を描きたいなとずっと思っていました。(技術書典7ではイラストを描く予定だったのが叶わず…)

話は戻りEOF2019から1ヶ月ほど経過した頃、「技術系漫画」で有名な湊川あいさんが「LINE DEVELOPER DAY 2019」でのイベントの様子をリアルタイムにグラレコしてツイートしていました。(また、その時の湊川あいさんのTwitterのプロフィールに「グラレコ」と書いてあったのでその概念を表す単語がグラレコであることを知りました。)

湊川あいさんの過去のグラレコ一覧がこちら! togetter.com

そして、その湊川さんがLINE DEVELOPER DAY 2019の振り返りでグラレコの話をします!という事だったのですぐに申し込んで参加してきました。これで僕のiPadも日の目を見ることができるかもしれない!!

ということで少し話がややこしいのですが「グラレコの話」と「もう1度振り返りたい☆LINE DEVELOPER DAY 2019の参加レポート」を書いていきます!

「もう1度振り返りたい☆LINE DEVELOPER DAY 2019」参加レポート

2019/11/29に開催された本振り返りイベントは、2019/11/20~21まで開催されていたLINE DEVELOPER DAY 2019に参加した4人の方が当日のイベント内容を報告するといった内容でした。

linedevday.linecorp.com

振り返りイベントに参加するまでは正直なところTwitterで見た内容である程度満足してました。が、Twitterの内容だけでは理解が足りてないこともいくつか知ることができたので、このブログに関しては特に印象深かったトピックについてご紹介します。

湊川あい(@llminatoll)さんのLT

一番最初のLTは湊川さんです。イベントで描いたグラレコの絵を元にイベントの振り返りをしていました。グラレコしながらイベントに参加したとは思えないくらいしっかり記憶されていて、聞いているこちらも理解が深まりました。

KYCやeKYCを知っている方が結構少なかった

電子上で行う本人確認のことをeKYCというのですが、案外知っている人が少ないなという印象でした。僕は業務の絡みで去年あたりから話題が出始めていたので存在を知っていました。GDPRみたいに技術というよりは概念!みたいな話なのでエンジニアさんはそこまで興味ないかもな。という印象です。

eKYCをHUB化していく

そしてこのeKYCをHUB化するみたいな話らしいのでとても応援したいです。現在は各社で独自にeKYCを実装しているのですが、根本の機能部分は同じことをやるわけでまとめちゃえば楽なのになぁという感じの思いがあります。クラウドベンダー側がサービスとして出してくれたらとても使ってくれる人増えそうなんですけどね!

LIFFを使ってたり導入したりしている人が多かった

LIFFとはLINE Front-end Frameworkの略称で、LINE社が提供するプラットフォームのことを言います。僕はLINE社が提供するサービス(Messaging APIなど)を積極的に使っており、LIFFもリリースされたあとFirebaseと合わせて簡単なプロトタイプを作り早めにQiitaで記事にしました。ですが、そのあとはあまりトレンドは追っていなかったので想定以上に機能も追加されて触ってる方も多くて驚きました。今回のイベントとは別に業務でLIFFを使っている話も聞いたので、もっと注目してキャッチアップしていこうかなと思います。

西村 惟(@nisshi_yui79)さんのLT

二番目に登壇したのは、現役高校生の西村さん。なんと西村さん、LINE BOOT AWARDS 2018 グランプリを取った現役高校生ということでとても驚きました。最近僕自身がアウトプットするようになってからは未来ある若いエンジニアを知る機会が多く、少し焦ることはありながらもどんどん頑張って活躍して欲しいですね!

高校生はイベントへの交通費が出ない

どうやらLINE DEVELOPER DAY 2019に参加する大学生は交通費が出るのに対して高校生は出ないという話で、関西から交通費自腹でくる高校生の方がいたらしいです。本当に情熱がすばらしい。来年からは高校生の参加費も無料にしてあげて!と思う次第でした。

ufoo68(@ufoo_yuta)さんのLT

三番目に登壇したのはufoo68さんです。詳細はご自身が書かれているQiitaを見るのがいいですね!イベント情報をブログにしたりLTしたりでとても素晴らしい!

qiita.com

スポーツIoTLTというイベントの管理者でもあるようです。1回目のイベントの人気がすごいですね!IoTに興味がある人は参加して見るのがいいのではないでしょうか。

iotlt.connpass.com

6つの原則

LTの中でLINEのデザインシステムの6つの原則という話がありました。以下のスライドが本家のものかと思われます。

上記の和訳はこちらの@ufoo_yutaのQiitaよりご確認ください。

LINE DEVELOPER DAY 2019に参加してきたまとめ - Qiita

wakasa masao(@wks)さんのLT

最後のLTはwakasaさんでした。前の3人がかなり喋っていたこともあってネタ切れかな?と思っていたのですが、そんなこともなく楽しんでLTを聞くことができました。イベント報告はさることながら、それを聞いてどう感じたか?もとても有益な情報ですね。

日本語OCRの精度がすごい!

LT中に日本語OCRを試された様子を見ましたが、曲線の日本語などの読み取り精度も高くかなり驚きました。僕が以前試していた内容はCTPNCRNNという技術なのですが、日本語は対応していません。柔軟に読み取りできる日本語のOCRってかなり少ないんですよね。

曲線の日本語の読み取りのデモをみて、日本語のOCR界隈がかなり進化しそうで期待大でした。

アジア系の顔認識の精度が弱い

現在のクラウドベンダーさんが出している顔認識はアジア系の顔認識が弱いということを初めて知りました。私も試したことはありますが、普段アジア系以外の顔を試してないからか精度について意識したことはありませんでした。

公式で紹介されてない機能について

LINE DEVELOPER DAY 2019のセッションの最中に行われたデモで、LINE Payの支払い周りの挙動で公式では紹介されてないような動きをするがやり方がわからない!という話をしていました。私も以前LINE Messaging APIが出た当初に、ボタンをタップするアクションが公式で紹介されてなくてGitHubを見て実装した経緯があって「あるある!」といった感想でした。個人的にはそれを先に知るのが裏技を見つける楽しさっぽくて好きな時もあります!

グラレコについて

全体のLTが終わった後に質疑応答があり、グラレコに関する質問を少しさせていただきました。また、みんなの前でグラレコのことばっかり聞くのもなぁと思ったので終わってから個別にグラレコに関する質問を色々としました!真剣に答えていただき感謝です!!学ぶことがとても多かったのでブログにてご紹介します!「→」は僕の感想です。

イベント時にリアルタイムでイラスト全部書いてるのか?

書いてる! →すごすぎる。。。

文字のミスがあったら?

消しゴム機能で消す!

その間にイベントの発表が進んでいかないか?

イベントの休憩時間に補足している! →これ言うは易く行うは難しですよね。

iPadで描いてる?

グラレコに関してはiPad Proで描いてる →グラレコ以外は別の方法なんだ!ということも知れました。

なんのアプリ使ってる?

アイビスペイント。レイヤー機能もあって良い。 →自分でググったりした時はProcreateを使っているという意見も多く、アイビスペイントは初めて知りました。参考までに僕はNotabilityというアプリを使っていますが、レイヤー機能は無いです。

アイビスペイントX

アイビスペイントX

  • ibis inc.
  • エンターテインメント
  • 無料
apps.apple.com

顔のイラストのクォリティがすごいけどコツなどは?

スピーチ前などに顔を書く。顔を最初に書く。毎回見せ方を変えている。 →見る人に飽きさせない工夫をしっかり考えられていて素晴らしい。スピーチ前の短い時間でそんなクォリティで作れるのがすごい。

想定より文字を書く量が多くてイメージしてたレイアウトがずれる場合はどうしたらいい?

いっそのこと次のページにいっちゃった方がいい。Twitterの場合は最大4枚までいける! →目から鱗!なるほど!!!

その他アドバイス

会社の会議などで書くといいよね!見る人も飽きないし! →とっても良い!頑張りたい!(外部にシェアしづらいので描くモチベーションが少し下がるけど。。。)

今後もグラレコのノウハウなどありましたら全力で吸収したいです!

僕のグラレコ風メモを公開

最後の方は僕の感想が多いです。殴り書きクォリティですがもっと上手くなって、そのうちTwitterとかで投稿できるようになりたいですね。グラレコ上手な方の色使いは2~3色くらいで統一されてるのんだよなぁ。ということを後からブログにまとめて気づきました。グラレコに限らない話ですが。

湊川さんLT+質疑応答など

f:id:omuriceman:20191202014553p:plain

西村さんLT

丸く囲ってるのは僕の感想です f:id:omuriceman:20191202014825p:plain

ufoo68さんLT

似顔絵を描いてみた f:id:omuriceman:20191202015444p:plain

wakasa masaoさんLT

BlueToothは大変… f:id:omuriceman:20191202020312p:plain

まとめ

  • LINEの技術進化の話を詳しく聞けて楽しめた
  • グラレコするぞ!と思ってLTを聞くとより楽しい!
  • それと同時にグラレコの大変さを知った
  • 絵は下手だけど好きなので諦めず向上させていくぞ!

「絵はうまくならないかもしれないけど、まとめ方とかは向上できると思うのでここであきらめずグラレコしていくぞ!ブログだって成長できたわけだし!」という思いです。

最後に、とても有意義なイベントをありがとうございました。レポート内容に問題があればTwitter等でご連絡いただけますとありがたいです。

読まれる技術ブログを目指して / @kakakakakkuさんのブログメンタリングで学んだこと

2019年4月から6月末までの3ヶ月間、僕はカックさん(@kakakakakku)という方に技術ブログのメンターになっていただき、週に2記事のペースで技術ブログを書いていました。

ブログメンタリングを通じて、ブログを書く技術だけでなく理想のメンター像までカックさんから学ぶことができました。今回はそのブログメンタリングに応募した動機・学んだこと・成果・今後についてまとめたいと思います。記事にするのが恥ずかしい部分もあるのですが、これが僕のブログスタイルなのではないかと最近思うようになりました。

カックさん(@kakakakakku)とは

2008年から12年間、毎週技術ブログを更新されているアウトプット芸人です。ご自身のブログの執筆だけでなく、他の技術ブロガーさんのメンタリングを毎週行なっていて、いつ寝てるんだ?で有名です。

カックさんの人となりをよく知ることができると有名なのが、Podcastで配信されている「Trello があるので眠れない」「仕事よりブログが大事、ブログは自分の子供」です。聞いたことない方はぜひ一度チェックしてみてください。

lean-agile.fm

fukabori.fm

ブログメンタリングとは

カックさんが2017年から行なっている技術ブロガーを育てるための活動です。メンティに選ばれると1~3ヶ月間、週に1記事以上技術ブログを書いてカックさんからフィードバックをもらうことができます。ブログメンタリングの詳細は以下のスライドをご覧ください。

僕はカックさんのメンティーに選ばれてから、はてなブログのアカウントを開設し技術ブログを書き始めました。最初から週2記事更新を行なっていたのですが、ノルマ達成がかなり大変でした!

応募の動機について

話は変わりますが、僕が前回書いたブログ。必死な情報収集姿勢が話題になり、週刊はてなブログランキングで1位を取ることができました。もう当面1位には成れなさそうなので、紹介させてください!

blog.hatenablog.com

記事に対してたくさんのフィードバックをいただき本当に感謝しています。特に驚いたのがこちらのコメントです。

エンジニアらしくなくて笑った

今でこそエンジニアをしていますが社会人キャリアのスタートは広告代理店の営業でした。会社が1年も経たずに倒産、そこからいろんな経験を経てエンジニアにキャリアチェンジしたのは20代後半になってからのことです(学生の頃から独学でWebサイト制作をしたりiPhone/Androidアプリの個人開発はしていました)。そういった経歴もあって、「会社に依存しない力を身に付けたい・自己ブランディングを向上させたい」という思いと「技術的なコンプレックスを克服したい」と考えていたので、技術ブログを始めるのは良いきっかけになるのではないか?とカックさんの募集ツイートを見て迷わず応募しました。そして、ホッテントリを達成することをかなり意識していました。

そういう背景があって「エンジニアらしくなくて笑った」というコメントに笑いました。ブログには人間性がでますね。

ブログメンタリングで学んだことと取り組み

ブログメンタリング期間はたくさんのアドバイスをいただきました。その中で今でも大切にしていることをいくつかご紹介します。たくさん書いたのですが、長くなったのでかなり削りました。。。

より良いタイトルを考える

僕は、ブログを書く上でタイトルを一番重要視していますタイトル駆動ブログと言っても過言ではありません。タイトルを決めるのに毎回かなり時間をかけていて、例えば今回の記事は細かいものを含めると30回くらい修正をおこなっています。隠さずに言うと「たくさんの人に読ませながら、できるだけ不快にさせないタイトル」というのを心がけています。以下のリストは、いつも僕が考えている「タイトルを決める時の検討事項」をまとめてみました。全部を必ず入れられる訳ではないので、記事ごとに重要な要素を決めています。

  • 短くまとめられないか
  • 伝えたいことは盛り込めているか
  • 検索しやすいか
  • 抽象化して読者の対象を広げらるか
  • 気の引く表現は入れられないか
  • 過剰な表現になっていないか
  • 主語が大きすぎないか

タイトルで伝えたいことが複数ある場合、記事を分割したほうがメッセージは伝えやすいよね。という話はカックさんからアドバイスを受けていて、それを実践したのが前回の情報収集のブログです。

omuriceman.hatenablog.com

今後も続くブログメンタリングのメンティーさんや他の技術ブロガーさんに向けて自分なりに学んだことや試したことを伝えようと思い情報収集術を1つの記事にまとめました。そして今回の記事が情報収集以外で「ブログを書く上で取り組んだこと」を卒業ブログも兼ねて紹介する構成にしようと考えていました。

黙読して読みにくい部分が無いかチェックする

一通りブログを書き終えたら頻繁に黙読を行います。読みづらいなと感じる部分があれば「句読点を入れる/取る」「言い回しを変える」「前後に移動する」「バッサリと削る」というようなことを意識して添削しています。

視覚的な強弱や緩急をつける

長い文章が続くと読み手も飽きるし疲れてしまいます。飽きさせない工夫として強調したい部分に太字をつけたり、囲み枠をつけたりしてアクセントを加えます。それでも文章がずっと続いてしまうと読者も見ていて疲れてしまうので、区切りをつける目的も兼ねて画像/動画やリンクを適度に挟みます

プレビューを見ながら黙読することで、見やすさと読み上げやすさの両方を意識して添削しています。

人にされて嬉しいことは自分から積極的にする

僕はブログメンタリングを始める前まで「ブログやWebサービスは面白ければ自ずとバズる!」と思っていました。でもこのアドバイスをもらってTwitterを見てみると、お互いの開発したWebサービスや技術ブログに対して積極的にフィードバックをしあっているユーザーがたくさんいることに気づきました。

それからは僕も他の方のアウトプットを積極的にインプットしてシェアをするようになりました。改めて振り返ると、そこからインプットの情報量が格段に増えたと思います。他にも「どんな情報がシェアされやすいか」を知ることができるので、自分から率先してフィードバックしていく姿勢はとても大切です。

フォローされやすいTwitterのプロフィールをつくる

ブログを始めた半年前はTwitterのフォロワー数が7 / はてなブログの読者数が1だったので、ブログを書いてTwitterに投稿しても誰も読んでくれませんでした。それを打破するために、カックさんと相談したりしながら自分だったらどんな人をフォローするかという視点でプロフィールを作成しました。プロフィールに入れている要素として「得意な技術」「活動内容」「実績」は基本的にいれながら、それ以外はイベント(例えば技術書典)などによって流動的に変化させています。これもカックさんのプロフィールをとても参考にしています。

twitter.com

情報収集先の収集

僕は海外のツールやサービスの情報収集を効率的に行いたかったので、情報収集先の収集をよく行なっています。一般的な検索方法かなと思っていたのですが、知らない人もいたのでご紹介したいと思います。vsサジェスト検索と名付けているのですが大したものではありません。

f:id:omuriceman:20191029162842p:plain

Googleの検索窓で、知っている海外のサイト名を入力したらスペースで「vs」と入力してさらにスペースを押すとサジェスト候補がでてきます。知らないサービスの場合それを調査します。またそのサービス名からさらに同じように「vs」を入力して別のサイトを見つけます。ちなみにサイトでなくても言語やフレームワーク/ツール等でも使えるので知らない方は試してみてください。

SimilarWebというWeb解析サービスでも競合サイトの検索はできるのですが、たまに精度が悪い情報もでてきますし、Webサイト以外では使えないので基本的には上記の「vs」検索を利用します。

記事ごとに文体を使い分ける

僕のブログでは1記事ごとに一人称(僕と私)と敬体(です・ます)/ 常体(だ・である)を使い分けています。つまり大雑把に「僕・です」「僕・である」「私・です」「私・である」の4種類の書き方を試しています。理由はシンプルで、どの記事が多く見られるかを検証したかったからです。結論はでていません(全パターンでホッテントリをとることはできました)。

個人的に敬体の方が文章を書きやすくはあるのですが、文章が幼稚に見える時があるので書き方には注意しています。書く内容やメディアによって使い分けられるようにどの文体にも慣れておくのがいいのかなぁと思ってやっています。カックさんもご自身のブログでは常体ですが他のブログでは敬体を使っていますね!

カックさんのブログデザインパターン

上記のように自分なりに技術ブログの考察をしていると、他の方のブログの傾向が見えるようになります。

記事の読者層を限定しない書き方

カックさんは主に本のレビューブログを書くとき「限らないパターン」を使っています。参考までに2つの記事をご紹介します。

kakakakakku.hatenablog.com

技術講師など「情報を伝えること」を仕事にしている人はもちろんのこと,例えば「新人教育を任されたエンジニア」だったり,メンバーと 1 on 1 をする機会が多くありそうな「Engineering Manager」だったり,幅広くオススメできる.

kakakakakku.hatenablog.com

プログラミング初心者だけじゃなくプログラミング講師も読むべき一冊

「もちろんのこと」「だけじゃなく」といった書き方をすることで、記事の読者層を広げるように意識しているのではないかと思います。こういう目線で他の方のブログを読んでみるのも面白いですね。

デザインパターンをブログへ取り入れる

そしてこの「限らないパターン」ですが僕のブログでも取り入れています。前回の記事では導入部分で以下のように書きました。

技術ブログを書く人でなくても情報収集先として参考になる部分はあると思う。

omuriceman.hatenablog.com

主には技術ブロガーさん向けに書いた記事ですが、その幅を広げるため意識的に「でなくても」を使用しています。ちなみに別の記事でも使っているので興味があったら探してみてください(笑)

この事例のように僕は他の技術ブロガーさんから色んな影響を受けており、積極的に自分のブログに取り入れています。これを僕はブログサンプリングと読んでいます。他の事例も後ほど紹介します。

ブログメンタリング期間中の成果

まずはPV数に関して4月から6月末までを表示したものをご覧ください。

f:id:omuriceman:20191028133611p:plain

f:id:omuriceman:20191028140451j:plain:w300

ブログサンプリングの事例

メンタリング期間中にホッテントリした2つの記事については、他のメンティーさんの記事の影響をとても受けています。いつか感謝したいと思っていたのでご紹介します。

omuriceman.hatenablog.com

まずはこちらの「平成技術書史まとめ」です。参考にしたのがid:sadayoshi_tadaさんの「AWS 利用を促進する各種サポートページの紹介」という記事です。ホッテントリしていたその記事を見た時「特定の視点でまとめた技術記事はバズるのかも」という仮説を立てていました。その時タイミングよく発生したイベントが「改元」です。ここで「平成」を軸に技術トレンドをまとめられないか?と思い立ち、試してみたかったワードクラウドを取り入れることで見て楽しんでもらえるような記事を作りました。

omuriceman.hatenablog.com

次にこちらの「GitHubが作った謎のAPIBOT」です。id:mergyiさんの「PySnooperで楽々デバッキング」の記事の情報収集方法がとても参考になりました。そこから試行錯誤して自分なりの情報収集の方法を身につけ、その過程でGitHubAPIを発見しました。これをちゃんと試して日本語で紹介すれば話題になるかも!?とワクワクしながら記事を書いたのを覚えています。

これらの事例から自分の身の回りにある情報や書き方や考え方などを積極的にインプットすることの重要性が伝われば嬉しいです。

ブログメンタリング後の成果

ホッテントリがとれたのはカックさんのサポートがあったからだよね。と言われないためにも「ブログメンタリング卒業後もホッテントリをとります!」という約束をしていました。現在までの結果はこんな感じです。

f:id:omuriceman:20191028141657p:plain

  • 1ヶ月2万PV達成
  • 1記事が1000はてブ達成
  • 4記事がホッテントリ
  • 情報収集ブログにつられて別記事も同時にホッテントリ
  • 読者も増えてコンスタントにブックマークをもらえるようになった

今後について

これからの目標について書きたいと思います。興味があれば読んでください。

自分の好きなことを書く

今までは僕のブログの読者を増やすための記事が多めでした。これからは自分の好きなことを多めに書いていくつもりです。「自分が作った面白いもの」でもホッテントリできたらいいなぁと思っています。どうか今後ともお付き合いください。楽しくブログを続けられるようになりたいです。

ブログ以外でもアウトプットしていく

登壇/ハッカソン/技術書典などアウトプットの形は色々あると思うのですが、僕は年初にテック系YouTuberデビューするぞ!と思っていました。でもまだ始められていないので、目指していきたいです。以前ブログでも紹介しましたが、海外のテック系YouTubeはクォリティもネタも面白く、まだまだ参入余地はあると思っています。

年初には技術ブログを始めるという気持ちは一切無かったので、人生何が起こるかわかりませんね。

まとめ

  • @kakakakakkuさんのブログメンタリングを卒業した
  • タイトルにはかなり力をいれるようになった
  • 読まれる技術ブログのために「読みやすさ」「見やすさ」を改善していった
  • ブログネタのインプットのために他の方のブログを分析した
  • 色々0からのスタートでここまでこれたのが自分の自信に繋がっている
  • ブログに書きづらくて省いたホッテントリを取るための仮説があるので誰かに話したい

さいごに

技術ブログを書き始めてから、僕自身こんなに成長を実感できるとは思いませんでした。そしてカックさんのメンタリングはとても貴重な体験になりました。僕にとって実質初めてのメンターです。「背中を押してくれながら、一緒に並走してくれて、時には前を走って背中を見せてくれる理想のメンター像」を見せていただきありがとうございました!

そしてキャリアや技術力に悩んでいるエンジニアこそ技術ブログを始めてほしいです。思いが強ければ必ず成長できる、と僕は自分の成果を持って伝えたいです。

さぁ!技術ブログを始めよう!