OSS化プロジェクトに携わった2名のエンジニアに聞いて垣間見た、ブレインパッドのエンジニアとして働く魅力

ブレインパッドでは、「cliboa」というETLツールをOSSとして公開しました。
このOSSプロジェクトに携わった社内の2人に公開に至るまでの秘話を聞いてみましたので、対談方式でご紹介します!

f:id:brainpad-inc:20200109154232j:plain


こんにちは。プロダクトビジネス本部の宗岡です。
ブレインパッドでcliboaというETLツールをOSSとして公開しました。
このOSSプロジェクトに携わった当社の前田と山崎の2人に公開に至るまでの秘話を聞いてみました。

前田: 一見寡黙な理系出身のエンジニアだが、実は社会科学の方が好きなお茶目な一面を持つ。
山崎 : ボランティアでOSSプロジェクトに関わる根っからのエンジニアだが、実は動物占いが好きというお茶面な一面を持つ。

ブレインパッド初となる、OSS化プロジェクトのキッカケとは

ーー 今日はよろしくお願いします。簡単に、今のお2人の主な仕事内容を教えていただけますか?

前田
私はプロダクト開発の部門で、Webアプリケーションやクラウドサービスを利用したインフラの設計、開発、運用、保守 を担当しております。DevOpsエンジニアと呼ばれるポジションに近い仕事内容だと思います。

山崎
プロダクト開発の部門で、Reliability Engineering を担当しております。私は開発エンジニアという立場ではなく、私たちのプロダクトがこれまでにお客様に得てきた信頼を、これからも高水準で維持継続していくための活動を主にしております。具体的には、サービス稼働率の維持やプロダクトの品質向上のための運用、QA、サポートなどに関わる業務です。

ーー り・・れいあびりてぃえんじにありんぐ・・??ってなんでしょうか??

山崎
一般的にはSRE (Site Reliability Engineering)って言われてたりして、サイトの信頼性とかを担保するお仕事です。でも私の場合はサイトだけじゃなくてプロダクトとかも一緒に見ているので、、Reliability Engineering と勝手に呼んでいます。笑

ーー なるほど。ありがとうございます。ちなみに、今回のOSS化の話って何がキッカケで始まったんでしょうか。

前田
私が言い出しました。
入社時に、CrossFeedというお客様ごとの異なる要求にお答えするETL処理を行うプロダクトの開発を担当していましたが、そのタイミングでこのCrossFeedの作り直そうという話があり、せっかくなのでOSS化を前提とした作りにしたいと思ったのがキッカケです。

ーー なぜ作り直そうという話が上がっていたのでしょうか。

前田
当時、CrossFeedというプロダクトは新旧2つのバージョンが動いていました。
古い方はメンテナンス性が低く使いにくいという問題点を抱えており、新しい方が作られましたが、こちらはメンテナンス性は上がったものの、新規開発のコストが高いという問題点を抱えており、また新たに作り直そう。という話になりました。

ーー なるほど。そのタイミングでOSS化をしようという話になったんですか。

前田
はい。この作り直しの要件定義のフェーズで、共通部分はフレームワーク化できそうだし、ETLツールであればOSSとしての公開できそうだと考え、チームに提言してみました。
当時のチームメンバーもみんな「いいね」という感じで乗り気になってくれました。

ーー すぐに乗り気になってくれるメンバーがいるのは良いですね。因みに、OSS化に踏み切るには何か思いがあったのでしょうか。

前田
実は前職でもOSS化をしようと画策していたプロジェクトがあったのですが、OSS化を前提としていなかったので、開発途中でそのままでの公開も難しく断念した経験があり、個人的にOSS化に興味があった背景もあります。
今回は、要件定義のタイミングから公開前提で設計できたので、これはOSS化出来るぞ。と半ばリベンジの思いも込めてチャレンジしました。

ーー 前田さんの過去の経験も今回のプロジェクトに活かされたのですね。他にもOSS化に踏み切る背景はあったのでしょうか。

山崎
ETLという機構は、環境によって変わる部分がとても多いんです。
ただ、幸いにもブレインパッドではいろんなお客様からの案件で培ったノウハウがあったため、共通化できる部分を集められたからこそ、今回のOSS化になったんじゃないかな。あとは、ETL機構は一般的にお客様のエンジニア側で開発されるケースも多いので、そういった方々にも使っていただけると、エンジニアの負担を減らせるのではないか、という期待もあったのではないかと思っています。

前田
そうですね。いろんなお客様からの案件で都度開発をしていましたが、その中で培ってきたノウハウというのは今回のOSS化に影響しています。
外部のエンジニアの負担を減らせたり、或いは一緒に開発してくれるような仲間が増えたら良いなという思いもありました。

エンジニアの同意は得られた。非エンジニアにどうメリットやリスクヘッジを伝え公開に踏み切るか

ーー ブレインパッドが担当した案件の多さやエンジニアの思いが重なって実現に至ったんですね。ただ、OSS化するとなるとエンジニアだけで自由にはできないと思います。社内で反対とかはなかったですか。

前田
まずはじめに、直属の上司、所属部署のマネージャークラスのエンジニアに相談してみました。
特にそこで反対はされなかったですね。いいんじゃない?ってくらいで。
ただ、私達の部署でOSS化に踏み切った経験がなかったので、法務部門や情シス部門とも連携をして進めてほしいという話はありました。

ーー なるほど。結構フランクに進められるんですね。でも全社を巻き込む形になるので承認プロセスとかは面倒になりそうですね。

