目次
はじめに
ヌーラボでサービス開発部長をしている馬場です。
自分が身につけた技術や知識を惜しげもなく技術ブログに書いているソフトウェア開発者がいます。かっこいいですね。憧れます。彼らのように、ソフトウェア開発者が技術ブログを書くことにはどのような価値があるのでしょう?僕の考えをまとめてみました。
人に教えることほど、勉強になることはない
僕が一番大きな価値だと考えているのは、技術ブログを書いてアウトプットすることによって、ソフトウェア開発者自身のスキルを向上させることです。
ブログを書くということはつまり、自分の知識をその読者に教えるということです。教えるという行為は教わる側だけではなく、教える側も学べることが多いのです。ピーター・ドラッカーも「No one learns as much about a subject as one who is forced to teach it. /人に教えることほど、勉強になることはない」という言葉を残しています。また、ラーニングピラミッドという学習モデルがありますが、そこでは、見聞きするなどして受動的に学ぶよりも、自ら体験したりして能動的に学ぶほうが、知識が定着しやすい、とされています。ラーニングピラミッドの学習定着率などは根拠が希薄だとの指摘もありますが、実感としてはおおよそ的外れではないと感じます。
いざ自分の知識をブログに書こうとすると、書こうとしたテーマについて頭の中を整理する必要があることに気がつくと思います。そうすると、よく知らなかったところや、わかったつもりになっていたところが明確になっていきます。人に何かを教えるとき、教える側は教えるものについて十分に知っていなければなりません。おそらく、ソフトウェア開発者が新しい技術を学んだとき、それだけで人に教えられるほど十分に理解できていることは多くないと思います。ですから、それをブログに書こうとするときには、そのテーマについてもっと深く理解するためにドキュメントやソースコードを読んだりするでしょうし、またそこで使われている手法などを知るきっかけになったりもします。結果的にはそれが知識の定着につながり、自身のスキルを向上させることにもなります。
アウトプットするためにはわかったつもりになっただけでは不十分で、テーマをしっかりと理解するための十分なインプットが必要なのです。
勇気を持つ
何かをアウトプットすることは、とても勇気がいります。
あるテーマをブログに書くときにはそれを十分に理解する必要があるとしても、完璧に理解することは難しいのではないでしょうか。完璧にテーマを理解してからブログを書くことができたら、それは素晴らしいことです。でも、完璧に理解しようとすると、どうしても時間が足りないことが多いと思います。完璧ではないけど十分に理解できたところで、勇気をもってアウトプットしてみましょう。大丈夫です。足りていないところや間違っているところは、公開する前に読んでもらった同僚からアドバイスをもらえたり、読者がブログのコメントやSNSで教えてくれたりします。
ソフトウェア開発者は学び続けている
ソフトウェア開発者は日々ソフトウェアを開発していますが、その中で常に新しいことを学び続けていると思いませんか?発表されたばかりのプログラミング言語をマスターしたり、新しくリリースされたフレームワークに触れてみたり、画期的な最先端の技術を開発したり、などといった、誰の目にも明らかにスゴいものばかりではありません。今まで使ったことがなかった関数の使い方を調べてみたり、変数の名前の付け方に悩んだ末に気持ちがいい名前の付け方をひらめいたり、うまく動かせないフレームワークのソースコードを読んで解決策を探したり、たくさんの小さなことを学び続けていると思います。
ところで、「ブログ」とはもともと「Web Log」が省略され、ブログと称されるようになったものです。「ウェブ上のログ、ウェブ上に残される記録」という意味です。たんなる記録なので、意気込んですごいものにしようとするのではなく、毎日のように学んでいる小さなことを記録していく、というくらいがちょうどいいのかもしれません。基本的には自分のための記録なのです。そして、自分にとっては常識的な知識だと思っていることでも、誰の役にも立たないことだと思っていることでも、まだそれを知らない人はいます。そのような知識が、まとまった情報として言語化されているだけで価値があります。自分が小さな学びを得るときも、先人が自分のために書き残しておいた記録に助けられているのだと思います。
最後に
すべては書ききれませんでしたが、技術ブログを書くことには他にもたくさんのメリットがあります。自分のスキルを向上させるため、ささいなことでもどんどんアウトプットしていきましょう。