RegionalRubyKaigi レポート (41) 関西 Ruby 会議 05

書いた人:無量井 (@muryoimpl)

RegionalRubyKaigiレポート関西 Ruby 会議 05

はじめに

5 回目の開催となりました関西 Ruby 会議。
これまでは KOF と併催というかたちでの開催でしたが、今回初めての単独開催に挑戦しました。これはその開催当日の様子を伝えるレポートです。

開催概要

: all.jpg

開催日
2013 年 8 月 31 日 (土) 10:00 〜 18:00
開催場所
TIS株式会社 大阪本社
主催
関西 Ruby 会議 05 実行委員会
後援
日本 Ruby の会Ruby 関西
協賛
Ruby ビジネス推進協議会株式会社アジャイルウェアヒューマンリソシア株式会社Rails 技術者認定試験運営委員会
公式ページ
http://regional.rubykaigi.org/kansai05 (スライドへのリンクあり)
公式ハッシュタグ
#kanrk05
togetter
http://togetter.com/li/560708




 photo by Nobuhiro IMAI

テーマ: survive

: survive.jpg

仕事で使う Ruby、趣味として使う Ruby、学びの道具として使う Ruby。

いろんな Ruby の使い方があると思いますが、Rubyist が日々生きていく上で努力したこと、成し遂げたこと、失敗したことを共有できる場としたい、そういう想いからこのテーマを選びました。

開催趣意書はコチラ

(某カップ麺のCM流れる前から委員会はこのテーマ、選んでたんだからね!)

photo by Ryo Nagai

当日の様子

会場には関西地区からだけでなく全国各地から訪れたたくさんの Rubyist にご参加いただきました。ちょっとした電車のトラブルとかあって、開始時刻が遅れたのはご愛嬌(^_^;)

kanpa.jpg
kaigiscreen.jpg
scene1.jpg

左から photo by Ryo Nagai

photo by Ryo Nagai

photo by Ryo Nagai









receipt.jpg
frontview.jpg
rearview.jpg

左から photo by Ryo Nagai

photo by Nobuhiro IMAI

photo by Ryo Nagai









meeting.jpg
committee.jpg
setontable.jpg

左から photo by Ryo Nagai

photo by Nobuhiro IMAI

photo by Ryo Nagai

Rubyist によるアジャイル開発 by 川端光義さん( @agilekawabata )

: kawabata.jpg

いきなり「Ruby の話はしません。」から始まった発表は、川端さんの経営するアジャイルウェアの事例紹介から普段の仕事のやり方やお客様の巻き込み方についてのお話でした。

お客様を開発により深く巻き込んで一緒にリリース計画を作って納期を決定し、お客様との距離を近くすることでフィードバックとプログラムの修正・リリースを行うサイクルをより小さくする。このことを実際に行ってきたプロジェクトを例に働き手の募集なんかも入れつつお話されていました。

「決め手は短納期」という言葉が頻出したのですが、無駄な作業を省き、お客様を開発のサイクルに巻き込んでより早く作ったモノを確認してもらうことで、要件の確認、開発、確認のサイクルを小さくしてこれを実現しているようです。

サイクルが小さくなってくるとコミュニケーションのやり方がより良い方向に変わってきて、お客様のレスポンスが上がる、機能の実現にかかる時間が短くなるなどお客様にとってわかりやすいメリットになっていく。開発者も機能の実現に対して知りたいことを早く知ることができるため、ストレスが少ない開発ができるよい循環が早さを生み出しているようです。

お客様にとってこのメリットがわかりやすいかたちで実現されるとプロジェクトがよりよい方向に進んでいく、というのは、中の人の一人として実感しているところでもあります。やはり、モノの開発の進捗ができたもので確認できるっていうのはお客様にとってわかりやすいので、改めて重要なんだなと思いました。

photo by Ryo Nagai

migrate to magazine.rubyist.net by Kazuhiro Nishiyama さん( @znz )

: nishiyama.jpg

Ruby コミッターである西山さんの発表は、うさぎと亀が動くプレゼンツールを使って、Rubyist Magazine サーバの移行で実行したことについてお話いただきました。

るびまサーバの移行や hiki の改修は、柴田さんと西山さんが主に担当されていて、サーバの移行の問題だけでなく、稼働させる Ruby のバージョンもあがったことで発生した問題や、文字コードの変換問題など、ぶち当たった問題を積極的に解決されていました。

