Happy Hiring !!

ハッピーなエンジニア採用について書いてます

OSSにコミットし始めて、とてもいい感じのSpeeeさんに取材してきました!! 前編

f:id:sezemi:20171114123834j:plain

取材にあたって

取材の狙い

エンジニア採用で使う19の募集チャネルの中の一つ、OSSをテーマに、いまOSSへの取り組みがとても話題になっているSpeeeさんに取材をお願いすると、よいですよー、という快いお返事! 早速、行ってきました!
(繋いでいただいた須藤さん、ありがとうございます!!!)

取材の狙い:募集チャネル:自社OSSの公開 の施策を取材したい

取材に応じて頂いたお二方

f:id:sezemi:20171114124453p:plain

f:id:sezemi:20171114124450p:plain

  • エンジニア組織推進室
    中野 賀奈さん

(インタビュアー:広瀬)

最初は “RubyOSSやるぞ” に戸惑う社内

ーー今日は社内表彰式前の忙しい時間にありがとうございます!!! 今日はよろしくお願いします

畑中 よろしくお願いします
中野 よろしくお願いします!

ーーでは、早速、開発者個人がOSS開発に取り組むのは一般的ですが、企業がOSSに取り組むのはまだ珍しいと感じてます。その中で、Speee さんが取り組む背景はどのようなものなのでしょうか?

中野 3つあると考えています。
1つは、弊社がRubyを使って開発していて、使うだけでなく、その発展に貢献していこう、という動きが出てきたのが1つめです。
2つめは、OSS開発に取り組むことで、社内だけでなく、社外からのフィードバックがあるので、それをもとに技術力のアップに繋がるのではないか、と考えるようになったのが2つめですね。
最後に、"社内に閉じない開発部" という方針を出していて、積極的にオープンに外部のエンジニアの方々のお力をかりていこう、というのがあって、それも背景にあります

ーーなるほど。いろいろ掘り下げたいお話が出てきました! では、まず、、、1つめのRubyにコミットというお話で、OSSというと割りと使うだけでとどまることが多いのですが、そこに貢献していこう、となったのは何かあったのですか?

畑中 さっきの "社内に閉じない開発部" とも関連するのですが、大きなキッカケとなったのは 井原正博さん (筆者注:元クックパッド技術部長、株式会社ビットジャーニー代表取締役、関連記事1参照) が顧問に就任されたことかなと思っています

それ以降、井原さんが毎週のエンジニアミーティングで、アウトプットして、OSSをはじめ世の中に還元していこう、というメッセージをずっと出し続けていて、そこから徐々に、徐々にとですが、意識として刷り込まれていったように思います

畑中 また、井原さんが顧問に就任した影響で、藤吾郎さん (関連記事3参照) や 村田賢太さん (関連記事参照2) にジョインしていただきました。また、須藤功平さん (関連記事4参照) など外部の専門家を招聘することによってOSSに取り組む上で、とてもエンパワーされましたね

ーーおお、、錚々たる方々。。ビットジャーニーさんというと、今だと Kibela (筆者注:社内ドキュメント共有ツール) の?

畑中 そうです、そうです! 全社でも Kibela をめちゃくちゃ使ってまして

ーー実は私もです!(笑) では、その井原さんの発信もあって、スムーズにOSSの開発は社内に広がっていったと?

畑中 意識としては徐々にですが。 ただ、もともとオープンに開発していた訳ではなく、最初はやっぱり実際の活動に繋がらなかった印象です。
また、社内にはOSS開発に対して、違和感のようなものがあるように見えていました

ーーそれはどんなものでしょう?

畑中 そうですね、その違和感の中でも、大きく挙げると、"OSS開発は業務ではなく、時間があるときにやるんでしょ" ということと、"どこから始めたら良いんだろう" というのがあって、特に、2つめの "興味があってやってみたいけど、何から始めたらいいんだっけ?" というのが壁として大きく、モヤモヤとしていました

OSS開発のモヤモヤを払拭した社内のワークショップ

ーーなるほど。そのモヤモヤは深そうですが、どのように解決したんですか?

畑中 そのモヤモヤを払拭できたのは、先程の須藤さんが始められたOSS Gateというコミュニティで行われているワークショップを、Speee社内だけで開催したことですね

ーーほうほう! そのワークショップはどんな経緯で開催となったんですか?

畑中 このワークショップは、OSS開発に興味はあるけど参加出来ていない、というエンジニア向けに最初の一歩を踏み出すキッカケを作る、という目的で開催されていて、普段は一般向けに開催されています。それを須藤さんが提案して、社内でやってみよう、となりました

ーーたしか、そのワークショップが企業内だけで開催されたのは初めてだった気がしますが、、ちなみに一般向けとは変わりない内容ですか?

畑中 そうですね。何か開発するぞ、という訳ではなく、一般向けと同じで、普段、自分たちが使っているRubyのライブラリとかを題材にして、簡単なタイプミスやドキュメント修正も含め、改善できるところを探して、issue をあげて、それに対する改善フィードバックを出して、という流れを一日かけてやりました

ーーそのワークショップでモヤモヤは解消できたと?

