Create a new world

きっと誰もが新しい世界を作り続けているんだよ。

DevLOVE Hanger Flight Ruby編で発表してきました!

昨日行われたDevLOVE Hanger Flight Ruby編で15分のショートセッション枠を頂いたので、発表をさせてもらいました。

スライドはSlideShareに載っけたけど、これじゃどんな話だったかわからないと思うので、作成していた「発表者ノート」を書き連ねていきたいと思います。

(以下スライドの発表者ノート)

自己紹介

業界4年目のエンジニア 転職歴あり。「3年以内に辞めたひと」
立川で.net使ってプログラマやってる
Rubyに憧れて趣味で触り始めた。まだ3ヶ月くらい。

Rubyとか勉強する余裕なんてなかった

前の会社は人を外に出して仕事させてお金をもらうビジネスモデルの会社だった
リーマンショック以降案件激減。僕らが入れる案件が無くなった。

窮余の策が自社でサービスを立ち上げるだった。
やろうとしたことは、人に技術を教える事業。
豆蔵さんとかオージスさんと同じようなことを。

人に教えるなんてできる訳がない。
自分は新卒2年目。
周りも案件干されるような低スキル技術者。

それでも現状を打破したかった。
他に行くあてもなかった。
卒業後あった若干のブランクがネックで転職は叶わないと思っていた。
だから必死に勉強した。

2年で技術書40冊読んだ。
半分以上は実際に手を動かして試して仕事にフィードバックさせた。
学ぶべきことが山ほどあったと思っていたので、仕事外で他のことを勉強する余裕なんてなかった。

転機

それでもうまくいかず、結局転職をした。でもそれが転機だった。
それまで学んだことが生きて、普通に仕事をこなせるようになっていた。
あれも学ばなきゃが無くなり余裕が生まれた。

転職してから勉強会に参加し始めた。
自ら学ぼうとする人々の輪の中に入れたことがなによりもうれしかった。
技術への興味が強まる。

アジャイル界にはRubyistが多い。みんな先進的なことをやってる。自分もその中に入りたいと思った。DevLOVE LEDで自分が欲しいと思うサービスを作る姿、Webサービスを簡単に作れるという話に想いが膨らんだ。でも一番のきっかけはこしばさんのRuby×Excel話だった。

Rubyを学ぶ

震災後の翌月曜日。電車動かず自宅待機をしていたなかでRubyを学び始めた。Head First Railsの写経を始めた。
「.netと比べたら圧倒的に楽だ」という印象を得た。

写経をしたあと、何かちっちゃなものでいいから自分の手でモノを作ってみたいと思うようになった。
QConで聞いた井庭先生の「学習パターン」の影響。アウトプットから始まる学びが大事だと思っていた。Twitter Botを作ってみようと思った→Rubyist Botの影響。

Twitter BotGoogle App Engine, JRuby環境で作ろうとした。しかしうまくいかない。Gemの互換性が原因。Yokohama.rbでGAE + JRubyはいばらの道だと聞いた。

Ruby, Herokuで作ることにした。リアルタイムで動かしたいのでNode.jsでCronを回した。これもYokohama.rbで聞いた手法。ただNode.js Cronが1時間でプロセス停止させられたので、Cronの1Webサービスを使うことにした。

気づいたこと

作ってるときは、大変だったけど楽しかった。なにより新しい言語を試すということがとてもエキサイティングだった。

いろんな知見が得られる。新しい言語で得た知識をメイン言語にフィードバックすることも可能。t_wadaさんのRSpec入門を写経し、.netのNSpecに翻訳することもできるかなとか。

学ぶ意義

「一年に一つ新しい言語を学ぶ」という言葉が突き刺さっていた。いまようやく自分の興味で新しい言語を学ぶことができるようになった。

技術者ならば、常に腕は磨いていきたい。自分のためにも、ユーザーさんのためにも。新しい言語を学ぶということも腕を磨くためには必要なことだと思う。

VSUGアーキテクトアカデミーにてアークウェイ森屋さんが「自分の中に基準を作り、その基準をもとに新技術が使えるか判断しなさい」とおっしゃっていた。そのためには新しい言語・技術にどんどんチャレンジしていくべきだと思う。

3.11が起きたとき、計画停電検索サービスや自治体サイトのキャッシュサーバーが立ち上がるのを見て、「自分も出来れば・・・」と思った。そういった想いを形にするためにも、Rubyを学んでいきたい。

憧れだけじゃもったいない

大事なことはやってみたいという強い気持ちを持つこと。そして実際にやってみることだと思う。 憧れだけじゃもったいない!憧れを憧れのまま終わらせない。憧れの世界へ飛び込んでみる。全部は無理だけど、なにか1つでも出来ればよいのではないだろうか。

やってみてこそわかることがある。API使ってデータを表示する程度ならSinatraがとっても簡単でよいなんてこと、やってみなきゃわからない。

一人でやるのも楽しいんだけど、モチベーションが続かない。複数人でやれるとモチベーションが続く。会社の人と業務時間外でAndroidチャレンジするとツイートしたら、大学の先輩から連絡がきて、いっしょにアプリを作ることに!先輩の立場が鶏な気もするけど、それでもいい!

Twitter Botにチャレンジしたことで、当面はRuby × Herokuで勉強してみようと思えるようになった。憧れのまま行ってたらいまもGAE × JRubyと思っていたかも。それに気づけただけでも大きな収穫だと思った。

仕事もあるし勉強会もあるし付き合いもある。家族もある。でもまったく時間がない訳ではないと思う。まだRubyやったことない人、自分の時間をちょっと割いてやってみてはどうだろう。失敗したっていい。挫折したっていい。やることが大事なのだから。一歩ずつやっていこう。ステップバイステップで。

(発表者ノート ここまで)

感想・補足

今回がパブリックスピーカー初挑戦でした。当初緊張やら不安やらが渦巻いていたのですが、いざ話し始めたらそんなのなくなって気持ちよく話せてる自分がいました。
きっと、先日のYokohama.rbの場で素振りをさせていただくことができたからとかあるんだろうなぁと思いました。

あと、もうちょっとツイート欲しかったかも(^^;
あ、でもツイート少なかったってことはちゃんと聞いてくれてたってことなのかな。そうならむしろありがたいかも。
帰り道 @DiscoveryCoach さんと話をしてて、「引用とか無かったのも原因かも」ということを聞いてなるほどなと思ったり。でも今回は自分の言葉で伝えたかったのでよかったのかも。

技術書40冊ってのは意外と反響あったようで。
でもあれが出来たのは、業務時間内で読んで試して仕事で使ってということが出来たからなんですよね。業務時間外も勉強してましたけど、業務時間外のみだったらまず無理。
あと冊数を強調したけど大事なのは理解するということだったりします。まぁその理解を得るためには結構な冊数を読むことが前提条件なのですが。(このあたり、どこかで話す機会があればなぁ。)

そんな感じで、今日の話が誰かの熱意に火をつけるようなことが生まれたらいいなぁと思ってます。

※他のトーカーの皆さんの話は後日まとめる予定。