西山さんは、手順書やチェックスクリプトを作成して公開し第三者が確認できるようにしたり、環境の移行によって発生する問題の回避だけでなく移行後に利用しやすいよう改善案を実装をしたり、積極的に活動されていました。

公開できるところはどんどん公開し、修正できるところはどんどん修正していくというのはOSS、特に github を使った運用らしい感じでいいですね。

筆者もるびまの移行時に編集に参加していたのですが、西山さんと柴田さんの問題の発見と解決が非常に早く、移行後の最初のリリースも今現在も大きな問題はなく、るびまが安定して運用されています。縁の下の力持ちな人がいると助かります。感謝、感謝ですね!


photo by Ryo Nagai

No Test No Ruby by 福井 修さん( @iR3)

: fukui.jpg

Ruby 関西の co-founder である福井さん。発表は、Ruby と Ruby で使えるテストツールを使って「検証」をしよう、更にはその「検証」を自動化しようというお話でした。

「No Ruby No Test (Ruby なしでは Test できない、Ruby のない Test なんて)」という言葉を挙げて、Ruby 界の充実したテストツールやその種類の話や CI の話を交えながら、受け入れテストやシステムテストを開発の早い段階で実施し、期待する動作が正しいことを検証できる環境を作ろう、それが俊敏に繰り返しできるように自動化するのがよい、Ruby には良いツールが揃っているので積極的に使っていこうと熱く語られました。

「検証(Verification)」をキーワードに、開発( Dev )のテストから運用( Ops )のテストまでの間に、仕様の妥当性を検証( Ver )するフェーズを入れる。この検証にエンドツーエンド検証に使える turnip を使っていこうということで、この日のために MOGOK に環境を作って turnip による 検証のデモを見せてくださいました。

私は turnip をまだちゃんと触ったことないんですが良さそうですね。まだちゃんと触ってない方は、福井さんの書かれた 『エンドツーエンドテストの自動化は Cucumber から Turnip へ』 を見に行きましょう。


photo by Nobuhiro IMAI

@jugyo さんを支える技術 by jugyo さん( @jugyo )

: jugyo.jpg

Twitter 社の jugyo さん。今の働いている環境や、過去の失敗や経験を交えてjugyo さんを支えているものについてお話いただきました。

jugyo さんは、同僚の住む地域との時差から朝 6 時からミーティングをして、リモートながらスクラムのような体制で、いわゆるガラケー向けの Twitter の開発に参加されているそうです。本社が英語圏にあることもあり、会議もメールも英語で本当にキツイらしいです。「英語なめてたわ〜、完全になめてたわ〜」というくらいキツイらしいです……

jugyo さんを支えているのは主に、OSS、Ruby、github での活動なのだそうです。

社内のツールは Ruby 製のものが多く、Ruby がとっても重宝しているとのことでした。「開発とは、ソースコードによる人間と人間のコミュニケーションである」と jugyo さんも格言を残されているように、この 3 つが jugyo さんの開発ライフを支えているようでした。

ただ、仕事をするうえではいわゆる「技術」だけでなく、人と人との関係や目的を見失わずになるべく自分にとってよいボジションに身を置けるように意識されているとのことで、開発力だけでなくそういう行動が jugyo さんを支えているんだな、とわかる発表でした。また、jugyo さんのキャラからあふれる面白さの中に、環境を自分で選ぶ強さみたいなものを感じました。


photo by Nobihiro IMAI

No Sugar 〜私はどのようにして Rails 開発に貢献したか〜 by 梶原 寿宣さん( @kennyj_jp )

: kajihara.jpg

今会議の開催に伴い、選考委員の中で最も「聴きたい!」という人が多かった梶原さんの発表です。

梶原さんは、どのような経緯で Rails に貢献するようになったか、どのようなことを意識したか、どうやって継続してきたかを自身のパッチや失敗談を交えてお話いただきました。

15分で blog サイトを作ることができたり、ActiveRecord に数行書くだけで validation がかかったり、TDD や DRY 原則など先人の知恵が詰まった Ruby on Rails に惹かれ、是非仕事で使いたい、そう思ったそうです。

理解のある上司や仲間のおかげで Rails を使った案件を獲得でき、業務で使うことができるようになったのですが、梶原さん自身の仕事内容が変わってきて昼間は Rails を使った実装ができなくなってしまったそうです。

そんなときに飲み会から帰ってたまたま Tera Term で VPS にアクセスして作成した Pull Request が取り込まれたのが、Rails にコントリビュートするきっかけなのだそうです。