畑中 そうですね。そのワークショップで、こんなところから始めていいんだ、という意識に変わり、普段、自分たちが使っているOSSで開発に参加するやり方を学べたので、それ以降は参加した個人個人がドンドン進めていきました。

そこからですかね、
 「OSSにフィードバック出したら、取り入れられたよ」
 「おお、いいね! f:id:sezemi:20171114122852p:plain f:id:sezemi:20171114122852p:plain f:id:sezemi:20171114122852p:plain f:id:sezemi:20171114122852p:plain
というやり取りが日常的になってきて、いまでは開発文化として定着したように感じますね

中野 その辺を弊社の Speee DEVELOPER BLOG の記事、OSS Gate in Speee にまとめていますので、ぜひぜひ(笑)

ーーそれはとても助かります!!! 参考になります (笑) (そのまま使わせていただきました!!)

OSS特有の問題を、OSSポリシーを定めて、エンジニアの悩み事を少なくした

ーーそこからめっちゃ進捗したと?

畑中 そのワークショップを開催したあとに、GitHub上の組織アカウント、Speeeでやっていこうとなったのですが、そのあと、実は、
 「業務と関係あるといえばあるけど、どこまでのOSSを対象にしていいんだっけ?」
 「あれ、これ業務中にやっていいんだっけ?」
 「公開するときのライセンスってどうするんだっけ?」
 「Copyrightは会社? 個人??」
という戸惑いが顕著になってきました。そこで、Speee社内のOSSポリシーを作りました

ーーなるほど、それは便利ですね! そのポリシーの内容、深掘りしたい(笑) それは社内で作ったんですか?

畑中 そのエンジニアの戸惑いみたいなものをうけて、先程のワークショップ開催の直後ぐらいから作成が進みました。原案は、先程の技術顧問の藤さんに作ってもらい、それをもとに社内のエンジニアと藤さんやOSS開発にコミットし続けている専門家の方々に相談しながら策定しました

ーー内容としては、業務中に取り組む決まりとかオープンソースライセンスが大きく占めるものなのですか?

畑中 基本はそうですね。開発に取り組む対象は業務と関連したものにしましょう、とか、Copyrightを個人の所属にして公開してよいのはこういう場合とか

ーー確かに、企業で取り組む場合、オープンソースライセンスとCopyrightは難しい問題ですね

畑中 社内でOSSを開発したとして、Copyrightを企業にするのか、作った開発者にフォーカスを当てるのかは、どの企業でも悩むポイントのように思います。
そのSpeee OSSポリシーの中には、業務中に開発したOSSは、Copyrightを "企業 and 個人" にしようね、とかが定まっているんです

ーーそんな権利の付け方ができるんすね!!

畑中 そうなんですよ。この辺のオープンソースライセンスとCopyrightの問題はとても重要で、それによって公開したOSSのユーザーが困ってしまいます。
このようなOSS特有で悩むところを、須藤さんや藤さんのようなOSSの専門家にスグ相談できる環境がSpeeeにはあるので、悩みごとが減り、エンジニアは純粋に開発に取り組めますね

ーーエンジニアからすると何とも羨ましい環境ですね!

そもそもは経営トップの "テクノロジーカンパニー" 宣言

ーー 一方でOSS開発は、ビジネス側からすると、謎のかたまりのようなもので、あまり理解しにくそうですが、そのあたりは何かありましたか?

畑中 所属している事業部で見ている範囲だと、そこは何も感じなかった、ですね。
Speeeの開発では、何か上から言われて作る、というものではなく、エンジニアが主体的に開発を進めていて、実際、上から "そんなOSSの修正とかはやらんでよい" みたいなことは言われたことはありません

ーーそれは珍しいことのような気がします、、

畑中 ひとつにはSpeeeのビジネス側の技術の理解が進んでいることもあると思っていて、例えば、先程の井原さんが、社内で非エンジニア向けのプログラミング勉強会をやっていました

中野 今はもうやってないですが、前はちょくちょくやっていましたね

畑中 その勉強会などを通じて、エンジニアってこんなことしているんだ、という理解も深めてもらいました

中野 あとは明確に、経営トップ層がテクノロジーカンパニーとして事業を進めていくぞ、と方針を出したこともあって、ビジネス側に大きなハレーションがあったということも無かったですね

ーーというと、そもそもを辿ると、経営トップ層の判断もあると?

中野 そうですね、OSSもそうですが、技術力を上げていくことに取り組むぞ、という判断が経営トップ層にあって、それが先程の井原さんの顧問就任などに繋がっています

ーーこれまた珍しい判断な気がしますが、その経営トップ層の判断は何か過去の成功体験に基づくものなんでしょうか?

中野 ではないですね。Speeeは、もともと営業力や分析力などが原動力として成長してきたのですが、これまでにない速度で成長しようとすると、よりよいサービスを作ることが必要で、そのために技術力アップが必要だ、という判断が経営トップ層にあったんです

畑中 そうですね。それで、ときには井原さんが全社員が集まるミーティングで、エンジニアがどんなことをしているのか話してもらったりだとかを積み重ねて、徐々にエンジニアや技術という、謎のベール(笑)をどんどんはがしていってました

