ITpro Challenge!のメモとか

やたらと豪華なメンバーで話題沸騰のイベント、ITpro Challenge!に行って来た。
定員70名の中のラッキーな一人だったのでさっそくレポート…というかただのメモ。
もし会社員のままだったら今日絶対休めてないのでいいタイミングで辞めた俺GJ。
詳しい内容は後日動画がニコニコとかに上がるそうなのでそちらをチェックされたし。
発表者とLTの面子だけでも豪華なのに、右斜め前を見ればMatz氏が、左を見れば吉岡氏がいらっしゃったり…など聴衆もスゴかった。
メモが取り切れてないので細かい点は色々はしょって印象的だった所だけ…。(聞き入ってた。)
懇親会は存在を知らずに申し込んでなかったので直帰。出来れば参加者宛にメール流してほしかったなぁ…ブログの存在知らなかった…。
参加者へのリマインドメールにブログの記載がありました。僕が勝手に見落としていただけのようです。

2007/09/10追記 もはや僕のメモはあまり役に立たない割にアクセスが減らないのでまとめとしての需要が大きいと判断して関連リンクの位置を上部に移動。今後も動画が全部公開され終わるくらいまでは追記、更新しようかと。
2007/09/12追記。江島氏のプレゼン資料がついにアップされたので関連リンクに追加。
2007/09/12追記。鵜飼氏のプレゼン資料を関連リンクに追加。
2007/09/17追記。江島氏のプレゼンのニコニコ動画を関連リンクに追加。
2007/09/24追記。鵜飼氏のプレゼンのニコニコ動画を関連リンクに追加。
2007/10/09追記。伊藤氏のプレゼンのニコニコ動画を関連リンクに追加。
2007/11/05追記。戀塚氏のプレゼンのニコニコ動画を関連リンクに追加。

関連リンク(随時追記予定)

主催者関連
å‹•ç”»




  • 懇親会でのプレゼン

メインプログラム発表者のエントリと資料
LT発表者のエントリと資料
そのほか

itprochallengeタグのRSSをリーダーに登録しておくのがお勧め。

How we built Lingr

  • 発表者
    • 江島氏
lingrリリースから1年後
  • 期待
    • 100000ユーザ
    • 英語7割
    • 同時接続10000
  • 現実
    • 9000ユーザ
    • 日本語7割
    • 同時接続600
今後
  • 何が悪かったかは学んだ
  • 根本的にモデルを変える必要がある
  • 少ないながらも熱狂的なユーザの支持
  • ゼロから再設計することにした
マネジメント
  • 生産性重要
  • 購買無制限ルール
    • 生産性向上に必要なものであれば(説明がつけば)好きなだけ買っていいらしい。
    • ただし何を買ったかはメンバー全員にオープンにする。
    • ↑だけで完全に回ってる
    • 一人年間100万使っても生産性が10%上がるならば十分においしい投資
      • 最もおいしい投資だと言い切ってた。
  • 勤務規程不要
    • 出社不要、休暇無制限
    • 仕事をしたくなるプロジェクトを提供できるかどうか
    • (情報共有は)IM, lingr, twitterで十分
    • Trac, SVNリポジトリも外置き。社内システムゼロ
    • Trac,(のおそらくタイムラインとチケットのRSSかな)と、SVNのコミットログで互いの仕事ぶりはわかる。透明性、相互評価
    • 基本的に各々が別々の場所で働く。
組織図
  • メンバーが上にいて、マネージャがそれを支える(ような図が出てきてた)
最後に
  • 次の作品こそ自分のベストだ!!…と一生言い続けたい
感想とか
  • 少ないながらも熱狂的なユーザのいるdjango-jaとかjava-jaのためにも草の根布教活動をしなければ。
  • 購買無制限ルールは衝撃的…だけどたしかに人件費のほうがはるかに高いのはおっしゃる通り。つか自宅のデスク周りの環境は相当金かけてて快適なだけに出来ることなら自宅作業にしたいわ。すぐ隣がベッドという諸刃の剣だけれどもっ
  • Trac(もしくはそれに順ずる何か)+SVNはやっぱり重要と再確認。つかもうそれがない職場では働きたくない。(環境を作らせてくれるなら別)
  • 2年くらいじゃ英語うまくなんない

ハッカーのソフトウェアエンジニアリング

  • 発表者
    • 鵜飼氏
ハッカーが作る
  • 個人もしくは少人数で作る
  • 自ら作りたいものを作る
  • マイルストーンは細かく設定
要求仕様
  • 目標設定
    • 何を作るか
    • どのようなものを作れば便利か?役に立つか?
    • 既存システムはどうなっているのか?
      • 何は作らなくてもいいのか?利用できるのか?
      • 何が出来て何が出来ないのか?限界はどこか?
      • それぞれどのように関係しているのか?
    • 既存のものをうまく組み合わせるための引き出しが多ければ多いほどいい
Design Document
  • プロジェクトの説明
    • 何を作るか、どのように使われるか
    • なぜ作るのか
    • どのように作るか、その方針
    • 用語説明
  • グループで開発する場合には必要
  • たくさん書かないといけない場合は問題が複雑すぎる
