yasudacloudの日記

札幌に住むソフトウェアエンジニア

テック系のインプット方法を再考する

前回の記事でインプット不足と感じてると書きましたが、問題点と改善策を考えていきます。結論

現状の問題点

1. 情報が偏っている

情報収集先(以下ソース)とその内容に偏りが生じています。新サービスや話題のトピックといったタイムリーな情報は入ってきやすいのですが、話題性のあまりない情報については能動的に調べないと入ってこないという傾向があります。

一方で、色んなジャンルの大量のテック記事を集めたとしても現実的に読みきれない記事が増えるだけになってしまいます。現状では自分にとって有用な記事であってもタイトルで判断して取りこぼしている可能性があって良くないです。。

2. 情報の集め方が非効率

当然ながらネットに投稿される記事は日々増えていきますし、時系列的に新しい記事の方が目につきやすくなります。例えば週間ランキングのような形式だと見出しが"その時点でよく読まれている記事"とか"その時点でいいねが多い記事"の一覧になります。つまり、定期的にそのサイトをチェックしていないと優良な記事を取りこぼす可能性が高くなってしまいます。

これに対してはRSSの更新を検知して通知するような方法が考えられますが、そもそも予め自分で決めたソースだけで十分なんだろうか?という懸念が残ります。

上記を踏まえてアプローチの仕方を考えていきます。

優先順位の考え方

情報が溢れている時代なので取捨選択していくことが重要ですね。

・今学ぶことは自分に価値がある分野なのか(必要性)

・それをインプットすることが正しい順序か(学習効率)

・学習時間をかけるだけのリターンがあるのか(自己投資)

これは意外と難しい問いかけです。自分の場合はAWSをどこまで深ぼるか、国内シェア2番手のAzureを学ぶか、バックエンド寄りの経験を積むならFirebaseがいいか、など最近考えることが多いです。フロントエンドも魔境ですし、最近がっつりアプリ開発やってないのでブランクが空いてきたなーとか色々悩みがあります。

ただ直近では短期的な目標設定で何となく方針が決まっているのでそれらをベースにしていきます。

情報の特性から考える

大きく2つに分類します。

プッシュ型

情報収集したいテクノロジーが明確に決まっている場合は対象のソースを予め絞ることが可能です。そのため従来通り、サイトのRSSやメルマガの導線で自分のインプットに繋げることが望ましいと思いました。

例えばAWSの場合だと公式でブログ(日本語、英語)とPodcast(英語)が発信されていますし、日本の企業ではクラスメソッドさん、NRI Netcomさんのブログをよく読みます。加えて、AWSほど大きいカテゴリーであればインプットの口を広げることも簡単です。AWSのパートナー企業の中で技術ブログをやっているとこを探せば沢山出てきます。

partners.amazonaws.com

もし情報不足ということがあれば(ないと思いますが)、Qiitaのような不特定多数の記事投稿の場合はカテゴリーをAWSに縛って日付を新しい記事の順にしてどんどんPUSHする方法もあります。ですが、Qiitaの記事の傾向的には"やってみた系"や初学者向けの記事が多いため、AWS公式やクラスメソッドさんと重複しやすい気がするので情報過多になるかもしれません。

ちなみに技術書やUdemyのようなテーマが決まっている動画教材もAPIやスクレイピングで取得できるものなのでプッシュ型と言えます。

インデックス型

こちらはプッシュ型と違って曖昧な情報をインプットするのに向いています。曖昧な情報とは、例えば新プロダクトのリリース情報や企業ブログのプロジェクト事例、カテゴライズされていない記事等のこちらが予測できない情報のことです。

それらの情報を全てデータベース化して全文検索で色んな角度から抽出することで有用な記事の取りこぼしを防ぎます。一箇所に集めることで「最新の」とか「このカテゴリーの」とか「このブログの中の」といった検索の仕方をいつでもできるようになります。また、既読のような仕組みを入れれば先ほど触れた重要な記事の取りこぼしを軽減できるかもしれません。

ちなみに技術記事だけでなくPodcastもインデックス型と言えます。大体RSSがありますし、音声ファイルを文字起こししたりtranscriptのテキストが利用できそうです。

結論

長々と書きましたが、自分なりの答えはElasticsearchを立てて情報を全部突っ込んでいくとなりました。都合の良いことにElastic Stack実践ガイド[Elasticsearch/Kibana編]という積読がありましたし😎

どう取り出すか?については別の軸で考えたいと思います。

自分の場合だと実装をGoで書いて前から気になってた監視ツール Prometheusを導入すれば一石三鳥です。テクノロジーを掛け算で組み合わせると知見が溜まっていくので実に合理的です。

少しでも参考になればと思います。