はじめに

今日からゴールデンウィーク初日!

仕事のほうも2月から3ヶ月間続いたプロジェクトが一区切りだ。

過去のブログ記事と関連づけながら、ここで振り返りをしてみる。

前提

このプロジェクトに入る前は、精神的につぶれてた。

なので、1月はリハビリのために特定のプロジェクトには参加していなくて、毎日Emacsをいじっていた。

2月になってすこしずつ元気になってきたので、お試し開発のプロジェクトに参加することになった。

お試しという意味は、まだ顧客もいなくて、ビジネスとしてなりたつのかよくわからない、予算の限られたトライアルプロジェクトという意味。

よかったこと

Rubyistになった

そして、Rubyistになった。

以前から、いつか仕事でRubyがつかえたらいいなと漠然と心に抱いていたので、これはうれしかった。

RubyTkをつかったGUIアプリケーションの開発がまかされた。

わからないことが毎日あったが、お金がないから残業できないので、その分は定時後にスタバにこもって勉強した。

どうでもいいRubyTk関連の記事の投稿をこのブログにも怒涛のごとくしてた。

Excel VBAをみにつけた

Rubyistとしてワクワクしている月日は1.5ヶ月くらいで終わった。それからExcel VBAer?になった。

ExcelVBA知らないけど、1日100Step、5日で完成という工程。かなり厳しいと思ったが、3日くらいで不自由なく読み書きできるようになった。前知識としてC++,Java,Rubyがあったからだと思う。

これは、正直驚き、また自信につながった。オブジェクト指向言語ならば、他の言語もそんなに苦にならずに身につけられるような気がした。

大事なのは、パラダイムを押さえることではと思った。MOOCでこんな講座もはじめた。

今後は関数型プログラミングのパラダイムを身につけたい。というか、EmacsLisp書きたい!

また、ExcelVBAの開発環境が貧弱すぎることも、 Eclipse大好きな僕には嫌だった。なので、ネット上に散らばったツールをrakeでまとめた。

この背景には、C言語のTDD開発環境ceedlingに感動した体験がある。 Rubyがすごいと思いはじめ、Rubyがやりたくなったのもこの体験があったから。

わるかったこと

コスト意識がなかった

コスト意識がなかったことが、最大の反省点。なかったわけではなくて、あったことはあったが、もっとあるべきだった。

だんだんとまわりから、

「これは売り物になるの?iPhoneアプリつくったほうが儲かるんじゃないの?」

という実は真実の脅しうけてビクビクしたり、

「じつはこのプロジェクトはXX万の予算を投入したんだよね」

とぷよぷよされて、プロジェクト参加前に比べて精神が悪化したりした。しかし、今までコスト意識があまりなかったので、

これはよいことなのだと自虐的に受け止めた。

CleanCodeは悪

予算も限られていてかけられる工数が少なかったが、プログラミングに凝りすぎたことが最大の反省点。

具体的には、クラスの依存関係を弱くしたり、小さいメソッドやクラスを書いていた。以下のようなカルチャーショックの直後だったので、これが今思い返せば悪影響していた。

自分に求められていたのは、モジュール分割がされていないモンスターメソッドであり、インスタンスはグローバル変数で保持するような密結合の設計だった。

結果的に、予定よりも遅れてしまった。これだけが原因ではなくて、見積りも悪かったのもあるけど。

綺麗なコードを書くことを心がけていたが、その価値観をすこしあらためないといけないと思った。 TDDはよいという価値観も今回の開発でかわった気がする。

もちろん、きれいなコードはそれはそれでよいことだし、TDDも素晴らしい。しかし、仕事はお金稼ぎでやっているので、綺麗なコードがお金稼ぎにつながるかを考えないといけないと思った。

プロジェクトを航海にたとえれば、ひとりでパンを食べまくった結果、食料がつきて、目的地にたどり着く前に全員餓死しちゃうような状況。なんて傲慢なんだろう!

場合によりけりだとおもうが、今回のプロジェクトでは綺麗なコードは悪いことだと思ったのが今日の日記の結論。

ゴールデンウィーク初日からうつうつだが、思うところはここに吐き出したので、忘れてリフレッシュしよっと。