DX

【連載:RBO-Field開発物語】その2:Python:なぜPythonを選んだのか?

当社が現在開発中のRBO-Field(ロボフィールド)は、インフラ構築、設定作業、障害復旧の自動化およびAIによる予兆検知をスマートに行えるソリューションです。
製品名の由来は、RunBook(運用手順書)のRBとDevOps(開発者と運用者)から
Dev(開発者)を抜いたOpsを付けた造語です。
RBO-Fieldがあれば、運用手順書と運用者が開発者がいなくても自動化出来ると言う意図を込めて命名されました。
2021年7月にサービス開始を予定している本製品の開発責任者である宮坂賢一に、どのように開発が始まったのか?製品開発の楽しさや、苦労についてインタビューするシリーズの第2弾です。

ハニー: 宮坂さん、前回の記事では、自動化についての説明と製品化が決まったきっかけ、役員から「現場の知見を活かして何かサービスを作れないか」と突然呼び出されたことと伺いました。今回は、製品化が決まってからの社内の説得についてと、そもそも「どうして宮坂さんに白羽の矢がたったのでしょう??」という点についてお聞きしたいです。まず、製品化が決まってから社内の説得や調整で苦労したことはありますか?



宮坂: 回答する前に、一点補足させてください。前回の記事で私がエム・フィールドに入社する前の経歴について触れなかったので、読んで頂いたお客様から32~33歳くらいなの?と質問と質問をいただきました。ありがとうございます。残念なことにそんなに若くないです。。。今年で46歳になりました!

さて、製品化が決まってからの、社内調整についてですが、今回は、自社製品を作る!という役員の想いから出発しているので、ありがたいことに社内の説得やプレゼンなどでは特別な苦労をしたということはありませんでした。ただ、自動化ツールのニーズや競合調査、差別化ポイントなどはきちんと調査して3~4回ほど経営メンバーに対してプレゼンを重ねました。 

苦労したという意味だと、「自動化ツール」としては後発になるので、どこで差別化するのか?という点は大きな課題でした。また、私自身が現場のプロジェクトに50%の稼働で参画していたため、お客様のプロジェクト業務、マネジメント業務、RBO-Fieldの開発に自分のリソースをその時々でうまく調整するのが大変でした。あっ、今も状況変わらずでした(苦笑)

ハニー: 自動化ツールの開発は、どのように進んだのでしょうか?

宮坂: 昨年(2020年)の8、9月が調査や計画を行い、本格的に開発が始まったのは10月からです。計画当初は2021年3月リリースとしていましたが、諸事情があり、2021年7月リリースに変更しています。(諸事情については別記事で触れたいと思います)
開発はエム・フィールドとグループ会社のbalconia、エイアイ・フィールドの3社のグループシナジーを活かして行っています。

フロントの開発に強いbalconia、予兆検知のAI部分はエイアイ・フィールドの協力を得ながら進めています。

ハニー: グループ3社で協働して開発しているんですね!ところで、RBO-Fieldの開発には、Pythonという技術を使っているんですよね? Pythonを使うという選択をした背景を教えていただけますか?

宮坂: まず、RBO-Fieldの元となる「自動化開発案件」をPythonで開発しました。その背景としては、当時業界的にPythonが非常に注目され始めていたので、当社でも今後成長するとAI、BI(Business Intelligence:経営の意思決定のためのデータ分析)の分野に進出するために、会社の施策として「Python」を推奨する方針が決定されていて、社内でもPythonを使った案件に携わりたい!というメンバーが大勢いました。

ちょうどその頃、あるお客様から「自動化開発案件」のお声掛けをいただきました。Pythonを使うことで、お客様の要望にピッタリとマッチするプロジェクトだったので、当初からPythonを使った開発を提案しました。

幸いお客様の側からもPythonが注目されていたため、当社の提案を非常に肯定的に受け入れていただきました。お客様がPythonに注目していた理由は、「Pythonは他言語に比べ学習コストが低い」というメリットがあったからでした。後々お客様自身が自動化ツールを内製化していく計画があったので、Pythonを使った開発提案は、お客様に喜んでいただけました。

自動化開発案件で得た知見を活かせるという背景があったため、RBO-Fieldの開発言語にPythonを選びました。ちなみにRBO-Fieldは、ノンプログラミングツールなので、RBO-Fieldを使うと、Python自体を覚える必要がなくなるんです!だから内製化ツールとしては非常におススメだと自負しています。

ハニー: たしかに!ノンプログラミングだから、お客様が自動化を内製化する際の学習コストはめちゃくちゃ低いですね!! ところで、宮坂さんがPythonの社内普及のために開催した勉強会は有名ですね!2017年のPythonスキルチェンジキャンペーンで、1年間で部署の半数以上のメンバーがPythonの認定試験に合格したんですよね!

宮坂: はい。結果はとても嬉しかったですね。しかしPythonへのスキルチェンジを打ち出した当初は、「今Javaで食えているのに、なんで今更新しい言語を覚えなきゃいけないの?今の技術で十分やっていけるのでは?」、「AI、BIの仕事なんて来るの?」と言うネガティブな反応も聞こえて来ていました。
確かにそうかも知れないけど、「でも、そうじゃなかったら?」という話をしました。

私自身が今までに何度も「そうじゃなかった」と言う人達を見てきたんですよね。また、元々多くのJavaエンジニアは過去はVisual Basicなどの言語からスキルチェンジして今があるということを伝えました。

ダーウィンの名言の通り「強い者、賢い者が生き残るのではない。変化できる者が生き残るのだ。」というのが、現状のエンジニアにもっとも適したメッセージだと思っています。

また、実際の案件の状況や、お客様からのリクエスト、市場調査をした結果も部署メンバーに随時周知していました。勉強会そのものよりも、勉強会に入る前段階や、日々の意識づけをしたことが、1年間でメンバーの過半数がPythonの認定試験に合格することに繋がったと思っています。

ハニー: Pythonの認定試験って難しいのでしょうか?という超ど素人な質問をさせてください。

宮坂: Pythonの認定試験は、正直、個人的にはそんなに難しいものでは無いと思っています。あくまで色々なIT系の資格と比較して考えたら、ということなので、なんの基礎知識もない人が、「まずはPython!」というのはおすすめしません。なんでも良いので他言語を何か1つしっかり基礎を学んでいるような人ならば、チュートリアルさえしっかり見て学習すれば合格率は高いかと思います。
早い人だと1週間くらいで、長くても1か月くらいで取得する人が多いです。

ハニー: またまたど素人な質問なのですが、先ほど、「Pythonは学習コストが低い」という話題がありましたが、他にPythonを使うメリットを教えてください。

宮坂: 他の言語と比較してファイルの入出力やデータの扱いがシンプルだと思います。やりたいことを簡単に実現出来る便利なモジュールが豊富にあります。インタプリタ言語なので、いちいちコンパイルする必要がないのも学習のしやすさとしてあると思います。
個人的にはJava推しな人だったのですが、歳を取ったからか笑、Pythonのシンプルでやりたいことをサクッと書ける便利ツール的な感じがお気に入りのポイントでもあります。

ハニー:宮坂さんありがとうございました! 次回は、開発の体制について詳しく聞かせてください!