前田
そうですね。一応経営層の承認が必要だったので、非エンジニアでもOSS化のメリットが分かるように、以下の4点を提示していました。

1. 社外の開発者達にソースコードをメンテしてもらうことで、社内の運用・保守コストを削減できる可能性がある。
2. 会社のブランド向上につながる可能性がある。
3. 開発者の退職対策。開発した技術者が退職しても、同じ開発者がメンテナンスに参加できる。
4. 開発者のモチベーション向上。会社内限定のソフトを作り続けるよりも、外に公開した方がモチベーションが上がる可能性がある。

1と3に関してはすぐに効果が得られるのは難しいですが、2と4に関してはそれなりに現実的だと理解してもらえた印象があります。
実際、OSS化する方向でプロジェクトを進めていたところ、開発メンバーのアプリケーションの設計に対する意識が普段よりも高くなっていたように思います。

山崎
最初は、公開した機能そのものは、汎用性など懐疑的な意見もありました。
また、詳細が分からない部門外からは、ノウハウの流出の懸念や、知財系の侵害の懸念も聞かれました。
そういった懸念もシステムで防げる部分は防いだり、内部の体制を作ったりすることで納得してもらえました。
同時に、マーケティングツール開発として、社内だけではなく社外(特にお客様)の仲間を増やしていく活動として、理解してもらえたと思います。
さらには、OSSの文化から得られる開発者の成長も期待されているようです。例えば、外部のエンジニアの方々とのコミュニティづくりや、ドキュメントの整備やテストの向上などです。

ーー そこまでの理解が得られれば、OSS化の承認はすぐ降りたのでしょうか。

山崎
上記のように、メリットや懸念部分を整理し、納得してもらうために少し時間はかかりましたが、そこまで双方が納得した上だったので、経営層での承認は一発でOKでした。

f:id:brainpad-inc:20200109160330j:plain

ついに公開に踏み切ったCliboaと今後のブレインパッドエンジニアの関わり

ーー なるほど。初の試みにしては早い段階で会社としてGOが出るのはエンジニアとして働きやすいですよね。ちなみに、今後OSS化されたCliboaとはどう付き合っていく予定でしょうか。

山崎
OSSのメンテナンスは、そればかりに係っているわけではありませんので、私たちが主たる業務としては取り組みづらいところではあります。
ただ、機能面でのフィードバックを中心に貢献できればと考えておます。
ドキュメントの整備やテストの向上などは、期待されてはいますが、急には難しいかもしれません。
ゆっくり育てていければ良いと思います。
先ほどの繰り返しになりますが、マーケティングツール開発として仲間を増やしていく活動として考えておりますので、まずは使ってもらって、改善点を提案してくれるような人がきてくれると嬉しいです。

前田
当面の間は機能追加を進めていき、2020年からはある程度PR活動をしていく予定です。PRしていく中で色々な知見やノウハウが蓄積していくことを期待しています。

ーー ありがとうございます。因みにお2人は中途で入社して間もないタイミングでのOSS化だったと思いますが、このプロジェクトを通してBPの入社前後でギャップとかありましたか。

山崎
OSS化に関しては、前田さんが忍耐強く取り組まれた結果で、私が入社した9月頃には、すでに社内の理解が得られる状況でした。
OSS開発の経験がある私が、詳細の部分をお手伝いさせて頂いたに過ぎません。こういった開発者のボトムアップの挑戦に、経営サイドが応えて頂けたことも、仕事のしやすさに繋がっています。

前田
特にギャップはなく、大体イメージ通りでした。
OSS化のプロジェクトに関して言えば、社内での承認を得る手続きを山崎さんが推進してくれたお陰で、進みが良くなって公開に踏み切れました。

ーー 2人の特性が活かされる経験となったんですね。最後に、どんな人と一緒に働きたいというイメージとかありますか。

山崎
エンジニアリング・スキルだったり、コミュ力だったり、自分の足らないところは、どなたでもお持ちだと思います。
私にも、そういうココを何とかしたいなぁという部分が沢山あります。
私は、少し背伸びをした所を伸ばせる環境がブレインパッドにはあると感じています。
私も成長できる機会を頂けると思いますので、「成長したい欲がある方」と一緒に働けると良いなぁ、と感じております。

前田
アーキテクチャパターン・デザインパターンに精通されている方だと面白いと思います。
あとは、競技プログラミングに熱心な方とも一緒に働いてみたいです。

最後に

今回のインタビューで、「会社で初となるOSS化のプロジェクトを通して、エンジニアのボトムアップな提案を周りがワイワイと盛り上げて、ちゃんと経営層がリスクやメリットを理解した上でGOを出す。」というテーマについて、ブレインパッドで自社プロダクト開発エンジニアとして、全社を巻き込んだプロジェクトがどう進んで行くのかを生々しく赤裸々にお2人に語っていただきました。
具体的な話を通して、このような自社プロダクト開発のエンジニアの雰囲気や経営層のスタンスがブレインパッドのエンジニアとして働く魅力なんだなぁ、と感じました。
最後になりましたが、前田さん、山崎さん、包み隠さず答えてくれてありがとうございました!

ブレインパッドでは、自社プロダクトの開発エンジニアも積極的に採用しております。
ご興味がある方はお気軽にご連絡ください。

■ ブレインパッドの自社プロダクト開発エンジニアの紹介資料
https://www.slideshare.net/BrainPad/20190702ver

■ ブレインパッドの求人一覧
https://hrmos.co/pages/brainpad/jobs?category=1354660212331102208