2012-11-08(Thu) [長年日記] [Edit]
■1 10年のキャリアを生成する仕事の全体像
(このエントリは『100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊』に寄稿したkakutaniのパートの原稿の誤字を修正したものです。RubyWorld Conference 2012で松江に来ているので掲載しました)
「歯車の1つになった人間は、仕事を楽しくできない。仕事が楽しくなるのは、仕事の全体像が把握でき、全体の質に責任をもつ場合である」
このフレーズに出会ったのは、建築家クリストファー・アレグザンダーの『パターン・ランゲージ』を読んでいたときのこと。当時私は、江渡浩一郎氏の書籍『パターン、Wiki、XP』の草稿レビューに参加していた。私の役割は、書名にもある「エクストリーム・プログラミング」について、実践経験者からの視点を提供することだ。この得難い機会に何とか貢献すべく、紹介される参考文献を芋づる式に読み進めていたのだった。
仕事の全体像を把握し、仕事全体の質に責任を持つ。そして仕事を楽しくする。私がXPを起爆剤とする「アジャイルソフトウェア開発手法」のムーブメントに熱狂し、心酔した理由はこれだ。「計画や見積り、設計やレビューが良いことならば、それをとことんやればいい」高らかにそう謳うXPに出会ったとき、私は「これならちゃんと仕事ができる」と確信した。じゃあその確信、「ちゃんとした仕事」の着想はどこで得たのか。プログラミング未経験だった私にさまざまなチャンスを与えてくれた当時の職場のおかげもあるが、決定的だったのがこの『達人プログラマー』だ。私のプログラマとしての「仕事の全体像」は本書によって形づくられた。
偉大な書籍は偉大な1行から始まる。「本書はあなたがより良いプログラマーになるためのお手伝いをするものです。」本書は、プログラマを問題解決のプロフェッショナルとして定義する。その仕事はプラグマティックでなきゃならない。すなわち、観念的な思索よりも実践的な手法に基づき、物事を現実的に意味のあるかたちでやり遂げるんだ。本書は46のセクションと70のヒントを通じて、プログラマの仕事の全体像を描きだす。「これは大変な仕事」であり、私たちプログラマは「毎日小さな奇跡を起こしながら仕事を進める」のだ。
プロジェクト、設計、テスト、コーディング、デバッグ、コミュニケーション。それぞれの局面において、常に自分自身をより大きな状況のなかに位置づけること。そして、その状況に含まれる、さらに細かい粒度のコンテキストにある物事をおろそかにしないこと。「ソフトウェアは建築と言うよりもガーデニングに近い」。頭の中にある構想(それも他人の!)を具体的に動作するソフトウェアに変換するプログラミングとは、人と人とコンピュータをつなぐ有機的な活動なのだ。
久々に読み返してみたら、私の仕事は見事に本書の範疇内かそこから発展したものばかりだった。私のキャリアは『達人プログラマー』が生成したといっても過言じゃない。アジャイル開発手法の実践は、本書の描く全体像を具現化する手段だ(そういえば、現在の職場へ転職する際に持参した職務経歴書は本書からの引用まみれだった)。記事の執筆や講演だってセクション6「伝達しよう!」の実践だ。Rubyのコミュニティに身を投じたのだって、私なりの「グルへの礼儀とグルへの道」だ。
本書の示す「プログラマの仕事の全体像」は出版から10年を経てなお、現在進行形で補完と発展が続いている。著者であるデイブとアンディが、自分たちの読みたい本を届けるための出版社、The PragmaticBookshelfを設立したからだ。そのラインナップは既に100点を越えており、何点もの書籍が日本語に翻訳された。
中には、私自身が翻訳を手がけたものもある。『アジャイルサムライ』もそんな一冊だが、その内容は『達人プログラマー』のセクション45「大きな期待」を1冊に展開したものとも読める。さらに私は、彼らの書籍の翻訳書を電子書籍で販売するサイトの運営も手伝っている。デイブとアンディが自分たちの出版社でそうしているように。
これまでの10年、私のキャリアは本書と共にあったが、まだまだ道は半ばだ。だからこの先も本書(とその発展が)示す道を行くつもりだ。まずは私自身が本書を時代を超えて読み続けようと思っている。
(2007年に初めてお会いして以来、ついに『達人プログラマー』にサインをいただくことができた(毎回持参するのを忘れていた)。I made it fun!)
2012-11-09(Fri) [長年日記] [Edit]
■1 RubyWorld Conference 2012 での講演: "ABOVE ALL, MAKE IT FUN!"
2012/12/16更新: ustream.tvで講演動画のアーカイブが公開されました http://www.ustream.tv/recorded/26829471
ustの動画を自分のWeb日記に埋め込む方法がわからなくなったぞ……
……と思ったら、tDiary Pluginであっさりできた。AWESOME ![]()
ひとつ前のエントリでいまさら突然『達人プログラマー』を紹介したのは他でもなく、RubyWorld Conference 2012(翌年以降用リンク)で、かのDave "pragmatic" Thomasの後に講演をさせていただくという光栄な機会を得たからなのであった。
(@pragdave, @tenderlove, @yukihiro_matz と記念Tシャツを着て記念撮影。講演後なので表情も晴れやか。撮影:@koichiroo(D800))
あとで録画も公開されると思うのだけれど、基本的には会場に足を運んでくれた人向けのお話なので、見ても仕方なさそう……。スライドも下記にありますが、背景画像なのでご参考まで:
RubyWorld Conferenceには、初回の2009年から毎年参加させてもらっている(今年で4回目!)。*RubyKaigiとはまた違った味わいのある、いわく言い難いクオリティを備えるカンファレンスなので、ついつい参加してしまう。未参加の方は是非いちど松江まで足を運んでみるといいと思う(来年も開催されるっぽい)。今年のカンファレンスの様子はハッシュタグ#rubyworldを@miyohideがtogetterにまとめてくれてる。Great Job:
まあ、私のトークの時間帯は司会の石原さんを褒めるツイートしか残ってないけど……。
(プロフェッショナル司会の石原さんと講演直前、いわゆるスーパーナーバス状態の私
。撮影: @hsbt)
もうちょっとこのトークの背景とかカンファレンスについても書きたいことはあるのだけれど、長くなりそうなので、まずはトークをしましたの一般情報のお知らせでひと区切り。
2012-11-14(Wed) [長年日記] [Edit]
■1 #RubyFriends, Wouldn't It Be Nice -- You Are (Not) Alone
#RubyFriendsは素敵な試みなので紹介したいと思います。@tenderloveも推薦!!
I think the #rubyfriends site is the one of my favorite things of 2012. It’s an awesome way to break the ice. 2012-11-08 17:04:44 +0900 via Tweetbot for Mac
tenderlove
Aaron Patterson
#RubyFriendsは11/1〜11/3にコロラド州はデンバーにて2006年以来再び開催されたRubyConf 2012で始まった取り組みです。この日記を読んでくれている人も参加してくれると嬉しいなあ、と思ってます。RubyFriends.comの公式サイトにはこう書いてあります:
カンファレンスとか*.rbとかミートアップとかハッカソンとかでRubyistと出会えるのってすごくない?
で、そういうRubyistとの新しいつながりを共有できたらすごいと思わない? できるんだなそれが!
Rubyist(たち)と一緒に撮ったスナップ写真に、#RubyFriends とハッシュタグを付けてtweetすれば、
このサイトに掲載されるのです。ソースコードを提供してくれたKristopher Murataと#FridayHugチームのみんなに感謝します☺
……つまりカンファレンスとかミートアップで会った人とあなたが一緒にお手元のスマホ等で写真を撮って、#RubyFriends っていうハッシュタグを付けてtweetすれば http://rubyfriends.com/に載ります、という話。
なのだけれど、これがなかなか侮れない。#RubyFriends というエクスキューズがあるおかげで、これまで気後れして声をかけづらかったあの大物Rubyistに声をかけるチャンスが手に入る!!!1 たとえば:
Rubyの言語デザイナーや大場派の大首領やminami.rbのあの人や俺がGCだやプロフェッショナル司会や那須のケント・ベックや達人デイヴや抹茶のおねいさんやCode Climateの中の人やClean Rubyの著者やパッショネイト公務員や最強の中村四天王と思い出の一枚を撮ることができる(割愛した皆さんに他意はありません!)。
「こういうの思いつく人ってぼっちっぽいよね〜」というのはRubyWorld Conference 2012でいただいたフィードバックで、それはたしかにそうかも……刹那の楽しい雰囲気をプリクラのスナップショットを収集することで永続化しようとするふた昔前のギャルっぽくもある……でも、いいんだよ!! 名刺交換プロトコルよりもずっと楽しいし、日本以外でも通じる(デンバー発祥だし)。
というわけで、皆さんもRubyistと出会ったらどんどん #RubyFriends しましょう!!*1
(ソースコードはjoshsusser/rubyfriendsでいいのかな?;いま見つけたところ)
私でよければいくらでも練習台になりますので、以下のイベントに参加される予定のかたはお気軽にお声かけください:
- 12/1: 福岡Ruby会議01(発表者・参加者募集ちゅう)
- 12/14-15: RailsGirls Kyoto
- 1/13-14: 東京Ruby会議10
- 火曜日: Asakusa.rb
*1 といっても、自分の顔写真とtwitterアカウントを紐付けられることに抵抗のある人は当然いらっしゃるので、そこは良識をもって取り組んでください
2012-11-27(Tue) [長年日記] [Edit]
■1 I have begun writhing the Inception Deck for RubyKaigi 2013
(あ。画像中の曜日に誤りを発見しましたが、放置します)
RubyKaigi 2013向けのインセプションデッキを書き始めた(インセプションデッキは生きた成果物なのだ)。本格的な準備はほんとに始まったところなので、まだ公式なアナウンスができる段階では無いのだけれど、このサイトはWeb日記なので「始めた」ということを記録しておきたい。もうあと約半年しかないのである……。
大きな前提を改めて書いておこう:
- 日本Ruby会議 2006 - 2011 はシーズン1(実行委員長:高橋征義, 年ごとの日本Ruby会議20yy実行委員会)
- 2012 -> 404 - Kaigi Not Found
- RubyKaigi 2013 からはシーズン2(実行委員長: オレオレ, 一般社団法人日本Rubyの会が支えます)
シーズン2では、The Ruby Communityの年中行事としての認知を高め、定着させることを狙っていきます。「毎年、これが最終回と思って死力を尽くす」ことを全力でやめたい(… 今… わたしの…心に…直接… 呼びかけています)。You can (not) redo.
このあたりも含めた主な変更点は"The RubyKaigi Rises"に書いてある通りですが、日本Rubyの会の理事ミーティングでRubyKaigi 2013について改めて話し合ってみたら、思っていた以上に規模は小さいのだなあ、と感じています。札幌Ruby会議2012よりは3割程度(?)大きいが、RubyKaigi2011よりは4割ぐらい(?)小さいのかな。
最初のご案内となるのは、12月に:
- チケット販売の見通しとスポンサー募集(いま予算計画を考えているところ
) - Call For Presentations (発表公募)
をやりたいと思っています……正式な日程は……ばたり ![]()
(最速の公式情報は、@rubykaigi でもお知らせしていきます)
チケット価格はシーズン1よりはだいぶ上げます。いくらになるかは、いましばらくお待ちください。ヒントというかベンチマークは、RubyConf 2012かなあ。こちらは木金土の3日間開催で700名規模、登録費用は350USD。
EuRuKo 2012からの帰り道に大江戸線のなかでpostしたtweetに寄せられた世界中からのfavとRTとmentionに見合うものにしたい。が、死力は尽さないl(… 今 ... わたしの …(ry。
i decided to reboot the #rubykaigi in 2013 2012-06-05 10:16:15 +0900 via Twitter for iPhone
kakutani
Kakutani Shintaro
インセプションデッキというのは、プロジェクトを始めるときに書くのだ、とマスターセンセイが仰っていたので書いているのでした:
(うう……このエントリを書く前にRubyWorld Conference 2012の日記を書こうと思っていたのになあ)
■2 ソ〜シャルカンファレンス情報サイト、Lanyrd.comがべんり
http://lanyrd.com がとても便利なので、カンファレンスオーガナイザーだったりシリアルカンファレンスアテンディーだったりする皆さん、いかがでしょうか。Lanyardはカンファレンスで名札を首から吊すためのアレ。名札とかネックストラップと呼んでたりする、RubyKaigiだと「あなたの名前を大きく! 両面に!」でお馴染のアレがサービス名の由来なのかなあ。
Lanyrdのかんたんな使いかた
- http://lanyrd.comでtwitter経由でサインイン
- 自分が「参加する/参加した」イベントはATTEND(気になるとか、参加したい、ではない。それはTRACKING)。
- 運営しているならStaffに追加するとINVOLVEDになる。Speakerに追加するとSPEAKING/SPOKEになる
- 参加することが確定していない(参加登録をまだ済ませていない)、気になるイベントはTRACKしておこう
という感じでポチポチ押してくと、twitter上のソーシャルグラフの人がどんなイベントに興味をもっているかがLanyrdのタイムラインでわかるので、個人的にはとても便利。なのだけれど、Japanで私の知っているものが少なくて寂しい……。
関連リンク
- とうぜん過去のRubyKaigiはすべて登録済なので、Rubyistの皆さんはATTENDED, SPOKEN, INVOLVEDの練習にどうぞ
- RubyKaigi2013 (ありがとうございます!)
- 大江戸Ruby会議03 (いかがですか?!)
- RubyWorld Conference 2012 (だいぶ寂しい……)
- 札幌Ruby会議2012 (いい感じ!)
- PyCon JP 2012 (寂しい……)
- YAPC::Asia Tokyo 2012 (流石!)
- Rakuten Technology Conference 2012 (...)
- LLDecade (これまた寂しい……)
- 2012年8月以降でPHPの日本でのカンファレンス情報は見つけられず。京都でのインターナショナルLispのはあったのに……。
海外の終わったやつ(で、私が参加した今年のもの)
まあ、Lanyrdが充実してればいい、ってもんでもないとは思いますが。私はこういうのがあるといいな、と思っていたので気に入ってる。
『達人プログラマー―システム開発の職人から名匠への道』
『100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊』
『パターン、Wiki、XP ~時を超えた創造の原則』
『パタン・ランゲージ―環境設計の手引 [単行本]』
『アジャイルサムライ-達人開発者への道- [単行本(ソフトカバー)]』



リーン開発の現場 カンバンによる大規模プロジェクトの運営(Henrik Kniberg/角谷 信太郎/市谷 聡啓/藤原 大)
『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』
SCRUM BOOT CAMP THE BOOK(西村 直人/永瀬 美穂/吉羽 龍太郎)
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる(Steve Freeman/Nat Pryce/和智 右桂/高木 正弘)
The RSpec Book (Professional Ruby Series)(David Chelimsky/Dave Astels/Zach Dennis/角谷 信太郎/豊田 祐司/株式会社クイープ)
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~(Mike Cohn/マイク コーン/安井 力/角谷 信太郎)
インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践(Ken Pugh/角谷 信太郎(監訳)/児島 修)
アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣(Venkat Subramaniam/Andy Hunt/木下 史彦/角谷 信太郎)
JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate/角谷 信太郎)










○ Eelvvxhe [The line's engaged ]
○ Ipndiqum [It's a bad line ]