このブログを書く意図
目的
日々の細かい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、将来の自分のためになれば良し、誰かの役に立てばなお良し、という気持ちでまとめていきたいと思います。