問題の切り分けが好きだったことと、既存の Rails の構造が学べることから、バグ対策に注力するように意識して取り組み、英語が不得意でも(完了形を忘れていても!) 言い回しのパターンを作成して組み合わせて使ってコミュニケーションをとり、積極的に多くの問題に取り組んでいったそうです。

Rails に貢献したい、Rails に貢献するという目的に集中して積み重ねていったことで、コントリビュートを継続でき、その結果が実を結んで Rails 4 の貢献者として公式ブログで発表されました。すばらしい!

印象に残ったのは、何かを「選ぶこと」「捨てること」は為すべきことへの集中につながる、ということ。やはり断捨離って大事なんですね。でも、梶原さん、睡眠は十分にとってくださいね。睡眠大事よ!


photo by Nobuhiro IMAI

平凡なエンジニアと Rails by Jun Fukaya さん( @fukajun )

: fukaya.jpg

sendagaya.rb の founder である fukajun さんには、Rails を使って仕事をするまでどのようなことをしてきたか、仕事で使い始めてからどんなことをしてきたかを発表いただきました。

もともとは PHP を使った仕事をしてたのですが、Rails と出会って親の会社の HP を Rails で自作したそうです。ただ「これでいいのか?」と自分の実装に疑問をもったことがきっかけで、Ruby コミュニティに参加し始めるようになったとのこと。

東京の勉強会に参加したことがきっかけで、東京で Rails を使った仕事に従事するようになったときに、周りとのレベルの差を感じ始めたそうです。このとき、生産性を上げられるよう自分の道具( vim を使えるように)を磨き、自分のやったことをアウトプットするようにしたそうです。

DeckNotes というサービスを自分で作ってコミュニティで相談したところ、コードレビューや話のネタにすることができ、また、自分でサービスを作ったことで使いたい技術を試す場ができ、アウトプットすることで周りにも教えてもらえるようになったとのことです。自分でサービスを作ってみるといろいろと勉強になる、発見があるというのが強く伝わってきました。

一人で何もかもやってみるというのは悩みも多くなりますが、発見が非常に多いので怖れずにやってみるのがいいと思います(私は業務でしかできていませんが)。コミュニティをうまく活用し、なければ作ってしまえばいいじゃないというのが fukajun さんらしい感じですね。人は世間の荒波にもまれ、いじられて成長するってことですね。


photo by Nobuhiro IMAI

京都の大学生が Rubyist として生活費を稼ぎながら生きていくためにしたこと by 足立 壮大さん( @takehiro0740 )

: adachi.jpg

この日が発表デビュー(すばらしい!)という足立さんは、学生さんながらフリーランスとして働いているそうで、その仕事のやり方の紹介と仕事欲しい!という熱意が伝わる発表でした。

足立さんはフルタイムの学生さんらしいのですが、Lang-8Qiita を運営する Increments でアルバイトをしながらフリーランスで仕事をしているというなかなか稀有な存在です。

足立さんの場合、関西にあって Ruby を使って開発をする会社と、東京にあってリモートで働くことができる会社が働く条件になるのだそうですが、リモート勤務の場合は Chat の環境をヴァーチャルな仕事場として活用しているそうで、HipChat と、Pivotal TrackerCircle CI、github、Qiita:Team を API で連携させてすべてが HipChat に統合されるようにしてとのこと。これとても便利そう……。

リモートで働くためには、OSS 活動で自分をアピールしたり、実際にその会社(このときの話では東京)に行ってみることも重要とのことでした。リモートだと手軽な分、他の人よりも何かアドバンテージをもっておかないと難しいともおっしゃっていました。

また、リモート勤務の残念なところは、仕事終わりに同僚とビールを飲めないことだ、と本当に残念そうにおっしゃっていました。(ビールは大事ですよねw)

学生さんや、リモートで働いてみたいと考えている方には非常に参考になる話だったのではないでしょうか。ひとつの仕事のかたちとして、「リモートで働く」というのがもっと一般化されるといいですね。また、コミュニケーションツールや利用しているツールが一箇所にまとまっているっていうのは本当に助かります。環境を作る際には是非参考にしたいですね。


photo by Nobuhiro IMAI

スイーツタイム presented by ひがきさん( @higaki )

最近、ひがきさんがエバンジェリストとして活躍しているカヌレ堂のカヌレが参加者に配られました。3個入り。

参加者からはかなり評判がよく、各所で「おいしい」との声が聞こえました。大阪に立ち寄った際は、カヌレ堂のカヌレを食べてみてはいかがでしょうか?

