皆がお世話になっている“技術メモ三銃士”に聞いた! なぜ始めたの? 長く続けるコツ、そして書くことのメリットは?

Oracle Java & Developers編集部
2017-06-22 13:00:00
  • このエントリーをはてなブックマークに追加

「方針を立てる」、「無理をしない」──技術メモを書くうえで心掛けていること

 続いての質問は、「技術メモを続けるうえで心掛けていること」だ。この問いに対する回答は三者三様だった。

 まず、かずひら氏が挙げたのは、次の5点である。

  • 月に一度は必ず更新する
  • 気になった情報は、とりあえず「勉強したい候補」に入れておく
  • 特定のテーマに絞りすぎず、並行して2、3のテーマを取り上げる
  • 気に入ったテーマの状況は継続的にウォッチする
  • 自分の手に余ると思ったら無理をしない

 「『無理をしない』ということについて具体的に言うと、自分のキャパシティを超えるような問題にぶつかったら、深追いせずにわかったところまで書き、そこでいったんエントリーを区切ります。そして、その後もその問題を解決したいという思いがある場合は次回以降のテーマとして取り上げ、そうでなければ別のことをやるようにしています」(かずひら氏)

 opengl-8080氏が挙げたのは次の2点だ。

  • 1日1コミット
  • 調べて理解したことは、すぐエントリーにする

 「1日1コミット」とは、いわゆる「GitHubに草を生やす」ようなことだ。GitHubでは、コミットするとプロフィール・ページのカレンダーに緑色の四角が表示される※2。このように活動履歴が可視化されることがモチベーションの向上につながるのだという。

※2 これが草が生えているように見えることから、アクティブに活動することを「草を生やす」と表現する。

 また、「理解したことは、すぐエントリーにする」のは、将来のために心掛けている習慣だという。

 「そもそも、技術メモは将来の自分のために書いています。そのため、書くときには、自分が将来その内容を忘れたときに見直した際、すぐに理解できるようにしておくことを意識しています。つまり、『わからない人が理解できるように書く』ということですね。そのためには、『わからなかったときの気持ち』が残っているうちに書いたほうがいいんですよ。どこで引っかかって、どういうプロセスで理解したのかといったことも交えながら、なるべく早い段階で書くようにしています」(opengl-8080氏)

 一方のひしだま氏は、特に更新頻度などの目標は作らず、「書きたいときに書く」という自然体だ。

 「新しいテーマについて書き始めたときは、未知のことが多いので、結構な頻度で投稿します。また、Twitterで流れてきたテーマに興味を持ち、自分で調べて書くこともあります。そうしたことがないときは更新が停滞しますね」(ひしだま氏)

 総じて「自分のモチベーションが続く効果的な方法をルール化する」ことと、「無理をしない」ことが、有意義な技術メモを長く続けるコツのようだ。

技術情報の調べ方は三者三様

 それでは、彼らが技術情報について調べるときは、具体的にどのようなプロセスをとっているのだろうか?

 かずひら氏の場合は大抵、「Webをざっと調べて雰囲気を知る」、「日本語の情報があれば見ておく」、「オフィシャルのリソースにあたってドキュメントを見る」、「サンプルなどを動かして感覚をつかみ、ブログに書く」といった流れになるという。

 「その次の段階でドキュメントの目次などから『どんな機能があるのか』、『気になる機能は何か』にあたりを付け、気になる機能についてはどういう仕組みで動いているのか、自分が使うとしたらどうするかなどを深掘りしていきます。また、余裕があればソース・コードを見て、実装がどうなっているのか、カスタマイズできそうなところはあるかを調べます。これらのことをそれぞれの機能についてやっていくという感じですね」(かずひら氏)

 opengl-8080氏の場合、まず最初にあたるのが「公式のドキュメント」だ。

 「公式ドキュメントの目次で機能を把握し、全体像をつかむのが最初にやることです。次にコードのサンプルなどを眺めつつ、『何を調べるか』をリストアップしていきます。リストアップの基準としては『最低限ないとダメなこと』、『実案件で使う場合に必要になりそうなこと』、『ちょっと気になったこと』くらいに分けています」(opengl-8080氏)

 調べることをリストアップしたら、まず“Hello! World”レベルの簡単なコードを作り、そこから少しずつ肉付けしていくかたちで検証を行う。もしドキュメントだけでは理解できない問題にぶつかったときは、実装を見たり、似たような問題に直面した人がいないかをネットで調べたりする。その過程で浮かんだ疑問があればリストに追加し、それらがなくなるまで繰り返すという。

 ひしだま氏のスタイルは、「まずググる」だ。

 「興味を持った技術については、まずググってすでに書かれた技術メモを探し、それらの内容を参考にしながら自分でも試してみます。最終的には公式ドキュメントにも目を通しますし、仕事に絡むようなものなら周囲の詳しい人に直接聞いたり、周囲にいなければTwitter上で質問したりします。今後も質問をつぶやくことがあると思いますが、もしご存じのことがあったら教えてください。その際、回答の内容をそのままブログに技術メモとしてまとめていただけると、僕の技術メモからそこにリンクを張るだけで済むので楽になって嬉しいです(笑)」(ひしだま氏)