設計
  • 実現可能性、理解しやすいシステムに
実装
  • 様々なノウハウ
  • 読みやすいコード
    • Code Reading, Code Review
    • Code Reviewのおかげで品質が大きく向上
      • チェックインする(コミットする)前に行う。
  • 集中
    • 頭の中にプログラムを入れる。
Code Reading
Code Review
  • 違う目でみると気がつくことがたくさんある
    • 細かく切り刻んで起こりうる問題を見出す
    • 別実装の提案
    • 明らかでない点を明らかにする
  • レビューは新しいコードを書くのと同じくらい重要!!
  • 開発チームを育てる
テスト
  • ユニットテストは書く
    • テストしやすいコードを書く
    • 使い易いAPI
    • ユニットが信頼できることを保障
  • 危険なパターンをどれだけ想像できるか
  • 当たり前のパターンをテストしてもどうしようもない
  • コードを書いた時の思い込みをどれだけ捨てられるか
デバック
  • どこがおかしいのか
    • プログラムがどう実行されているのか
    • 範囲を狭めるテクニック
チューニング
Hackerに近づくには
  • 必要なのは知識と応用力をつける(ための時間)
  • プログラミングを楽しむこと
Hackerに必要な知識
知識の習得方法
  • いい書籍を読む
    • たくさんコードを読む
    • 色々試す
      • 改善してみる
    • 限界をしる。駄目なパターンを知る
    • ハッカーにコードを読んでもらう
      • コードを公開
      • コードレビュー
ハッカーと仕事をする注意点
  • 面白い問題設定が重要
    • 出来て当たり前は面白くない
    • 明らかに実現不可能なことに取り組むのも時間の無駄
  • 情報共有
  • 競争と協力
  • やる気、集中の持続
    • 会議などの割り込みを嫌う理由
感想とか
  • 何かを作るときにDesign Documentはちゃんと書こうと思った。
  • 自分ひとりプロジェクトでもユニットテストはちゃんと書くようにしよう…。
  • 今時間だけはたっぷりあるんでひたすらコードを読む。というか読んでる。Djangoのコードを…全然進まないけど一歩ずつ進もう…。
  • たらればになるけど大学の時にコンピュータサイエンスしっかり学ぶべきだった。当時全く興味もてなかったんだよなぁ。

ベンチャー指向プログラマ

  • 発表者
    • 伊藤氏
オレの人生

わざわざ特筆するようなことは…というか書きづらいネタだったので(ry
問題なさそうな最後のほうだけ取り上げると

  • 自分で作る(こと重要)
  • 一歩一歩進む
    • いきなり頂上を見ると萎える
    • コンプレックスは成長の兆し
    • ひとつひとつ目の前の階段を上る
感想とか
  • 大学時代にネトゲ廃人だったあたりのくだりとか、自分もそうだっただけに妙に親近感が…w
  • もっとはるか昔からスーパーハカーだとばかり思ってた。僕もC言語は大学時代にポインタ出てきて挫折した口…
  • 人生はハイリスクハイリターンが当たり前
    • リスク背負って引きこもるために独立の道を選んだ所。
  • 最近のはてなはウェブアプリ作れるだけでは入れない。
    • 逆立ちしても入れないくらい敷居高そうなイメージしかないなぁ。

ニコニコ動画の創りかた

  • 発表者
    • 戀塚氏

気になったところだけ…。資料は既にhttp://info.dwango.co.jp/rd/で参照可能

楽しいプロジェクト
  • ユーザ開発者間のモチベーションが高かった
  • 共通認識がうまくいった。
    • 実際にやってみて意見をぶつけあうことで認識の共有を深める
  • 高速イテレーション
  • 新しいことを決めながら作業するのは楽しい。
環境
  • 作業の邪魔が入らない環境だった
  • 在宅勤務
    • ただし、進捗情報が把握されやすくする努力が必要
      • 開発中のシステムがいつでも遊べる
      • やっていることをwikiに記録
      • メッセンジャーなどですぐに答える
感想とか
  • 全文検索はmysql+senna
    • sennaといえばこの間のdjango勉強会でも出てきたな。まだちゃんと見てない…
  • やっぱりモチベーションあがるプロジェクトであること重要なのかなぁ。となると仕事じゃなくて個人で色々やってるのが一番面白いんだけど。でもそれじゃ駄目なんだよな…。

LT(感想のみ)

  • 風呂グラマーの増井氏の認知度は異常
    • 初心者風呂グラマーにはDSがオススメ
    • HDDは水没しても乾かせば復活する(実体験
  • 古川氏のカレンダライブラリはいいと思う。
    • そういえばRtMも、next wed とか書いたら勝手に翌週の水曜日の日付に変換してくれて便利だったな。
  • 開発言語開発合宿?ã‚’9月21日くらいにやるらしい。(日付うろ覚え
  • ニコニコでは人材募集中
  • 松岡氏のshibuya.tracってこれのことかな?
  • 山本氏によるアルファギークアプローチの絶大なる効果。下手な広告よりよっぽどインパクト大きそうw問題はいかにして釣るか…か。