kanele_setontable.jpg
kanele_ontable.jpg
kanele.jpg

左から photo by Ryo Nagai

photo by Ryo Nagai

photo by Nobuhiro IMAI

Lightning Talk

今回のLTは割と掲載して大丈夫か?というキワドい内容が多かったので簡単にw

  1. .Netで仕事するプログラマがスクリプト言語として使うRuby by shin_asou さん
    • パッケージ開発で Ruby 使ってくれない……じゃ、コードのジェネレータとして使う!
  2. C# から Ruby に乗り換えた by mollifier さん
    • 哲学って難しいですよね……
  3. たのしい mruby(仮) by kyara さん
    • Emacs でプレゼンするの初めて見た!
  4. プログラマブル営業 by ukitazume さん
    • イベントを Web から Ruby で収集してきて……これに参加している営業さん、すごい!
  5. コードを読もう by yalab さん
    • おもしろコードやメソッドがいっぱい! sidekiq の顔文字メソッド!
  6. CuratorsTVとMoPAについて by Suzuki_Daisuke さん
    • Public Art が Web から探せる MoPA は OSS で開発中。興味のある方はこちら
  7. javascriptがモテないのはどう考えてもお前らが悪い! by cyross さん
    • かっこいい UI に javascript を。 M4W の紹介とかとか。

(写真は発表順)

asou.jpg
mollifier.jpg
kyara.jpg
kitazume.jpg

左から photo by Nobuhiro IMAI

photo by Nobuhiro IMAI

photo by Nobuhiro IMAI

photo by Nobuhiro IMAI









yalab.jpg
suzuki.jpg
cyross.jpg

左から photo by Nobuhiro IMAI

photo by Nobuhiro IMAI

photo by Nobuhiro IMAI

5 年前に関西を飛び出したRuby初級者が自分なりに重ねてきたコードと行動 by Toshiaki Koshiba さん( @bash0C7 )

: koshiba.jpg

こしばさんは、「後追いする」、「次本気だす」という一見ネガティブに見えるこれらの言葉を、非常にポジティブに捉えて実践されています。これまでに作ったコードと行動を挙げて、こしばさんの生き様をご紹介いただきました。

業務ィなコードを頑張って作っていると、業務多忙に陥って頭も帯域もいっぱいいっぱいになるし、コードも公開できない。そこで、日常業務で良く使う、一般利用できそうな俺得ツールを先達の作ったコードをなぞりながら作ったそうです。(こしばさんの作った俺得ツールはコチラ)

また、コード以外の行動としては、継続して何かを続けるというのは得意ではないものの単発ものならできるということで、イベントに一般参加から始めて LT 登壇、運営スタッフとして参加、登壇、主催と段階を追って進めてきたそうです。特に主催をしたときは、提供者となれること、先達と同じ経験ができること、自分だけの体験が得られることに感極まったそうです。(発表では、「やばい」という表現でした。)

先達の知恵や経験を拝借して(後追いして)、必要に迫られた時、次の機会にそれを発揮する(次本気出す)ということが「後追いする」「次本気出す」いう表現に集約されているのがすばらしいと思いました。最後に「新しいことに挑戦したい」とおっしゃっていたように、改めてこしばさんはチャレンジャー精神をお持ちで積極的な方、バイタリティのある方だな、と感じました。

私もこしばさんの姿勢を見習って次に本気を出す機会を作らないと……


photo by Nobuhiro IMAI

Hobby.new(“Ruby”).to_work by Tomohiro Hashidate さん( @joker1007 )

: hashidate.jpg

当日あまり寝てねーわーという橋立さんでしたが、力強く発表をしていただきました。

就職後、プログラムを触りたかったのに Excel をひたすら触るという暗黒面に落とされてしまった橋立さんは、Ruby とコミュニティとの出会いにより見事、Ruby を触ることができる仕事を獲得し、暗黒面から脱出されたそうです。

暗黒面の脱出に役立ったのは、継続的に行なってきた趣味での開発とコミュニティとの交わりだったそうです。

開発面では TDD による素振りを身につけたことによって、コードのシンプルさを保つ力や、問題を分解して全体を俯瞰してから筋道を立てて取り組む力を養うことができ、プログラマとしての素養を磨くことができたそうです。

また、コミュニティとの交わりによって外の世界を知り、仕事をしていく上でどのような能力が必要とされているのか、今の自分はどのくらいの位置にいるのかを知ることができたそうです。

