inFablic | Fablic, inc. Developer's Blog.

フリマアプリ フリル (FRIL) を運営する Fablic の公式開発者ブログです。Fablic のデザイナー・エンジニア・ディレクターが情報発信していきます。

Rubyの会社をフル活用してRubyistを目指す -- Fablic Advent Calender 2017

Fablic Advent Calender2日目の記事です。

FablicはRubyの会社です。プロダクトのサーバーサイドはほぼすべてRuby(on Rails)で構成されています。
この記事では、Ruby初心者である著者がRubyの会社であるFablicをどう活用してRubyistを目指しているのか、
道半ばではありますが紹介したいと思います。

勉強会に参加する

Rubyを触るまで知らなかったのですが、Rubyは国産の言語ということもあり、勉強会の質・量ともにとても高いですよね。
会社が許可してくれるならば、参加しない手はありません。
Fablicでは、業務時間内に勉強会に参加することはもちろん、資料を作るのも業務時間内にやって当然OKです。
また、必要によっては経費も出ます。

具体的に参加したのは以下の勉強会です。

Railsスタートアップ勉強会

connpass.com

リクルートマーケティングパートナーズさんの主催で開催されていました。
内容としては初級者向けの発表が多く、まさにRuby触り始めた人にオススメの勉強会でした。

ここではこんな発表をしました。

speakerdeck.com

TokyuRubyKaigi

TokyuRubyKaigi11 一般参加者募集 - TokyuRubyKaigi | Doorkeeper

VOYAGE GROUPさんが会場提供して開催されていました。
内容は初級者向けから上級者向けまでさまざまですが、特徴は何と言ってもサントリーさんから(ほぼ)無限プレモルの提供があることではないでしょうか。
中盤以降、会場はイイカンジのムードに包まれるので、超上級者の前でも緊張せず発表を行うことができ便利です。 会場の雰囲気はこんな感じでした

in.fablic.co.jp

ここではこんな発表をしました。

speakerdeck.com

RejectKaigi

connpass.com

RubyKaigiには落選したとはいえ、レベルの高い発表が連続していました。

このレベル・レイヤーでできる話は用意できなかったので、まとめブログをアップしました。 in.fablic.co.jp

RubyKaigi

rubykaigi.org

Ruby本体の深い話が聞けるだけでなく、日本で参加できる国際カンファレンスという点でも価値の高い勉強会ではないでしょうか。
ここでも発表することはできませんでしたので、スタッフとして参加することにしました。
開催期間中は同時通訳レシーバー管理し、合間にはセッションを普通に聞くことができ非常に有意義な時間を過ごすことができました。
尚、交通費・宿泊費は会社に出してもらいましたし、開催後2日間そのまま地元九州に帰ってリモートワークもさせてもらいました。
Rubyの会社に所属していれば、そのような福利厚生もついてくるのでRubyistとしては見逃せないのではないでしょうか。

ここでもせっかくなのでブログを書きました。

in.fablic.co.jp

in.fablic.co.jp

in.fablic.co.jp

また、会場で仲良くなったRubyistたちと後日担々麺を食べに行ったりもしました。

f:id:kazu9su:20171201183107j:plain

Asakusarb

地域rbの総本山という噂を聞いたりする、Rubyコミッターの方も多数参加している勉強会です。
もくもく主体ということもあり、敷居もライトな勉強会に比べると高いと思われます。
弊社の ujmが毎週参加しており、RubyKaigiが終わったタイミングということもあって、一度だけ参加しました。
コアなコミュニティにも顔の効く同僚がいるというのも、Rubyの会社ならではといえるのではないでしょうか。

RDocコミッターの方からおすすめの書籍*1を紹介してもらったりして便利です。

Megurorb

megurorb.connpass.com

目黒で開催されている地域rbです。
自己紹介タイムがあったり、とても和やかにRubyistと交流できてとてもいい会です。

Fablicvim

fablicvim.connpass.com
Rubyistであれば当然、テキストエディタを使うので、そのスキルも高めていく必要があると思います。
FablicはRubyの会社なので、その一つであるVimの勉強会を主催しています。
ここではこんな発表をしました。

speakerdeck.com

VimConf2017

VimConf 2017 - An international Vim Conference
FablicはVimConf2017にもスポンサードしているので、Vimカンファレンスの最高峰、VimConfにもタダで参加することができました。
普段使っているVimは、様々な人たちの努力により支えられていることを感じることができました。

in.fablic.co.jp

以上のように、勉強会への参加・発表はRubyistとしても意識してインプット・アウトプットを行う機会になりますし、また色々な人たちと交流できるというのもとても良いことだと思うので、Rubyの会社に所属していれば、積極的にやっていくのがいいのかなと思います。

勉強会を主催する

また、参加するのと同様、勉強会の主催も行いました。
Ebisurbは、主催会社が移ってから2年ほど開催されていませんでしたが、今年10月に2年ぶりに復活させました。

ebisurb.connpass.com

主催であれば、会場に徒歩0分で参加することができますし、参加者の方々とより深い交流をすることができます。
現在Megurorbのメンバーの方々にも多く参加してもらっており、今後共同開催なども検討しています。
次回は年明け、食べログさん主催で開催する予定ですのでよろしくお願いします。

CIを整える

Rubyistたるもの、CIなどの開発環境を調整する能力も必要になってくると思います。 Rubyのテストの書きやすさと相まって、サービスの成長とともにテストは肥大化します。
Rubyの会社であれば、そんな状況に陥ったCIを改善する機会を得ることもできます。 in.fablic.co.jp

Ruby以外の言語を学ぶ

Rubyへの理解を深めるためには、Ruby以外の言語を学ぶことも重要です。
著者は個人的にRustでWebサイトを作っており、*2
業務で使用できるレベルには見識を広めていました。
そんなとき、社内のあるRubyスクリプトを書き直す機会があったので、Rustで書き直しました。

in.fablic.co.jp

Rubyは動的なオブジェクト指向言語であるのに対して、Rustは静的な型クラス指向言語です。
では、2つの言語で同様の処理を書いた場合に、どのような違いがあるのでしょうか?
その違いをまとめたスライドがこちらです。

speakerdeck.com

プログラミング言語を作ってみる

さらにRubyへの理解を深めるためには、プログラミング言語自体を作ってみるのもいいかもしれません。
具体的には、Rubyを256倍使う本 無道編 を読めば、Raccを使って言語を作る方法を学ぶことができます。
最近では、RubyでつくるRubyという本も出ているので、より壁は低いかもしれません。

具体的には、以下のようなことができるようになります。

speakerdeck.com

まとめ

Fablicのアドベントカレンダーということで、入社してからRubyistになるためにやってきたことをまとめてみました。
まだまだRubyist目指して頑張っていこうと思います!

Advent Calender

本記事はFablic Advent Calendar 2017通称facに投稿しています。明日は@nieeeeenoさんによる記事です。お楽しみに!