バックオフィススタッフがRails Girlsにも参加!!

中野 そういうのもあって、半年に1度開催しているSpeeeKaigiというエンジニアによる技術プレゼン大会(関連記事5) には、そこで発表するエンジニアを応援しに、所属部門のビジネス側のメンバーも見にくるんです

ーーえーー、マジですか

中野 そうなんです。営業をはじめ、事業トップも応援しに来たりするんですよ。見ていてすごくあったかい空気を感じました

ーーなんですか、そのエンジニアパラダイスな話は。。

中野 最近だと、バックオフィスをやっている女性メンバーがそういう姿をみて、Rails Girls (筆者注:Ruby on Railsを使って、はじめてWebアプリを開発する女性を支援するイベント) に参加したこともありました。本人に聞くと、別にエンジニアになりたい訳ではなく、興味があったからという理由なんですが。 全社的にそういう技術への関心が高まってますね

ーーめっちゃ、ええ話です

OSSにコミットするとエンジニア育成にも効く

ーーでは、冒頭の、OSS開発することで外部からのフィードバックをもとにスキルアップに活かす、という話を深掘りしていきたいんですが、何か変わりましたか??

畑中 そうですね、アウトプットする量は増えました。あと、その量にともなって、個人ブログも昔は3ヶ月に1本書くぐらいだったのが、OSSRubyにコミットするようになって、最近は週1~2ぐらいの更新頻度になってます。
井原さんのアウトプットしていきましょう、というメッセージが浸透してきました

ーー実際、畑中さんはRubyをはじめ、OSS開発することで、スキルアップに繋がっていますか?

畑中 難しい質問ですね(笑) スキルをどう評価するか、というところもあるので。。 感じていることでいうと、やれる幅が広がってるように思います。
今までだと、業務に直面する課題に対してプログラムを書くことだけだったのが、より広いユーザーがいるOSS開発をやることで、自分の選択肢が増えているように感じてます

ーーなるほど。。取材前に畑中さんのGitHubアカウント (hatappi) も見たのですが、2015年ぐらいから個人でOSS開発を始めいて、その当時からも変わりました?

畑中 2015年当時のものは本当に単なる保存場所みたいなものでした(笑) 特に公開するぜ、みたいなものは無かったです。その意味では先程のワークショップ以降、2016年以降からが本格的な活動です(笑)

ーーでは、実際OSSを公開してから、フィードバックが寄せられるようになって、スキルとして変わったものはありますか?

畑中 考慮すべき勘所を掴みやすくなったということは言えます。
さっき出てきた話のように、業務だとどうしても問題解決できて動けばいいや、という部分があったのが、OSSの場合、ユースケースが広いので、フィードバックをもらう中で、その使い方だと確かに上手いこと動かないことがあるな、とか気付くことがあります。
なので、より使う人が増えるのに伴って、考慮すべき点が増えていって、その勘所が分かるようになってきました

ーーそれは自社の開発業務にも活きてきそうですね

畑中 そうですね。割りと、この変更を加えたら何が起こるか、みたいなことを、より広い視野で考えられるようになってきました。あとは開発するときの意識も変わりましたね。

ーー意識、、、ですか?

畑中 今までだと、業務で使っているOSSにバグがあって、エラー吐いた場合って、何とか回避して進めていこう、となっていたのが、自分たちだけじゃなく、他のエンジニア達も困ってるよな、だったら直しちゃえばいいよね、とフィードバックする意識に変わってきました。
この意識と技術、という2つが、大きく変わったところですね。

ーーカッコイイ。。めっちゃHR的にもスキルアップに効いてますね!

中野 そうですね!

Rubyをもっと良くする、ということでデータサイエンス領域で開発中 !

ーー最近だと、畑中さんは、村田さんや須藤さんも参加しているRubyのデータサイエンス領域の活動の一つ、Red Data Tools でも活躍してらっしゃいますが、これは企業としての方針ですか?

畑中 これはデータサイエンスが好きとか、そういうものではなく、どちらかと言うと、Rubyをもっと良くしていこう、という方が強いです

ーーでは、企業としてデータサイエンス領域に強みを発揮しよう、というわけではなく、Rubyをもっと良くする、というモチベーションなんですね

畑中 そうですね。あと身近に、その村田さんも側にいたことで、その辺のお話も聞けるようになって、それで面白そうだなと思って、今、参加しています

  • 補足: 畑中さんが中心になって開発が進むOSSRed Cahiner // 国産のPython製ChainerのRuby
  • 補足: 村田さんが開発している、Pythonのデータサイエンス系のライブラリを、Rubyからも使えるようにするOSSPyCall

次回予告 !!!

Speeeさんが企業としてOSS開発に取り組むきっかけとなった経営トップ層の判断から、実際に取り組み始めたときの戸惑い、その戸惑いを、外部のOSS開発専門家の力を活用して、解消して、OSS開発やアウトプットが活発に進んでいる様子をお伝えしました。

次回はそのOSS開発が活発になったことで、実際、HRにどのような効果があったのかお届けします!!

次回もお楽しみに!!! Happy Hiring !!!

happy-hiring.hatenablog.com