最も大事なことは「自分を売り込むことだ」ということで発表を締めくくった橋立さん。自分を売り込む、最初の一歩ってちょっと難しいですよね。でも大丈夫。そんなあなたのために Ruby 関西ってコミュニティが(ry


photo by Ryo Nagai

RubyKaigi.rebuild(as: intl_conf) by Shintaro Kakutani さん( @kakutani )

: kakutani.jpg

関西 Ruby 会議が開催されるときには毎回ご参加いただいている角谷さんには、今年見事に復活した RubyKaigi 2013 を再構築したお話をしていただきました。途中から参加者との突然の質問タイムが始まって参加者を巻き込んだ、とてもよい時間になりました。

2011 年の Final RubyKaigi の後、海外のカンファレンスに参加するたびに海外の Rubyists に RubyKaigi どしたん? って訊かれるので開催したほうがええな、と思って今回の再構築に取り掛かったそうです。(一旦終了したのは、Director が本当にたいへんだから。)

今回の再構築にあたり、参加者数を絞る意味も含めいろいろな試みを行ったそうです。

  1. RubyConf のように最終日を土曜にした。
    • 割と参加者来た。
  2. 参加費を変えた。
    • RubyConf は 5 日で $800。内容負けてない(勝ってる?)ので上げてみた。
  3. Lanyrd にも登録した。
    • 海外の Rubyists にも伝わるように、世界のカンファレンスに名を連ねたかったから。
  4. International 色を強くした。
    • 過度に海外のカンファレンスに合わせることはないけど、海外の人たちにもわかってもらえるようにはしたいと思っている。

そのほかにも以下のお話が出ました。

  • 英語は頑張れ
  • 今回の会議で見限らないでねw
  • 地域 Ruby 会議は勝手にやれ(もちろん、いい意味で好き勝手にやってくださいって意味ですよ!)
  • 今後について
    • 次は秋にやろうと思っている。2015 年くらいには春にやるようにしたい。

ここに書いてもいいのかも迷うようなぶっちゃけ話もありました。(もう書いちゃってるやつもあるかもしれないけど)

下はQAで出たお話。

  1. Q: 意見の衝突はどう扱うか
    • 最初にやりたいと思ったことを開催趣意書に残す。なるべくブレーキはかけずに、やってみてもらうということが大事だと思っている。
  2. Q: スタッフ間で意見や反応自体がない場合は?
    • どうしてほしいの?という感じの質問をこっちから投げるようにしている
  3. Q: international != 英語化 の意味は?
    • 英語圏の人たちのやり方がベストとは思わないけれど、海外の人たちにも伝わるようにはしたい。決して、英語のできない人は来るなというものではない。海外のやりかたでいいものがあれば取り込むよ、というスタンス。いろんなバックグラウンドを持った人を巻き込みたいので、いろんなバックグラウンドを持った人達に助けてもらえればいいなぁ
  4. Q: モチベーションの維持は?
    • 人生のほうが大事なので、そちらを優先してもらってもいいけど、やめるときは一言いってね、と言っている。主要メンバーはいろいろたいへんなので、間にいる人ががんばれ。(角谷さん自身のモチベーション維持は)特に意識していない。自分のやったことが他の人に影響を与えているな、とわかったときに喜びを感じる。あと、睡眠重要。

過去に開催したものとは違うよ、と言っても再構築って過去の実績があればあるほど難しいと思うんです。それをかなりの変化を取り込んだうえで開催した角谷さんはじめ日本 Ruby の会、RubyKaigi を運営していたスタッフの方々には頭が下がります。ありがとうございます。


photo by Nobuhiro IMAI

開催してみて

今回の会議は、イベントの運営としての活動、コミュニティ活動、仕事とは別の開発者としての活動、仕事を獲得するための活動、自分の殻を破るための活動というような Rubyists の本当の生き様に触れることができた、いい会議だったと思います。

私たちの開催した会議が何かに影響してくれればいいなぁ思っていたところ、後日、関西エリアから新たに Wakayama.rb が立ち上がったとの情報を見て嬉しく思いました。また、コミュニティだけでなく、個人に対して何かしらプラスになる影響があったとすれば、それはとっても嬉しいなって思います。一度、コミュニティやイベントの主催を小さいものでもやってみると、いろいろなことがわかって良い経験になります。皆さんも try してみてはいかがでしょうか。

では次回、どんな規模になるかわかりませんが、またお会いしましょう!