RUBY IS NICE
SO WE ARE NICE
角谷信太郎(@kakutani)
RubyWorld Conference 2017 基調講演

Matz is nice so we are nice

we=Rubyist。Rubyistとは、“Rubyに対して単なるお客さん以上の気持を持っている人”

自分以外でRubyを使っている人のことが気になって行動しているあなたはかなりRubyistの素養があります。いまの技術レベルや知識は関係ないんです。

ようこそ

Matz is nice so we are nice

Ruby is nice so we are niceMatzがナイスなのはわかる(Matzいい奴)。しかしRubyがナイスとは…? 昨日の基調講演をヒントに考えてみましょう…

“Ruby”はプログラミング言語だ
けに限らない。ライブラリやフレームワーク、ツールやアプリ
ケーション…みんなの持ち寄った“使う人にとっての良い感じ”の全体、それがRubyのナイス。

みんながRubyに持ち寄った成果がナイスだから私たちRubyistもナイスでいよう…あれ? 成果を持ち寄っているのはRubyistでは? Rubyistの成果がナイスだからRubyistはナイス?
RubyistがナイスだからRubyがナイスになる? 無限ループかな?

Rubyのナイスさは、Rubyistの持ち寄った“いい感じ”の全体として、Rubyistが育てていく、という動的で自己言及的な終わりの定まらない活動に。

RubyKaigi 2017のMatzの基調講演は“Matz is nice”から“Ruby is nice”へというのが実際にはどんな風景なのかを紹介してくれています。

…とはいえ、それはこの惑星で最強クラスのウデマエのスゴイ級ハッカーの話じゃんね…という気持ちはわかる。Rubyistに技術のレベルは関係ない、といっても技術の分野の話だしね…。

Ruby is nice so we are nice2012年以降(この5年間)に、Rubyを業務で使い始めた、“普通の”プログラマーのみなさんにやってもらえるといいんじゃないかなと思っていること:

日中に、お互いに敬意をもって率直に、仕事に関わっている“気持ち”を話す機会を継続的に持とう!

“非公式”でいい。やり方もどのようなものでも構わない。まずは30分からでも。“ふりかえり”、1on1、雑談、面談、ランチ…。プログラマー同士で始めてもいいし、(自分たちで手応えを感じたり、必要そうなら)プログラマーで閉じずにやれたらすごくいい。

Rubyはコンピューターに仕事をさせるためのプログラミング言語であると同時に、プログラマーにプログラミングが“たのしい”という気持ちを伝える “言語”でもある(すごい!)送り手が感じている気持
ちを受け手の心に再現させるための言語の使い方は“詩”と呼べるのでは?
(ポエム)Rubyがプログラミング言語をメディアとして感情を届けているように、“仕事”をメディアとして感情を届けられているか?
(ポエムとしての仕事)

できている/できていない、強い/弱い、自信がある/不安だ、悩んでいる/もやもやするRubyを使って業務や事業をおこなう機会はとてもとても増えました(よいこと)。しかし、Rubyのようにナイスな感情を仕事を通じて届けている職場は同じだけは増えてはいない、と感じている。

だってまあ難しいからねRubyはコンピューティングパワーの増大とインターネットの普及の過程で生まれ育った、自由な、自然の、野生のソフトウェア(Rubyはハッカー達がつくった)“ビジネス”としてのソフトウェアづくりはどうしても人工的な環境になりがち。
僕らハッカーじゃないし…
(善悪の問題ではない)。

野生のソフトウェアであるRubyのナイスさを人工的な環境であるビジネスの世界でハッカーならぬ我々が“再現”する方法?

そこでアジャイル/リーンですよハッカーとアジャイル“"What!?! That's obvious!" closely
followed by "But Fowler explains it better
than Unix traditions do...",$#) *%'+
Hacking and Refactoring by Eric S. Raymond
http://www.artima.com/weblogs/viewpost.jsp?thread=5342”

10

The New Methodology
新しい方法論https://www.martinfowler.com/articles/newMethodology.html• Adaptive > Predictive
事前の精度よりも現実への適応を• People > Process“人間”はソフトウェア開発の最重要コンポーネント• Self-Adaptive Process
プロセスはフィードバックを通じて育つ例えばScrumというアジャイ
ルな仕事の進め方のフレームワー
クがある。これをナイスを届けるメディアとしてポエム化する(透明性, 検査, 適応)例えばLEANエンタープライズという壮大な構想がある。“ミッションコマンド”と“改善の型”をナイスを届けるメディ
アとしてポエム化する(ターゲット状態、目的、最小限の制約)

Rubyを使って“たのしい”と感じられたときの受け手としての気持ちを、自分が仕事の送り手となったときに、それを受け手の心に“再現”することに近づけているだろうか?

Rubyのナイスを届ける
メディアとしてポエム化するという観点から先達の言葉を眺めてみよう“歯車の1つになった人間は、仕事を楽しくできない。仕事が楽しくなるのは、仕事の全体像が把握でき、仕事全体の質に責任を持つ場合である。
クリストファー・アレグザンダー『パタン・ランゲージ』

“「楽しさ」にもビジネス価値があります̶̶結局、モチベーションこそがプログラマの生産性を左右するのです。
マーティン・ファウラー「ダイナミックタイピング」
http://bliki-ja.github.io/DynamicTyping/http://modernagile.org/

@kakutani

Rubyist-ist。
Rubyistが好き。

一般社団法人日本Rubyの会の理事。
草の根の日本のRubyistの活動に法人格を与えている。Rubyリファレンスマニュアル, Rubyist Magazine,
RubyKaigi, 地域Ruby会議,
RailsGirls Japanなどの活動を支援する事業をおこなっています。

Rubyアソシエーションは一般財団法人。財に法人格を与えて、お金にいい感じに働いてもらってRubyの普及と発展のための事業をやっててすごい(個人の見解です)。

Rubyのナイスさは、Rubyistの持ち寄った“いい感じ”の全体として、Rubyistが育てていく、という動的で自己言及的な終わりの定まらない活動に。

Rubyがプログラミング言語をメディアとして感情を届けているように、“仕事”をメディアとして感情を届けられているか?
(ポエムとしての仕事)日中に、お互いに敬意をもって率直に、仕事に関わっている“気持ち”を話す機会を継続的に持とう!

Further Reading
いま、できるアジャイル (角征典):
https://www.slideshare.net/kdmsnr/20130808agilesapporo

Rubyist入門 2015年版 (高橋征義):
https://www.slideshare.net/takahashim/how-to-become-a-rubyist

The Rails Doctrine (DHH):
http://rubyonrails.org/doctrine/

RUBY IS NICE
SO WE ARE NICE角谷信太郎(@kakutani)
RubyWorld Conference 2017 基調講演