fc2ブログ

makopi23のブログ

makopi23が日々の生活で感じたことを気ままに綴るブログです。

「学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜」に参加しました

9/12(水) 「学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜」に参加してきました。

■Doorkeeper(告知サイト)
http://devlove.doorkeeper.jp/events/1605?auth_token=JExVxcAvaUdwiSgrdvjU

■イベント纏め
http://matome.naver.jp/odai/2134746812716134601

■togetter
http://togetter.com/li/371959



会場は「KDDIウェブコミュニケーションズ」で、主催はDevLoveです。
参加者さんは50名くらいでしょうか。
周りを見渡してみると、アジャイルやDevLove関係で顔見知りの方がかなりの人数いらっしゃいました。

あと、このイベント、告知されてから一瞬で定員に達するほどの凄い人気ぶりでしたね。
私は確かメールかTwitterで告知を検知してすぐ申し込んだので、なんとか参加できました。

今回の勉強会は「オブジェクト指向設計と実装を題材にして、学び方を学ぶための場」だそうです。
実に興味深いテーマだ。

会場の入り口で、冊子2冊が配られました。あと、セッション終了後に論文っぽいシートをいただきました。
20120912_1.jpg
この冊子は、最初のセッションのテーマ「学習パターン」の成果物だそうです。無料配布とはありがたいですねー


