コンピュータやソフトウェアのあれこれ@道民(&元道民)
Planet
達人プログラマー読書会@札幌-2012.01.10 に参加しました
1月 13th
新年あけましておめでとうございます。
2012年1回目の勉強会は1月10日(火)に行われた、達人プログラマー読書会@札幌でした。
「チーム」という最近ずっと興味を持っていることについてまったりと語らいました。
第8章 達人のプロジェクト
この章では、達人プログラマがプロジェクトに入ったら、どうなるか、どうすべきか、という事が書いてあります。
達人が集まるプロジェクトチーム、最強だなあと思います。
また、チームとして集まる事で、達人だけではなく達人「なりかけ」の人の力もたくさん引き出していけそうな(引き出させてもらえそうな)。
「成功とは見る人が判断するもの、プロジェクトの場合見る人はスポンサー、だから、スポンサーの大きな期待に応える事が大事」
心に留めて読み進めていきます。
41. 達人チーム
達人の技法が集団としてのチームにどう適用できるのか。
よくも悪くも染まりやすい自分としてはうなずく事がたくさんありました。
- 品質を気にかけないチームに配属されると、どんなに優秀な開発者でも面倒な問題を修正する情熱を維持しづらく感じる
- プロジェクト開発における環境全体の温度に気をつける、ということは難しい
- チームも組織の一員であり、他の世界と情報交換しあわないといけない
- しっかりと準備されたパフォーマンスがチーム全体を心地よくする
この辺りのチームのあり方、気持ちの持ち方、モチベーションについて、ずっと誰かに引っ張ってもらってきた(幸いにも良い形のチームである事が多かった)ところです。
これからは、自分がこのようなチームを作り上げていく力の一つになりたいと思う。
また
- 機能によってチームを分ける事で二重化を減らす
- プロジェクトの諸活動(分析、設計、コーディング、テスト)を別のものとして独立させることは問題を発散させてしまう事につながる
- 実際のユーザーから2〜3階層離れたプログラマーは、自分たちのコードが実際に使用される際のコンテキストについて、あまり注意を払わないようになる
この辺りはまさに「大規模開発をやっている職業プログラマ」時代に思い当たるところがたくさんありました。
コードのコンテキストについての意識は常に持っていたい。
42. どこでも自動化
今、業務で「Maven」を使用している事もあり、自動化の重要性、便利さ(そして使いこなすまでにはちょっと苦労する事)などを感じていたところでした。
「プロジェクトの整合性と再現性を保証」するためには、なるべく手動の手続きは入れない方がよい。
ただ、細かい部分の自動化にどこまで時間を使うか、は判断を迷う時が結構あります。
(最近だと、Excelにコピーしてデータ量順にソートして終わりにするか、ソート用のプログラムを作るか、など)
自分は細かい部分(自分だけの作業)だと、手動でゴリゴリやりがちなので
「コンピューターの方がうまくやってのけるような繰り返しや俗っぽいことはすべてコンピューターに任せてしまう」
ようにしていきたいと思います。
そして、労力をかけずにそうできるようになりたい。
次回で達人プログラマ読書会は終了(予定)です。
約半年間、あっという間だったなぁ。
最終回もきちんと出席したいです。
2012年に向けて、2011年を振り返る
12月 31st
2011年は、「思い描いていたのと全然違う形でやりたいと思っていたことに近づいた。」そんな年でした。
やりたいと思っていたこと
2010年の終わりに、私は今年の目標としてこんなことを言っていた。
- もてなされるだけじゃなくて、もてなす、楽しいことを伝える側にたつ
- 素敵な情報を発見するハードルを下げたい、リーチを楽にしたい
- 「勉強会内容」じゃなく「勉強会雰囲気」の感想を届けたい
- 勉強の内容より勉強会そのものを知りたい
で、そのために、北海道の勉強会情報に特化した情報を流す何かを自宅サーバーから届けたいなと思っていたのです。
実際にやったこと
- ブログをたくさん書いた
- 勉強会のスタッフをした
- 読書会を主催した
あれ、全然、違うじゃないか、と。
自宅サーバーどこいったんだ、と。(←いるにはいます、生きてます
ブログをたくさん書いた
今年の寺子屋未満に投稿した記事数は57本。
(昨年、一昨年は10本程度)
月平均4本以上書いていることになります。
ブログの投稿数がこんなことになるなんて、今年の頭には思ってもみませんでした。
何故こんなに増えたかというと、
6月頃に「参加した勉強会の情報はすべてこのブログに書こう」と決めた
からなのです。
いつ決意したのか、なにが原因でそうしようと思ったのか、全然覚えていません。
ですが、ブログを書くことで、技術的な感想だけじゃなくて、参加した自分がどう感じたか、どこをどのように良いと思ったかをきちんとアウトプットすることができたように思います(実質半年分だけど)。
やってみたら、思ったよりも苦痛ではありませんでした。
それに、その場で何かをきちんと得て、帰ってから言葉にしようという思いが強くなった。
ただ参加して消化するのではなく、より良い形で勉強会に参加できるようになった。
1つ1つを大事に思うようになった。など、勉強会に対する自分の姿勢も変化しました。
技術的な成分は少ない記事だけど、勉強会がどういうものか、イチ参加者として何を感じたか、これからも誰かに伝わるかもしれない記事を書いていきたいと思っています。
勉強会のスタッフをした
昨年の札幌Ruby会議03のスタッフに引き続き、今年はOSC北海道2011を筆頭に、色々なイベントや勉強会のお手伝い側の経験もさせていただくことができました。
「やってみたい」と「実際にやってみる」の間にある大きな違いを実感できた年でした。
何事もやってみなければわからない。
「やりたい」を「やってみる」に変える1歩が大事、と学びました。
また、スタッフというのは参加者と反対の立ち位置にいるのではなく、同じ方向にいるんだなということにも気がつけました。
向かい合っておもてなしをする時間も、もちろん大切なのだけど、同じ方向から少しだけ遠くや深いところが見れるのがスタッフなのかなと。
1つのイベントについての様々な見方、感じ方、楽しみ方なんかをもっと伝えていけたらいいなと思います。
読書会を主催した
8月から、アジャイルサムライ読書会@札幌道場を開催しています。
今年のはじめに、自分が何かを主催するなんて全く考えてもいませんでした。
日本Ruby会議に参加して、開催中にアジャイルサムライに出会い、自分で何かをやってみたいと思った30歳の決意から、気がついたらこうなっていました。
11月には、読書会がご縁でスライド発表もさせていただきました。
読書会を開催できたことは、自分にとって大きな1歩だったんだなあと振り返って改めて思います。
なにせ、初めて伝える側になるきっかけとなったのですから。
2011年総括
最初に思い描いていたのとは全然違うのですが、
- もてなされるだけじゃなくて、もてなす、楽しいことを伝える側にたつ
- 素敵な情報を発見するハードルを下げたい、リーチを楽にしたい
- 「勉強会内容」じゃなく「勉強会雰囲気」の感想を届けたい
- 勉強の内容より勉強会そのものを知りたい
この、思いには着実に近づいていけた、そんな気がするのです。
人生何がどうなるかわからないものだなあと。
なんというか、振り返ってみて一番の感想は「びっくり」なんですよね。
その時々の自分の気持ちや勢いを大事にして良かったな、そんな風に思います。
2012年
今のまま、思うがままに、ぶれない気持ちで進んでいこうと思います。
特に、「リーチを楽にしたい」「楽しいことを知るためのハードルを下げたい」という思いについては割と長期的な目標として取り組んでいきたいなと考えています。
その1つとして「勉強会レポート」はこれからも続けていこうと決めています。
自分が今ここでこうしているのは、楽しいということを知ることができたから。
何かをきっかけにして、「楽しい」と感じて、勉強会などに関わる人が増えていったらよいなー。
うまく言えないのですが。
何らかの良い影響を自分も誰かに届けることができたら良いなと思うのです。
あとは、個人的な技術力の向上。
今年も新しい事に触れ、自分のスキルもちょっとだけアップしたのを感じます。
でもでも、もっと磨きたいことがたくさんあります。
きちんと手元に揃えておきたい道具をそろえること、使いこなしていくことが来年の目標です。
来年もサボらずに、自分のペースで歩んでいきたいと思います。
今後ともよろしくお願いいたします。
[メモ][planet]2011年のまとめ
12月 29th
2009年のまとめはあるのに2010年のまとめがないことに気がつきましたが気にしない。
- CLTT読書会に割と出た
- #yhiosに割と出た
- 各種.pmに割と出た
- スタートHaskellに少し出た
- Awodey読書会に少し出た
- Java EE勉強会に少し出てClojureした
- GAEにパッチ送った
- (お仕事で)レガシーなのをPSGI化した
- Git勉強会で話した
- 揺れた
- 計画停電時間検索ツールを
DIS手伝った - (お仕事で)iPhoneアプリ書いた
- Coqに触れた
- 論理と計算のしくみ読んだ
- 書くことなくなってソース読むシリーズでお茶を濁した
- JSゲーム製作勉強会に出た
- 函数プログラミングの集いに出た
- RIP Steve Jobs
- YAPCのスピーカーデビュー
- YAPC::ASIA 2011 をレポートした
- Hokkaido.pm のおかげで結婚した
- Allowsの論文読んだ
- #fcsap にお邪魔した
- Hacker Track に書いた
- node.js に触れた
- Scala に触れた
今年は計算論方面にどっぷり染まった1年でしたが、今後はどうするか迷うところです*1。また、来年は大きな変化も訪れる予定です。そんな変化の年を迎えるにあたり、ブログ名もシンプルにしてみました。
それでは皆様、よいお年をお迎え下さい。
*1:機械学習に戻りたいんだけど、勿体ないし面白いしという泥沼orz
第11回アジャイルサムライ読書会 @札幌道場 開催
12月 21st
第11回アジャイルサムライ読書会 札幌道場を開催しました。
参加者は6名。今年最後の開催です。
今回の範囲で「グっときた」ところ
チームで見積りをすることで実のある話し合いにつながっていく
少し手間をかけるだけで見積りはずいぶんと良くなるもの
変化は競争優位を獲得するために活用すべきものになる
勉強会として
今回は、見積り、そして計画作りの話へと進んでいきました。
「アジャイルな見積りと計画作り」と、今回のテーマそのものの本が出ていることからもわかる通り、きちんと学ぶにはこの本では薄すぎる分野なのだと思いました。
実際に他の本を読んでいた人達からの意見を聞くことで、文中の疑問点を補完できたところもたくさんありました。
1人で読んでいたらそうはならないところなので、読書会という場はとてもありがたいです。
同時に、アジャイルサムライは、その分野をさらに深く学んでみたいな、という気持ちにさせる記述がたくさんあるなと感じました。
この本1冊で完璧というのではなくて、とっかかりやすいきっかけとして位置している。
実際、この本から始まったに等しい自分としては今度はこれも学んでみたい、とわくわくする気持ちをたくさん本から得ているような気がしています。
相対的な見積り
「相対的に見積もる」ための前提条件として「プロジェクト全体を俯瞰できる」「客観的にプロジェクトを見ることができる」技術的・現実的な立場が重要だなと思いました。
(まるでベルトコンベアのように)自分の担当する機能の設計書だけが渡されて、全体像もわからないまま、経験値だけで終了予定日数を出す、これは全く相対的ではありませんね。
相対的に見積もることにより、メンバーが全体を把握する、客観的にいろいろな物事を考えることができるようになる、そういうメリットもあるんだろうなと思いました。
プランニングポーカー
実際に現場でやったことはないのだけど「見積りをチームで話し合う」ことはとても重要だと感じています。
自分が気がつかなかった材料を教えてもらえることもあるし、全員の同意を得た上でプロジェクトの規模感を決めていくことはモチベーションという見地からも良いことだと思う。
チーム全体でイテレーション内でやることをコミットメントする
アジャイル的な自己組織化されたチームであればよりやりやすいことではあるのですが、そうでなくても
「チーム全体でゴールを決めて、目標に向かって日々の仕事をする」
ってすごく良いことだなと思います。
上から降ってくる仕事を(全体量も把握できないまま)ただ消化する、そういう形では得られないモチベーションがあると思います。
最初にこの職業についてみたいと思った動機も「皆で何かを作ることができるから」だったんだよなぁ。
ちょっとの方法の違いで、この辺りはチームが生き生きしてくるポイントになるんじゃないかなと思いました。
運営の立場で
今年の終わりまで、オーソドックスに読書会を開催できたこと、何よりもそれにほっとしています。
参加してくれる人がいたからこそ、ここまで来れたのだと思います。
ほんとうにありがとうございます。
約半年、読書会をやってみて、つくづく感じたのは、1冊の本なのに皆全然違う視点で読んでいるんだなあということ。
自分はどちらかというと、疑いの目を持たずに、わくわくしながら読んでいた方なのですが、他の本と照らし合わせてみたり、矛盾点を見つけたり、なにより「これを現実の現場でどう生かすのがよいか」という視点でいろんな話をできたこと、これがとても有意義でした。
本の分量としては半分くらいは進みました。(決して早くはない、むしろのんびり)
読書会としてきちんと最後まで本を読み通すことが来年の目標です。
読書会のディスカッションのwikiはこちらになります。
https://github.com/agile-samurai-ja/support/wiki/Readingagilesamuraiinsapporo20111220
最後に。毎回会場を提供していただいた弊社に感謝。
ありがとうございます。
来年もよろしくお願いします。
達人プログラマー読書会@札幌-2011.12.13 に参加しました
12月 21st
12月13日(火)に行われた、達人プログラマー読書会@札幌に参加しました。
この日は、仕事でかなりやられていて絶不調でした。
しかし、参加してそんな絶不調の原因を知ることができたのでありました。
37. 不可能なパズルを解く
「制約を認識すること」と同時に「自由度を認識すること」。
”それは本当にだめなことなのか?制約なのか?”・・・・ハッとしました。
その日、まさに「もっと簡単な方法があるはずだ」という発想の転換をせずに、ひたすら”この方法しかない”と信じ込んで、そして、疲弊していたのです。
218ページに書いてあった自分への問い
- 簡単な手段は存在するのか?
- 正しい問題を解決しようとしているのか、それとも末端の問題に迷っているだけなのか?
- 何故それが問題なのか?
- 解決を難しくしている真の原因は何なのか?
- この手段でやり遂げなければならないのか?
- 多少なりともこの方法でやり遂げなければならないのか?
この問いは、常に”あれ、なんかおかしい”と思った時に自問すべきだと思いました。
ちなみに、自分の場合どん詰まりになっていた原因は、技術的問題や制約ではなく、元を正すと環境が整備させていないが故に手段が限られてしまうというものでした。
環境の整備を同時に働きかけることで、どん詰まりから抜け出せたのは翌日、翌々日の話です。
38. 準備ができるまでは
なんとなく、思い当たる節があり、うなずきながら読んでいました。
その日、疲弊していた事柄についても(面倒だという気持ちをのぞいて)なんだか進んでよいのか、迷いが生じていたのですよね。
その迷いを、ただの怠慢だと片付けずに、本能に耳を澄ませることの必要性が書いてあり、勇気づけられました。
「本能をあなたの能力に貢献させる」。まずは、本能を研ぎすませたいですね。
また、不安材料を洗いだすためにプロトタイプを利用する方法も書かれていました。
ちょっとした簡単なコードを書いて手を動かしてみることで解決できる、見通しが立つことはびっくりするくらい頻繁にあります。
最初の1歩に迷った時に、小さなプログラムを書いて自分の進むべき道を見つけてあげる、そのくらいのプログラムは呼吸するように書ける、気持ちよく仕事をするために、身につけたい技術です。
39. 仕様の罠
設計を言葉にすることの難しさ、そして何より
「完璧な設計書を作成すれば、1mmも頭を使わずにプログラミングできるというのは間違いである」
という強いメッセージを感じたセンテンスでした。
- プログラミングには必ず人間の解釈が必要
- コーディング担当者に解釈の余地を与えない設計というのは良い設計とは言えない
生産的な仕事をしたい、と思っている自分には力強い言葉でした。
また、設計(仕様を策定すること)と実装は切っても切りはなせないものであり、きちんと境界なしに流れていくべきものである、という部分にも大いに納得しました。
40. 丸と矢印
「形式的方法論の奴隷になってはいけない」
この章はこれがすべてですね。
ちょうど10年前と言えば、UMLがでてきて
「UMLでプログラミングのすべてを表すことができる!」
「UMLとオブジェクト指向でコードを自動生成できる、生産性があがる!」
という話が一部で出てきた頃だったんじゃないかな(そういう本を読んだことがある)と思い返していました。
そういう考えによる弊害、もっと考えなければならないポイントについて、たくさん書かれていました。
特に、形式方法論は専業化を奨励してしまい、コミュニケーションの定価と努力の無駄遣いにつながりやすい、という話はなるほどな、と一番納得しました。
この本で書かれている「VS ○○ と敵をつくらない」「全員がシステム全体を理解しながら進むべき」というのは、今読んでいるアジャイルサムライの中でもチーム像として書かれていることでした。
ただ、形式的開発方法論を学ぶ必要がないというのではなく「とらわれずに道具箱にはいれておく」、知った上で良い使い道を見つける、それが達人プログラマなんだなあ、と。
一通りきちんと学んだ上で、取捨選択できるプログラマでありたいと思いました。
今年の読書会はこの回で終了です。
来年もよろしくお願いします。
TDD Boot Camp 札幌 2.3に参加しました。
12月 12th
12月10日に行われた、TDDBC札幌 2.3に参加しました。
今回はJavaで参加。
お題は「ボーリングのスコア計算」でした。
事前イメージがあった
今回は、お題を聞いて最初におぼろげに実装をイメージしていました。
実装がイメージしやすかった分、当日も取り組みやすかったなと感じました。
int score = new Game("omuko").bowling(1,2)
.bowling(3,4)
.bowling(5,2)
.bowling(6,2)
.bowling(8,0)
.bowling(9,0)
.bowling(6,4)
.bowling(2,3)
.bowling(1,1)
.bowling(5,2)
.score();
assertThat(score, is(68));
※スコアはだいたい普段の成績、残念。
イメージ通りにはいかない
当日のプログラムはこちら https://bitbucket.org/irasally/tddbc2.3
細かい部品から作っていったのですが、どうしても(Javaの言語の性質もあると思いますが)かっちり作ろう、という方向に流れがちでした。
たぶん、一番エラーチェックが多いチームだったと思う。
「クラスに状態を持たせすぎるとテストが大変」というのを身をもって体験した感じ。
でも、部品を作り込んでいた分、部品の組み合わせは思ったよりも楽だった。
この辺りのバランス感覚は、磨いていきたいなと思いました。
「まず、1本簡単な実装を最初から最後まで通す、細かいことは2週目に考える」
途中からその言葉を何回か言いながら開発を進めていきました。
手を動かしたくてたまらなかった
わりと、テストで方向性がつかみやすかったことと、取り組みやすいお題だったことで、
悩んで考える時間よりも、手を動かしてコードを書きたい時間が長かった。
「どうやってテストを書こうか…」と悩む時間が今までで一番少なかったように思いました。
TDDをやりながら開発速度が上がるというのはこういう経験なのかもしれない。
自分が体験して思ったことは
- IN/OUT、得たい結果がはっきりしているお題であること
- お題(取り組むべき相手)が技術的に自分の手に負えること
この二つが揃うと、TDDがとても楽しくなりますね。
特に2は、自分が技術力を上げれば上げるほど広がる幅なので、精進あるのみ!です。
次回も是非参加したいと思います。
主催者の@shuji_w6eさん、今回もありがとうございました!
Hokkaido.pm#6に行ってきました
12月 11th
今回も、無事に開催されて良かったです。
みなさま、お疲れさまでした!
東京からもたくさんの方が足を運んでくれたし、
本当にありがたかったです。
いくつか気になったキーワードがあったので、
後で調べてみようと思います。
Carton
すごい簡単にバージョンを含めたCPANモジュールの管理ができるみたいで、
自分でも使えそうなくらい簡単だったので試してみます。
AnySan
(Twitter, IRCとかの)botを作るためのモジュール群(?)
インストールしたまま放置してたので、使ってみようと思います。
JobQueue
Queueに処理を入れて何かするような処理に、
最近、興味があるのでWEB+DBを読んで復習してみます。
あと、daemonは「だえもん」って覚えるのが良いですね。
mod_perl
MTプラグインのような印象がありました。(全然、別物だけど。)
循環参照
これは、確か最近買った雑誌のObjective-Cの記事でも出てました。
家にあるPerlの本にも載ってたので、ちゃんと復習します。
こんな感じですかね、
特に、CartonとAnySanのお話を聞くことができて良かったです。
その後、翌日も含めて濃い話をしたのですが、
それはそれは、これはこれということで。
確かに、関東圏と北海道を比べると人口が10倍以上違うので、
これだけ集まれば御の字なのかもしれないですね。
だとしても、いろいろ考えされられたこともあったし、
まだまだ考えなきゃいけないこともあるっていうのが、
今回のpmがいつも以上に濃いと感じた理由です。
まずは、MLに反応することから協力したい所存です。(あと、IRCも。)
おしまい。
第10回アジャイルサムライ読書会 @札幌道場 開催
12月 7th
第10回アジャイルサムライ読書会 札幌道場を開催しました。
参加者は7名。今回は初参加の方もいらっしゃいました!嬉しいです。
そして、気がつけば読書会10回目。2桁突入しました。続けられていることに感謝、感謝です。
今回の範囲で「グっときた」ところ
文書化を目的にするな
概算見積もりのままプロジェクトを進めることは果たせない約束になってしまう
正確に見積もれるかのような素振りをやめるべき
勉強会として
ユーザーストーリーワークショップ
ユーザーストーリーワークショップから発展し、大変有意義なディスカッションをすることができました。
ワークショップ
→大規模開発だとどうなるの?
→リリースってどういう形が望ましいの?
といった形。
それぞれに中身が濃くて、アジャイル開発全般に広がった話にもなり(実際に本の前のページを確認したりしました)、アジャイル開発には良い面がたくさんあり、でもどのような点が良いと思っているかは人によって違うんだなあということを知ることができました。
また、私はお客さんと話し合い要求を出すようなことを行ったことがないので、実際にみっちりお客さんと話をした、という例が聞けたのはとてもよかったです。
簡単ではないけれど、ちゃんとものを作っている感じが伝わってきました。
アジャイルVSウォーターフォール
前回と同様、アジャイルとウォーターフォールの話になりました。
アジャイル開発についての読書会をしている以上、比較対象としてウォーターフォールの開発はやっぱりでますね。
今回は「アジャイル “VS” ウォーターフォールなのか、そうでないのか」という話になりました。
自分がまだ正しいウォーターフォールについてきちんと学習できていないので、はっきりとこうだ、という意見は持てなかったのですが、
「アジャイルはウォーターフォールのすべてを否定しているものではない」
から
「ウォーターフォールの良い部分は活かそうと思っている」
と感じています。
「ウォーターフォールを良くしようと言う発想ではなく、全く違う開発手法として定義された」
のかどうかは、まだわからない。
ウォーターフォールについて、きちんと学習する機会の必要性をまた、感じました。
(が、まずはアジャイルについてしっかり理解したいです。)
見積りのこと
今回から「第7章:見積り」に入りました。
普段の見積りって「これ、だいたい何日でできそう?」しかないのですが、「このプロジェクト、どんな感じになりそう?」という形を思い描くことも見積りになるんだなあというのがこの章を読んだ時の発見です。
「どんな感じでうまく行きそう?」っていうのは感覚的にはあるのですが、それをさらに明言して深堀したことはなかったので、次回以降の見積りのディスカッションもとても楽しみです。
運営の立場で
参加者が7名といつもの倍近くいました。
ディスカッションもいろんな意見、いろんな業務の立場からの意見が出て、いつも以上に盛り上がったと感じました。
運営する立場として、時間を気にしてディスカッションを止めることはしないことにしています。
発散?という意味ではそうなのかもしれないけれど、本に書いてあること以上のことを学べる滅多にないよい機会だと思っています。
それぞれに「良い開発をしたい」という思いが伝わってきました、そしてそれを実現するために思い描いている形というのは1つじゃなくてほんとにたくさんあるんだなということに気がつかせてもらいました。
あと、今回初めて同じ会社の@niku_nameさんが参加したことで、(10回も開催していて1回も読書会にきてくれた人にお茶とか出したことなかったよ・・・!)と開催している立場として気がつきました。感謝。
次回からはそういうことも気にしていこうそうしよう。
読書会のディスカッションのwikiはこちらになります。
https://github.com/agile-samurai-ja/support/wiki/Readingagilesamuraiinsapporo20111206
最後に。毎回会場を提供していただいた弊社に感謝。
ありがとうございます。
今年は残すところあと1回。
今後ともよろしくお願いします。
LOCAL DEVELOPER DAY ’11/infraに参加しました
12月 5th
12月3日(土)に行われたLOCAL DEVELOPER DAY ’11/infraに参加しました。
インフラよりのイベントだったので、理解できる話があるのかな…と若干不安だったのですが
すごく、よいセッションを聞くことができました。
ヤマハルータはどのような存在なのだろう? 平野尚志さん
ヤマハ株式会社 サウンドネットワーク事業部で現役でご活躍されている平野さんのお話。
お仕事でルーターを触る機会が全くないので、ヤマハルーターの現物を見たのも初めてだった私。
しかし、平野さんの「ものづくり」に対する姿勢、会社としての「ものづくり」への取り組み方に非常に感銘を受けました。
まさに、自分が「こういう風にものが作れたら素敵だな」と思っている世界そのものだったのです。
ユーザーが困っているということを誰にも言われずに解決するクォリティ
ユーザーの生の声や、問い合わせで「こういうことが困っている」という話をきいて、技術的な面から「こうすれば解決できるんじゃない?」と誰にも言われず提案し、そして製品にする。
「お客さんのためにものをつくる」ってまさにこういうことなんだなあ。
実際にお客さんの声が元で生まれた製品の例、技術者が「面白そうだったから」と作った機能をユーザーのニーズとマッチさせて製品の機能に追加した例など「お客様のお役に立てるものづくり」の実例をたくさんきけたことがとてもよかったです。すごくよい循環で製品が作られていっているなあと感じました。
使い方をどのようにお客様に説明していくか
「作って終わり」ではなく、「どうやったらお客さんによりよい方法で製品を使ってもらえるか」と考える。
「大工さんのかんなやのこぎりのように、料理人の包丁のように扱ってもらえたら嬉しい」という気持ちで製品開発に取り組む姿勢が素晴らしいなと思いました。
そのために、
- 製品ごとに利用者層(習熟度)を想定しそれに合わせた設定方法を用意する
- 利用者のスキルアップの方向性を考える
といった、長いスパンでお客さんのことを考えた製品開発をしていました。
ここまできちんと向き合ってものを作ったことがあったかなぁ…自分を省みたところ「作っておしまい」となる方が多いなあと反省。お客さんの声を聞く、声が聞ける距離にあるって大事だな。
本当は、みんな無責任なことはしたくない
- 作りっぱなしはしたくない
- 売りっぱなしはしたくない
- 使い捨てはしたくない
そう、本当にそう。
でも、なかなかうまくいかない。
だから、こう言い切ってきちんとものづくりに取り組んでいる姿勢は眩しくてうらやましかったです。
おやつ
今回はせきゅぽろと合同のイベントということもあり、いつものせきゅぽろと同じくお菓子がありました。
バババーン

他にもたくさんセッションがありました
今回はスタッフとして運営にも携わらせていただきました。
ですので他のセッションはきっちり聞けていなかった部分もあります。他のブログの感想を待ちたいです。
PacketBlackHoleとPacketKilling de KATANAのご紹介 まっちゃだいふくさん
まっちゃさんによる解析したパケットをゲームにしてしまった製品のお話。
「パケットを取れば丸わかり、何でも復元できちゃうんだよ」というのがほんとにおそろしいわぁ。。。
Rubykaigi2011ネットワークの秘密 小岩秀和さん
1000人規模のネットワーク構築と運用についてのお話。
インフラ系エンジニアの人が多いイベントだけに、実践的なこの話は質問がたくさん飛び交っていました。
LTSPでネットブートクライアントを遊ぶ ささきのぶゆきさん
LTSP(Linuxによるディスクレスクライアント)という言葉を初めて聞きました。
Thinクライアントがここまで進化してきているんだなあ。
教育現場やコールセンターなど確実にニーズのある技術ですね。
「遊ぶ」の主語が発表者のささきさんだった!というのにはやられました。
LT(ライトニングトーク)
今回は、SINさん、小岩さん、nazoさんの3名によるLTがありました。
私もこっそり「ゆるふわLT司会者」としてデビュー。
司会はゆるゆるでしたが、LT慣れした皆さんのそれぞれの個性あふれるとても楽しいLTでした。
このイベントで得た大きなものは、ものを作っている人達は、製品は違えど同じことを考えているのだなということに気がつけたこと。
参加してよかった。
そして1スタッフとして、参加された皆様もそれぞれに何か得るものがあり、楽しんでいただけていたらよいな、と思います。
皆様どうもありがとうございました!
懇親会も楽しかったよぉぉ
(久々に飲み過ぎて昨日ブログの記事を書けなかったことは内緒)
達人プログラマー読書会@札幌-2011.11.28 に参加しました
12月 5th
11月28日(月)に行われた、達人プログラマー読書会@札幌に参加しました。
テストの話やプロジェクトの話など、今も大切だとされていることが10年前に書かれていたことに驚きました。
34. テストしやすいコード
- テストによりコンポーネントの信頼性を高めることができる
- コードの実装を開始する前にテストを作成することでインターフェースのテストをしている
- テストは手近なところになければ使われない
- テストは繰り返し実行されなければいけない
- テストは技術というよりも文化
この短い章の中に、ユニットテスト・テストの自動化・CI・TDDなどの重要性がすべて書かれていました。
これらのことが重要である、とこの頃から言われていることにまず驚きました。すごい本だ。
「場当たり的にデバッグでテストを済ませない」であるとか「プロジェクトにテスト文化を植え付ける」であるとか、今、まだできていないことがたくさんあります。
テストの書き方にもまだまだ悩みます。
「テストは文化」とは、まさにそうだなと思います。
今のプロジェクトにはテスト文化を広めてくれる指導者がいます。おかげでさぼらずにテストを書く、テストから書くという習慣(思考の変化)ができてきました。
これからも精進したいと思います。
35. 邪悪な魔法使い(ウィザード)
新人〜2,3年目の自分に読ませたかった章。
何となくソースコードが書けるようになってきた頃に陥りがちなこと、それは
「フレームワークが何となく使えてればコードが書けている気になる」です。
でも、それだと自分が何を書いているか(どんなバグを埋め込んでいるか)ちっともわかってないのですよね。
- 作り出されたコードの意味が本当に理解できていなければ、自分自身をだましていることになる
- 生成されたコードが理解できないようなウィザードを使うということは、自身のアプリケーションのコントロールを放棄することに等しい
昨今は開発を加速化するため、便利にするために作られた素晴らしいフレームワークやウィザード形式のコード生成ツールなどがたくさんあります。
それらのコードをすべて理解しなければ使うな、ということではなく、
- 何が起こっているか(少なくてもどんなソースがどこにできているか)を理解しておくこと
- いざとなったらきちんとソースを解析できること
- 自分がそのソースコードに手を加える際に適当になんとなくコードを書かないこと
これらを意識しておくだけでも「自動生成コードに振り回されない」プログラマになれると思います。
36. 要求の落とし穴
ここから第7章「プロジェクトを始める前に」に入ります。
お客様の要求を捉える、掘り起こすという、ちょうどアジャイルサムライ読書会でも行っているテーマでした。
どちらも同じことを言っていました。
- 要求が表面上に現れていることはほとんどない
- 最終的な目標はお客様のビジネス上の問題を解決すること
- 要求の掘り起こしは、ユーザーとの親密な関係を築いていく始まりの時
- 要求とは設計ではなくニーズそのもののこと
一つニュアンスがアジャイルサムライ(アジャイル開発)と異なるなと感じたところは
「お客さんは何もわかっていないから開発者がすべてのお客様のニーズをうまいこと引き出す必要がある」
という立場が達人プログラマの方が強めに書かれているなというところでした。
アジャイルサムライでは「お客様がプロジェクトチームの一員となる」ことの重要性が説かれています。
「ユーザーと親密にならなければよいものは作れない」という考え、目指すところは同じですが、アプローチの方法が若干違うなぁと思いました。
名前大事
この章の後半に書かれている「プロジェクト用語集」は本当に大切で、しかし、往々にしてプロジェクト途中で空中分解してしまうもの、です。
プロジェクトの終わりの方には全然更新されてない「(参照してはいけない)用語集」がサーバーに残っていたり・・・。
wikiを使うのも一つの方法かもしれないし、SVN管理することで自分のアクセスしやすい場所においておくこともできるのかな、と思いました。
そして、なにより、開発者間、開発者とユーザー間で「名前大事」という感覚そのものを共有することが大切なのだな、と感じています。
みんなに知らせる
wikiの重要性。2年前だったら言っていなかったと思うこの言葉。「wiki大事。」
使ってみなければわからないとはまさにこのことだよなー、とこの1年ちょっとで実感しております。
だいぶ、本の終わりが見えてきました。
最後まで頑張ります。

