ソフトウエア職人だけでなくプロの開発者なら誰であれ生涯学習とスキルの継続的な改善を気にするべきだろう。
成功するソフトウエア開発に必要なのは幅広い技術力でありチームで開発に取り組みことだ。そして、その技術の実践が何よりも重要だ。残念ながら日々のワークフローと技術力の効率的な習得を両立するのは難しい。一時的にであれ、技術力の習得に専念できる環境を作るのがCodeRetreatsの目的だ。ほぼ3年かけて、CodeRetreatの形式は進化し、開発者の技術力向上に寄与するものになった。
Code Retreatsのアイディアは2009年の1月のCodemashカンファレンスで生まれ、その後のイベントでも取り上げられた。このアイディアは繰り返し実施できるソフトウエア開発の基礎演習に丸1日費やすというものだ。2009年と2010年に何人かの熱心な主催者やファシリテータはCorey Haines氏の指導の下、この演習を実施し、その結果演習の形式も今日のかたちに安定した。
この演習では単純な課題(ライフゲーム)に、複数のセッションを通じて繰り返し取り組む。各セッションでは特定のソフトウエア開発と設計の領域の学習を行う。例えば、ペアプログラミングやTDDだ。ライフゲームは単純なたった3つのルールで自動的に動く細胞の集まりで、理解しやすい一方、異なる開発手法やソフトウエア設計上のアイディアを探索するには好都合な題材だ。
演習に含まれるのは、
- シンプルな設計のための4つのルール
- OOの原則(SOLID)
- 心からのTDD
- 関数型プログラミング
- 継続的リファクタリング
- 悪い習慣を利用する : 手動テストかテスト無し
- オブジェクト健康体操
- ペアプログラミングとコミュニケーション
- ピンポンペア
Coderetreatsは言語に依存しない。概念やアイディアはソフトウエア開発の中核(GOL in APL)だからだ。2009年の時点では、Coderetreatsの形式を手探りで確かめていたが、それから熱心な指導者が開催するCoderetreatsからフィードバックを得て進化してきた。2010年、Coderetreatsの概念を広めようと、Corey氏はグローバルcoderetreatツアーを行い、11のイベントを開催して、多くのファシリテーション技術を学び共有した。2011年になり、Coderetreatsの形式は本物になった。ほぼ毎週末、世界のどこかでCoderetreatsが開催されているほどだ。
Global Day of Code Retreat
Global Day of Code RetreatはCorey Haines氏と世界各地のファシリテータが開催する国際的なイベントで、世界中で一日で可能な限りのCoderetreatsを同時実行するというものだ。技術力を研磨するだけでなく、 Coderetreatsに対する理解を高め、ソフトウエア開発者の具体的なスキルを改善することを目的にしている。
このイベントは2011年12月3日、32時間に渡って開催される。Corey氏はシドニーで第一のCoderetreatを開催し、午後6時の飛行機で日付変更線を超えて、ホノルルで開催される最後のCoderetreatを取り仕切る。その間、Coderetreatは世界中で開催されている予定だ。Coderetreatの開始と終了のタイムゾーンが違うので、ビデオや音声でコミュニケーションを取る。
現時点で50の都市がCoderetreatに登録しており、まだ増えているようだ。参加人数の平均は20人なので、1000以上の情熱的な開発者が同日に参加することになる。登録されているCoderetreatはCoderetreatsの地図で確認できるので、一番近い開催場所を探すのは簡単だ。
イベントを主催するのも簡単だ。ローカルのCoderetreatsを主催したければ、登録をしてオーガナイザのgoogleグループに参加する必要がある。開催場所や飲食を確保してくれるローカルのスポンサーを探しておくべきだろう。
So far global sponsors like JetBrains、ThoughtWorks、Pernix、Pragmatic Programmersがこのイベントをスポンサーとして支援する。主催者は更なるスポンサーを探して、Corey氏の旅と出席者の参加特典を支援したいと考えている。イベントについては多くのメディア(例えばInfoQ)が取り上げて、Coderetreatsとソフトウエア開発に対する理解を広めるのを支援するだろう。
CCoderetreatがあなたのそばで開催されるのなら、参加してみるのもいいだろう。また自分で開催するという手もある。参加する街が増えれば、Coderetreatの目的も達成しやすくなる。すなわち、ソフトウエア開発技術の向上という目的だ。イベントのtwitterハッシュタグは#GDCR11。