The Final RubyKaigiに途中参加してきた

日本Ruby会議2011(7月16日〜18日)

諸般の事情により2日目から3日目の途中までという形にはなったけれども、最後の RubyKaigi に参加してきた。もちろんせっかくだからというミーハーな理由で。

聞いた話

  • テスト
  • RubyKaigi

を中心に聞いた。この二つは単純に今の興味の中心だから。

もう一つ、若い人の話を聞きたかったので同時開催のアンカンファレンスの方にもちょっと顔を出したりしていた。これは、

もうぼくはおっさんだからだ。

笑うところじゃないよ。おっさんが自分のために答えを探しにだけ Kaigi に出るのはどうなんだろうという思いもあったんだ。「この人に話を聞いてほしいと思われるようにならなきゃなー」となんとなく思っている。そうでなきゃぼくは若い人から何かを吸収する機会を失ってしまう。それはとても怖いことだ。

出会った人

ちょっと全部は書けないので抜粋で。

ネットだけの15年来の知り合いというか師匠に会うことができた。これはすごいことだった。会えても何の不思議もないのに、予期せぬ出来事だった。ぼくの師匠は普通に歩いていました。

もう一つ、E和の人にお会いできた。これは会えたらいいなと思っていた人たちだったし、スタッフだから会えるに決まってると思っていた。ありがとう、ぼくがこの間 Rails アプリを仕上げることができたのはあなたたちのおかげです。(いや、他にも目標や憧れの人はいたし、参考になる情報をくれた人もいっぱいいたし、その人たちの中の何人かにもお会いできましたけど。)そして普段追っかけをしてる人たちに「会えて嬉しい」と言ってもらえたことがとても嬉しかった。

そしてこの日記を参考にしてると言ってくれる人にも何人か出会えた。なんだか不思議な感じだった。割といいリアクションをくれる人が多かった。

この日記で使っている tDiary のたださんにもお会いした。本物のモヒカンだった(笑)

ついでじゃないけど !tDiary会議にも参加した。tDiary の先端は After Rails な世界の恩恵に与るために最初の学習コストが上がってしまってるんだな、やっぱり、とか思ったりした。

考えたこと

最近の悩み

考えたら…。そうだなぁ、多少金も時間も掛かってその捻出にもコストが掛かったとしても、イベントには出た方が単純にいいね。小遣い制なら天引きしてもらえばいいというくらいに出ておいた方がいい。そしてできればそのイベントは単なるセミナーじゃない方がいい。泊まれるなら泊まって懇親会に出た方がいい。

今回の Kaigi、ミーハーな理由と最初に書いたけれど、裏のテーマもあった。

  • Kaigiやコミュニティとはつまりなんなのだろう
  • 自分は何がしたいのだろう、あるいは何が不満なのだろう
  • 自分にできることはなんだろう

要するに悩んでいた。

悩みには二種類あったことに Kaigi に参加して気づいた。

  1. 職場内の話
  2. 地域の話

これ以上は長くなるので控えるけど、この二つは似ているようで違う話なんだと気づけたことは間違いなく収穫だった。自分の周りの環境という意味ではよく似ているが、だいぶ違う話になるはずだ。

発表のチャンスは多い方がいい

今回のRubyKaigiには

  • 講演
  • LT
  • アンカンファレンス

の4つの発表のチャンスがあった。これ実はすごいことだと思う。チャンスが多い。ハードルも下げやすい。

発表しちゃうと懇親会のネタができる。出会いやすい。

まぁ人数が多いからチャンスを増やすことができるってのもあるけど。

感じたこと

Rubyistたちはみな楽しそうだった。kakutaniの口からRubyKaigiなくてもなんとかなんじゃね?という言葉が出たからなのか、みんなそんなに不安は感じてなかったんじゃないか。

知らない人がたくさんいた。しかもあの場にいたRubyistは全Rubyistのごく一部に過ぎないのかと思うと、なんだか不思議な感じだ。家に帰ってきたので、もう自分の目の前にはあんなに楽しそうにRubyistがぎゅうぎゅうになっちゃってるような状況は存在しない。でも集めると場所の確保に困っちゃうくらいにはいるってことは実感できた1。しかも彼らはイヤイヤRuby書いてるわけじゃないし、マゾなんじゃないかってくらいにテスト環境、テストデータについて真剣だったり、ライブラリやプロトコルの実装を大真面目に語れるし、改善もできるし、ドキュメント書くし、サービスをホストする。ちょっとゆるいとこもあるけど。

