DevLOVE2日目(16日)の内容をまとめます。昨日と比べ、よりpracticalな内容となっています。自身の業務を振り返り、今後を考える際に大変役立つ内容となりました。
前日の内容はこちら
DevLOVE 2012に行ってきたので、まとめてみる (前編) - みのわーるど::Blog
テストに開発をもっと駆動させたい
まずは永和システム諸橋さん(@moro)のお話です。
なぜTDDなのよ?TDDなんて、将来のために高い保険料を払うようなものではないか?という疑問に対して、コード例で示しながらお話をされていました。
個人的には、TDDはコストが高くつくといっても、そもそもフィーチャー(機能)を実装する際に、プログラマは
- 事前条件は?
- 結果は?
- どういう作り方が?
に着目して思考を巡らせているはずなので、それをテストコードとして残すと考えれば、そこまでコストが高いってわけでもないなと感じました。
逆に、大規模のシステムのリファクタリングを行いたいが、テストコードがなくてなんともし難い状況にあるプロジェクトもあったりして、少数精鋭である程度大規模システムやりたきゃTDD(少なくともテストを書く文化)必須だなと再認識しました。
もうDevをLoveしていないんですか? 〜ProfessionalとCommunityを超えて〜
はじめてのRuby、達人出版会の高橋征義(@takahashim)さんのお話です。
開発に主体的に情熱的に関わる発表者が多い中、開発を愛している程ではないという高橋さん。また、なぜ出版社を立ち上げるに至ったかをお話されました。
全力で開発するには、抽象化レイヤー(営業とか総務とか経営とか)が必要。あなたは、全力で開発する人になりますか?、最強の抽象化レイヤーを創る人になりますか?というお話が印象的でした。(自分は後者かな。。。)
また、Professionalな会社とは、Professional人がいる会社ではなく、人の集まりがProfessionalな会社のことだという点も印象的でした。
そして、開発が出来る人は、手を動かせば満足して〜の話は、いつも耳にする度にハッとさせられます。結果が全てです。
公募セッション
意識が飛んでいたので省略^^;
世界をすこしだけ前に進めるということ
絶賛エンタープライズ系で奮闘されている和智さん(@digitalsoul0124)のお話。
アジャイルとかスクラムで、何もない状態で、最初のフィーチャはどうしたらいいの?ってのは私自身たまに思いを巡らすトピックですが、ウォーキングスケルトン(=全てのコンポーネントを通過する最低限の実装)を作成すればよいというのは、大変参考になりました。
「なんだ、そんな事か」と思いましたが、よく考えると、
- テンプレートエンジン何使うの?
- ビルドは?、デプロイは?
等、色々横断的に考えなければならない項目があり、意外と骨の折れる作業だと思います。
Railsだと、中心となるデータのCRUD処理実装、テスト・ビルドサーバ導入、デプロイツールのセットアップ。。。う〜ん、大変^^;
そしてもう一点気を付けなければならない話として、アジャイル、ウォーターフォールを極端に考える必要な無い。ウォーターフォールやるにしても、本当にWFを自身が・チームが理解しているかを検討する必要がある。
表面だけ見て、または現実逃避のためにWFクソとか言っているようでは、全然未熟だということですね。うむ。
愛せないコードを書くには人生はあまりにも短い
私にとってのDevLOVEセッションのラストを飾ったのは、和田卓人さんのセッション(@t_wada)です。
SIerやっている人なら、誰でも感じたことのある、「そうそう(笑)」みたいなのをユーモラスに語っている姿が印象的でした。
プログラミング好きだったのに、職業プログラマとしてすり減っていくプロセスに何があるのだろう。というお話は、是非皆様一度しっかり見つめなおすと良いのではと思いました。
失った誇りを取り戻すためのプロセスとして、
- 教育的すぎる世界に抗う - 問題は自分はどうあるか
- 人は自分の成長速度でしか変われない※
- いままで出きれいる人と比べても仕方がない
- 頑張り過ぎない
- 過去の自分との相対評価※
をあげていました。※を考えるとよく分かるけど - 結局いつだって愚直になるしか無いっすね!
まとめ
結局のところ、結果はどうなるか分からない。ただ、情熱を持って、情熱を絶やさないように日々精進していくしか無い。情熱を燃やし続けるための燃料となるべきプラクティスであり勉強会であり、そしてコミュニティなのだと思いました。
また、茨城にもそんなコミュニティがあればいいなと思います。また引き続き頑張っていく所存でございます。