要望反映中!引き続きmondにご意見ください♪
  • 情報収集

    まず新しいテーマやツールに関して。自分が専門としているものについては、メーリングリストやチャット、GitHubのレポジトリなど、常に1次ソースを追っています。専門外のものについては、かつては多くのニュースフィードを常に追いながら追いかけていましたが、そこで最先端の情報を掴む必要はないため、最近は自分の専門外で信頼できる専門家を見つけてその人を情報源とすることがほとんどとなってきました。信頼できる方のフィルターを通ってきたものはハズレが少ないので時間の節約になっています。

    調査対象が決まったら、やはり1次ソースを見ます。2次ソース(ブログ記事や解説動画)は作った瞬間に古くなっていくので、まずは公式ドキュメントや開発レポジトリのサンプルなどを見るようにしています。その上で、わからなければ解説記事などを探すようにしています。

    これは検索エンジンの課題でもあると思いますが、ある技術系記事の品質が高いかどうかの判定は検索エンジンにはまだできないので、検索結果は玉石混交となります。まったく知らない技術領域の場合では特にノイズかどうかの判断が難しくなるので、自分の場合は次のような情報が明確に記載されているかを確認して判断しています。

    • 記事が対象としているツールのバージョン

    • 記事の執筆日時

    • 1次ソースへのリンク(引用時)

    Google検索をする場合にも、検索ツールを使って記事が公開された日付を絞ることで古い情報が出てこないようにしたりと工夫をしています。

    習得

    動くものを見るのが早いので、GitHubなどでサンプルを探します。やはり出てきたばかりの言語やフレームワークは利用されている例が少ないため、公式レポジトリやドキュメント内のサンプルしか例がないことが多いです。まずはそれを動かしてみた上で、既存の競合との比較検討を自分で行っています。

    比較検討を行う際に、自分の場合は「そのツールが作られた背景や思想」を重要視するようにしています。言語やツールなどの設計自体には背景や思想が大きく寄与するため、それを理解することでサンプルがないものにおいてもインターフェースの意図が汲みやすくなると思います。逆にそういったものが公開されていないツールは自分は習得が苦手です。

    優先順位

    「そのツールを作った個人、団体のその分野内での立ち位置」などもよく調査するようにしています。その言語やツールを業務で使おうと思っても、せっかく習得したにも関わらずそれが広く普及しない場合にはすべてサンクコストとなってしまいます。

    • 十分な開発リソースが割かれているか

    • マーケティングが行われているか

    • エコシステム機構(プラグインやAPIなど)があるか

    • コミュニティは機能しているか

    こういったものを見ながら、優先順位を決定しています。

    もちろん、趣味で習得する場合にはこの限りではなく、単純に技術的に面白そう(=珍しい、前衛的)という理由だけで試してみることも多々あります。また業務で採用する場合にも、広く普及することよりも特定の開発者層に深く浸透している場合には、その開発者層の採用を見据えて採用するといったこともあるでしょう。(昔のPythonやGoなど)

    3年
  • これはあくまで僕のやりかたなので他の方には合わないかもしれませんが紹介します。僕が情報収集する方法は2つです。

    • GitHub トレンドを定期的に探る

    • GitHub の有用 OSS を紹介してくれる X/Twitter アカウントをフォローする

    GitHub トレンドを定期的に探る

    前者は以下の URL にアクセスし、Language をご自分の興味あるプログラミング言語に切り替えるだけです。GitHub が集計した人気の OSS が表示されます。

    https://github.com/trending

    Build software better, together

    GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

    github.com

    またトピックで検索する方法もあります。例えば aws に関連する OSS を探したいのであれば以下の URL です。

    https://github.com/topics/aws

    Build software better, together

    GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

    github.com

    トレンドは毎日それほど変わる訳ではありません。だいたい1週間に1度くらいのペースで確認しています。

    GitHub の有用 OSS を紹介してくれる X/Twitter アカウントをフォローする

    X/Twitter のアカウントの中には、前述のトレンドやトピック、はたまた他のユーザの OSS 等から良いものを見付け、X/Twitter で紹介してくれる人達がいます。僕もその1人だと思っています。

    一見、とてもボランティア精神に溢れた人達に見えるかもしれませんが、実はこれはやっている本人がそれをする事にメリットを感じてやっています。

    この行動に何の意味があるかを知りたいのであれば以下の記事を読んで頂けると分かります。

    https://levtech.jp/media/article/column/detail_433/

    成長の為にアウトプットがなぜ必要なのか。mattn氏が語る持続的なアウトプットのススメ

    『Go 言語プログラミングエッセンス』などの著書で知られるmattnさんと送る、持続的なアウトプットのススメシリース。第1回はアウトプットの習慣化についてお話いただきます。

    levtech.jp

    https://levtech.jp/media/article/column/detail_457/

    mattn氏が実践しているエンジニアリング最適なメモ術。アウトプットを継続するための方法論

    ちょっとしたきっかけや習慣の改善をするだけで今よりもアウトプットできるようになるものです。mattnさんから、アウトプットを継続するための方法論をご紹介いただきます

    levtech.jp

    https://levtech.jp/media/article/column/detail_473/

    アウトプットのお題に選ぶ、奥深い自作「TODOアプリ」。mattn氏が教える、さらなる技術力の向上を目指すためのノウハウとは

    アウトプットを継続するコツとして「TODO リストをつくる」ことを前回の記事でご紹介くださったmattn氏。今回は実際のアプリケーションにしたTODO アプリについて、なぜ TODO アプリをつくるのか、TODO アプリをつくる上で気を付けること、そして TODO アプリの発展方法を解説いただきます。

    levtech.jp

    https://levtech.jp/media/article/column/detail_492/

    コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み

    %持続的なアウトプット習慣についての連載最終回は、実際にやったことをブログに書いてアピールする方法について紹介します。一見、単なるまとめ作業のように見えるのですが、この最終工程にはとても大きな意味があり、今後の自らの開発体験をうまく運営していくことができるようになります。

    levtech.jp

    好みのプログラミング言語やウェブサービスで探せば、おそらく1人くらいはこういった人達がいるはずです。フォローしておくといいでしょう。

    これらの記事でも書いた通り、見付けたらやることリストとしてメモに残しておくといいと思います。紹介された全ての OSS を試せるほど人間には時間がありません。気になった面白そうな物を物色する形で触ってみるのがいいと思います。大事なのはそういった習慣を身に付ける事です。

    2日
  • 自分の目的を達成するための道筋に沿って調べていくのが良いでしょう。

    必要な物から探さないと際限なく必要になります。もちろん、フルスタックの知識があれば尚良いですが、物凄く時間がかかります。

    目的を見失わず、その方向に向けて必要な策を探しましょう。もちろん、先に見通す力があればよいのですが、それが無い場合は、一歩ずつ目の前の課題を片付けて行っても良いでしょう。手間と時間はかかりますが。

    優先順位は「自分にとって必要なもの」です。何が作りたいのか?(達成したい目標は何か?)あたりではないでしょうか。

    6時間
  • 仕事で特に使っている場合は、公式ブログ等から情報を手に入れる場合が多いです。大体 RSS があるので、RSS を feedly というアプリに登録して情報を追っています。

    自分がよく触っていない技術まで最新情報を追うのは大変なので、そこは会社の同僚や、X(twitter) からなんとなく見る程度です。

    取得したい技術がある場合、基本的には公式の Getting started やドキュメントを参照しますが、公式のドキュメントが微妙な場合があるので、その場合は誰かのブログを見ることが多いです。AWS のドキュメントは特に微妙なのでクラスメソッドのブログを見ることがおおいですね。

    7時間