なんだろう、あれは。あそこは地続きだよね。いや、国内という意味じゃなくて、Rubyistの歩く道としてジェット機とか乗らなくても続いてるはずの場所なんだ。

実は今でも自分をRubyistと名乗ることには躊躇する。コミッタでもなければ代表作もない。でもRubyKaigi参加したことあるよ、って今後言えるようにはなった。自分に自信がなくてもKaigiのブランドは使える。便利。いやいや、冗談だけど。

ちょっとだけ安心したのは間違いない。少なくともあの場にいることに違和感はなかった。まぁRubyKaigi出るのにRubyistである必要なんてないし、何の資格も要らないんだけど。ビビっててもそうでなくても関係ないし、スピーカーもけっこう緊張してて、別に違う世界の人じゃない。あーやっぱりそんなにみんな違わないんだなーって思った。これは小さな再確認だけど、確実に前進だと思う。少なくとも自分に対してはみんな同じだと言えるし、他の人にも言ってあげられると思う。

ありがとうRubyKaigi

「モヤモヤしてるんです」と、ぼくはあんなに楽しい場でkakutaniに愚痴っていた。彼は「難しいんすよね」と言ってくれた。難しいと実感していた。これは実は大きな意味があった。自分がやっていることが難しいことなのか単に自分の力不足なのか、それとも環境の問題なのか、もう分からなくなってしまっていたからだ。

難しいことならそういう覚悟でやればいい。できなくても仕方ないさ、だって難しいんだから。自分のせいでも周りのせいでもない。だって難しいんだから。

難しくてもより良い方向を目指すチャレンジは誰にでもできる。継続できるか分からないし成功するか分からないけど、そういう種類のものであるという認識、覚悟とともにあればよい。成功しないとへこむけど、仕方ないさ、だって難しいんだから。

それとは別に「やればできること」は始めてしまえばよい。完璧なテストは書けなくても、自動テスト可能な状態を一度は目指してみることはいつでも始められるチャレンジだ。完璧な状態である必要はない。不安が減ればよい。

これは自分だけかもしれないけど、成功した話ばかりを追いかけると、成功しない自分を追い込んでしまうことがあるように思う。それはいいことじゃない。成功しなかった事実は受け止める必要があるけど、へこむことは必要なことじゃない。

面白いことに、Ruby は未だに導入にすらゴチャゴチャとした理由の要る言語だ。これってつまり Rubyist の多くは悩んでるってことじゃないか? えーとつまりあいつらみんな悩んでんだな。こう思うと、これはなんか変な話だけど自信がつくよね。だってみんな悩んでんだもん。おれだけじゃねーもん。

自分が Ruby を触り始めた頃にはそれほど仕事を語ることってなかったように思う。でも今は堂々と仕事の話をする人が多い。そしてたぶんそこには悩みはある。

ぼくは「ぼっち」だと思っていたし、現実の戦場ではやはり「ぼっち」だ。でも、ぼくの仲間は実在していた。同じ言語やライブラリを使っているとか、同じ楽しさを知っているとか、そういう意味でも仲間だけれど、たぶん似たような悩みを抱えたという意味でも仲間なんじゃないか。ある人は Ruby の仕事をしたいから転職したし、ある人は独立したし、ある人は起業したし、ある人は説得した。そこには少なからず悩みはあったと思う。そりゃそうだ。Ruby はたのしいし、仕事をたのしくするけど、仕事が「たのしい」ばかりのはずはない。

ぼくは今回、感極まっていない。Matz のキーノートも聞いていない2。でも収穫はあった。ありがとう。また行きます。RubyKaigi じゃなくても。そう思える程度には、迷ったり悩むだけではなくなったと思う。簡単に吹っ切れたとは言えないけど、たぶん一歩、あるいは半歩、いやもっと小さい歩幅かもしれないけど、前進したんじゃないかな。

そう思いたい。

  1. yugui本も売れてたのでまだ入門したての人も多いかもしんないけど。 

  2. 帰りの飛行機の関係です。聞く気がなかったわけじゃないよ。 

More

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Develop Document Jekyll