エンジニアとして成長していくためにできることは?

 オラクルの伊藤氏による質問が終わると、次に会場の参加者による質問タイムに移った。

 ある参加者からは、「初めて扱うプロダクトについて、最初の印象を基に記事を書いた後でさらに調べた結果、当初の印象や見込みが変わった場合にどうしているか」という質問が寄せられた。これに関しては、技術メモをWebサイトとブログのどちらで公開しているかにより、対応が異なるようだ。

 「私の場合、技術的なキーワードごとにWebページとして情報を公開しているので、最初に書いた内容が間違っていたり、後で状況が変わったりした場合には、同じページを個別に更新することで情報をアップデートしていきます」(ひしだま氏)

 「内容によって対応は違うかもしれません。もし明らかに間違ったことを書いてしまっていたら、当然修正します。ただ、バージョンが上がって機能が追加されたといった場合なら、関心の度合いによっては特に書き足さないこともあります」(opengl-8080氏)

 「僕も間違っているところは直しますね。また、機能追加などについて書く場合は新たにエントリーを立て、以前のものはそのまま残しておきます。自分が以前にどういう印象を持っていたかは記録として残しておきたいと思っています」(かずひら氏)

 別の参加者からは、「皆さんの技術メモは、読むだけでもかなりのボリュームがある。1つの記事を書くのにどのくらいの時間をかけているのか」との質問があった。これについて、opengl-8080氏は「短いときは1日程度、長いときは5カ月かけており、テーマによって幅があります」、ひしだま氏は「大半は2~3時間で、たまに丸1日かかるものもあります」、かずひら氏は「準備に3~4時間、記事は2~3時間程度で書きます。難しいテーマだと、さらに長くかかることもあります」と回答した。

 最後に、「エンジニアとして成長し続けていくためにはどうすればいいか」という質問に対しては、それぞれが次のように回答してセッションを締めくくった。

 「自分が興味を持てることを探し、それについて調べ、手を動かしてものにする──ということの積み重ねが大切で、それを止めたら成長も止まってしまうような気がしています」(かずひら氏)

 「よく言われることですが、いろんな意味でのアウトプットが重要だと思います。そこから得られるフィードバックが成長に役立つのではないでしょうか」(ひしだま氏)

 「楽しんでやるのが一番です。僕自身も、関心のあるテーマを見つけて、それについて調べて、新たな知識を身に付けるということが楽しくてブログをやっています。それを趣味だと言えるくらいに楽しめるとよいと思います」(opengl-8080氏)

 以上、ここでは"技術メモ三銃士"としてかずひら氏、ひしだま氏、opengl-8080氏を招いて実施されたJava Day Tokyo 2017のセッションの模様を紹介した。今回、技術メモというテーマを通して語られた3氏のエンジニアとしての成長/スキルアップのコツに関するアドバイスは、多くの読者にさまざまな示唆を与えたのではないだろうか。