このブログを書く意図

目的

日々の細かいSpikeの記録を残したい。
どうせ残すなら、ひとりよがり日記形式じゃなく、きちんと報告書形式にして再利用性を高めたい。
どうせ残すなら、自分のライティング技術が高まるように、切れ味鋭い文章を目指したい。

結果

現在、挑戦中。

そもそも自分は

中学時代のBASICでの趣味プログラミングからはじまって、今では20年近くソフトウェアに関する勉強をしてきました。
計算機工学に直結する非常にミクロな話(マイクロ命令の垂直型/水平型とか、わくわくした!)から、マクロかつ上層のアプリの話(前職はWeb開発で、DBやEJBとかも必死で勉強したよ。あんまり使わなかったけど)まで、技術に関する話なら非常に好きです。一方、ビジネスにするとか一般に広めるとか、そういう社会工学にかかわるようなところはあまり興味がない、と自分で思っています。

一方現状は

ところで私は、Web開発のベンチャーを経て、今は大き目の企業のソフトウェア部門に在籍しています。
そこは、まあ技術も大事なんだろうけど、それよりは、プロセスとか、ビジネス展開とか、カスタマ対応とか、そういう方が重視されていて、全体的に「細かい技術は外注にでもやらせとけ」感が漂っています。だれかが直接そう言うわけではないのだけれど、そういう雰囲気を感じます。

お金をもらってこの会社で仕事をしているのだから、そういう雰囲気に染まるのも大事なんだろうけれど、なんとなくそこは「譲れない一線」のように思っていてあがいています。
一人でコソコソと便利ツール作ったり、実装を(勝手に)リファクタリングしたり、疑問点をSpikeして確認したり。
意外とそういうところで得た知識なり技術なりが、いろんな方面で(他人の仕事にも)活躍したりします(もちろん、そういうことはこういう大企業では評価されない、ということもわかっています、悲しいですが)。

せっかくなので残したい

Spikeというのは、XP(Extreme Programming)で言うところの、「調査用のプロトタイプで、技術上/デザイン上の問題の解決法を調査する」ことです。
XPで言っているSpikeは、2,3人の開発者を1〜2週間割り当てて解決するような大きな問題の調査なのですが、日常的にもっと細かくて気になることはいくらでもあります(Cのプリプロセッサ三項演算子は使えるの?とか)。
こういうことを、必要に応じて(勝手に)調査しているのですが、調査結果をきちんとまとめないまま過ごしているうちに、結果が散逸していってしまいます。
それじゃあまりにも(自分的に)もったいない。ブログにでもまとめていって、後から見直せるようにしたらどうだろうか。

どう残すのか

ただコード片を書き散らかしても、あとから見たらただの落書きです。
また、調べた結果だけを書いても、後から過程をトレースできなくては科学とはいえないし、なぜそれを調べたのかという「解決したかった問題」を明確にしておかないと調査の意図が正しく伝えられません。
おまけとして、技術的な問題(と対策と結果)を簡潔に書くことは技術者として重要ですが、このスキルは日常使わないとすぐにさびついていきます。

こういったことを考えて、日々のSpike結果を、目的/結果/詳細という3部構成にして、誰もがトレース可能な形でまとめていくことを、しばらく続けてみようかと思い立ちました。

どれだけ書けるのかはわかりませんが(2児の父は家では自分の時間なぞ深夜/早朝しかありません)、楽しんで書けるペースで進めて行きます。

Spikelet?

書きたいネタの中には、Spikeと呼ぶにはおこがましい、数行しかないコードも多数あります。
なので、servlet, applet のように、「小さいSpike」の意味を込めて、「Spikelet」と呼ぶことにしました(今決めた)。

日々のSpikelet、将来の自分のためになれば良し、誰かの役に立てばなお良し、という気持ちでまとめていきたいと思います。