セッション1:
「学習パターンをエンジニアの学びに適用するためには」

  さまざまなコンテキストでどのようなパターンが利用出来るかディスカッションを行う。
  [形式]
    ・ディスカッション
  [登壇]
    ・井庭先生(@takashiiba
    ・増田亨さん(@masuda220
    ・市谷さん(モデレータ:@papanda)
  [テーマ]
    ・学習パターンの適用方法/新しいスキルを得るための学び方 等



「パターン・ランゲージによる経験のマイニングと共有」 from Takashi Iba

(この日の発表でこの資料が直接使用されたわけではありません)

---
ちなみに「Learning Patterns」のサイトはコチラ。戴いた冊子版とかもPDFでダウンロードできます。
自分への覚書として、TwitterのTLと自分が取ったメモを元に、心に響いたフレーズを挙げてみます。
---

■「学び方」を学ぶ

■学習パターン = 学びのコツ

■言語化しないと体験は認識できないし、他人に伝達することができない。

■「概念」があって、初めて「外界から切り取る」ことが可能になる(そこで、「名前(付け)」が重要になる)

■パターン名、状況、問題、解決。この組み合わせで「パターンランゲージ」と呼ぶ。

■他の人が持っている経験をもらうことができないが、それをパターンの形にすることでこんな経験している人がいるんだ、といったようなことが可能。

■自分達が大切にしている事をトコトンまで突き詰める。

■パターンとは、問題発見・解決のコツである。

■ライターズワークショップ = 「論文を他者が議論する。著者は決して発言してはいけない。他者の読み方を延々聞く。著者はコメントから学ぶ。このように誤解されるのかというのを知る。」

■「学びのチャンス」は、与えられるものでも探すものでもなく、自らつくりだすものである。

■名前があれば認識ができ、共有できるようになる。

■Learning Patternsの40個は、ヒント。(押し付けではない。)ヒントとして、自分で工夫すればよい。

■「学びの対話ワークショップ」
  1.取り入れたいパターンを、すでに体験している人を探す。見つけたら体験談を聞く。
  2.逆に、自分の体験したパターンを取り入れたい人がいたら、その人に、体験談を話す。
    ※普段話さない人と話して下さい。

■組織文化を理解し、可視化するための方法
 ・制度やルール、慣習、習慣が、どんな問題を解決しようとしているのかを書き出す。
 ・可視化することで、これらの制度やルール等が、すでに古くなっている/使えない等の判断ができ、制度設計や再設定のヒントになる。

■ルールオブスリー : 3つくらいの事例が無いと共感は得られない。
---

★感想:
各人のノウハウや学び方を「パターン」として纏めた点が斬新ですねー
ノウハウって、抽象的すぎてなかなか人に伝えたり学ぶことは難しいのですが、「パターンとして名前を付けた」点が素晴らしいと思います。
名付けられる事で認識され、命が吹き込まれる。名前すごく大事。
戴いた「Learning Patters」の冊子を一通り読みましたが、非常に有意義なパターンが網羅されてるカンジです。
個人的に特に心に響いたパターンは以下です。

・No.7 まずはつかる
 私、定期開催されてる興味ある勉強会に参加して、PythonとかHaskellとかTaPLとか勉強しています。
 ですが、「仕事で使わないから」といった甘えが心のどこかにあります。。。
 本気でマスターしようとしてるか、といったら、Yesとは言い切れない自分がいます。
 「始めるからには、しっかりと取り組む」ができてない、これ反省!

・No.39 突き抜ける
 上記のNo.7にも絡みますが、学びに中途半端感があって、マスターには到底至っていません。
 そうかといって、普段仕事で使っているJavaの知識や技術が飛びぬけているか、というとこれもダメです。
 もっと貪欲に、突き詰める姿勢が自分には必要だと感じました。今日のお話を聞いて、反省。

あと、No.13の「アウトプットから始まる学び」も、まさしく私がブログ始めた動機を見事言い表してます。
このセッションの内容、非常に同感です。ITに関係なく、すべての人が意識すべき思想だと思います。



セッション2:
オブジェクト指向設計と実装の基本スキルの学び方
(学習パターンの実践)


  本を読みながらコードを書き、コードを書きながら本を読もう。
  [形式] レクチャー
  [登壇] 増田亨さん(@masuda220

オブジェクト指向の設計と実装の学び方のコツ from 増田 亨

---
告知のタイトル見た瞬間、申し込みを即決しちゃうようなタイトルです。
プログラマなら、誰でもそう思うのではないでしょうか。

自分への覚書として、TwitterのTLと自分が取ったメモを元に、心に響いたフレーズを挙げてみます。
---

■オブジェクトを上手に設計・実装すると?(増田さん流の解釈)
 ・上手く設計・実装できると、バグが激減。
 ・修正・変更が簡単。
 ・早くコードが安定する

■人の役に立つソフトウェアを書く
 「書き上げた(動いた)」は道半ば。
 自分がわかる(動かす)ために書き、他の人がわかる(使える)ように書き直す。

■設計の学び 3つのステージ
 1st Stage : 修行する
   9つの簡単なコーディングルールでオブジェクト指向の基本を体に叩き込む

 2nd Stage : 一人前になる
  Become a Software Developer
   6つの役割ステレオタイプで設計する

 Final Stage : 突き抜ける
   Become a Leading Software Designer
   Become a Thoughtful Software Developer

(3つのステージの詳細は発表資料参照)

■オブジェクトの設計と実装の学び方 まとめ
 (1) 設計の学びの鉄則:「考えてコードを書く」
 (2) オブジェクトの設計と実装の基本:「小さくする」
 (3) 設計スタイル:
  ・役割ステレオタイプ
  ・小数の隣人と協力
 (4) オブジェクトの設計・実装で突き抜けたかったら:「ドメイン駆動設計」
---

★感想:
発表資料が非常に良く纏まっていて、この日の参加者でなくても最初から最初まで一読する価値ありです。
何をすべきか、が明確に書かれていますし、随所にアドバイスや書籍紹介があるのがいいですね。
オブジェクト指向設計に関する指針やノウハウがいっぱい詰まってます。
あと、伊庭さんの最初のセッション「Design Patterns」から適切なパターンを抜き出して、ご自分の発表資料に随所にマップして説明しているところが素晴らしいです。
すごくスムーズに実感として腑に落ちてきますね。

でも、「メソッドは3行以内」は、俺はちょっと無理そう。。。
俺がオブジェクト指向の本質を理解できていないからなのか。。。
これは今後、やるべきか否か、ちょっと注意深く意識してみよう。


★最後に:
今日のイベント、非常に内容が濃く有意義でした。
ブログ書くために再度togetterとか発表スライドとか読み返したりしてたんですが、すごくノウハウやコツが詰まってるのを再実感。
学ぶだけでなく、実践し、アウトプットしてみようと思います。
特に「Lerning Patterns」の40個のコツを意識して行動したい。

発表者様、運営者様、会場提供者様、非常に有意義なお時間を提供いただき、ありがとうございました。

-->