エンジニアの生き様をウォッチするメディア

「本当に好きだったら何とかなる」小山健一郎(GMOペパボ株式会社)~Forkwellエンジニア成分研究所

クラウド、VPS、レンタルサーバー、どれにも当てはまらないサービスを運営しています

――現在、小山さんのGMOペパボさんでの職種は「プリンシパルエンジニア」と伺っています。職務内容は、どういったものなのでしょう?

小山 まず、職位の話と業務内容の話をさせていただきますね。プリンシパルエンジニアは職位で、私のメインの業務はロリポップ!マネージドクラウドというサービスの開発と運用になります。

プリンシパルエンジニアという職位は、「全社的に技術的に影響を与え、課題解決に寄与することができる」という前提の職位になります。なので、本来はプリンシパルエンジニア以上は、そのような動きに合わせて所属が変わるのですが、私は私自身の希望もあってまだマネージドクラウドチームに所属した形で開発を続けています。

――立場的にはマネージャーなんでしょうか?

小山 いえ、マネジメントではないですね。私は、マネージドクラウドチームの中では1メンバーとして関わっています。

とはいえ職位がついていたり年齢も上なので、やりやすいという点からメンバーのとりまとめをすることもありますね。そういう意味で、マネジメントも少しはしているかもしれないですが、メインではないです。

――「ロリポップ!マネージドクラウド」のサービスの特徴として「ホスティングサービスの新しい形態」とおっしゃいましたが、具体的にどういう部分が新しいのでしょう?

小山 クラウド、VPS、レンタルサーバー、そのどれにも当てはまらない雰囲気を持っているサービスです。例えば、レンタルサーバーと呼ばれるようなホスティングサービスは古くからあります。これは是非今一度考えてもらいたいのですが、レンタルサーバーって、サーバーの運用やセキュリティアップデートなど、全てやってくれる、最近の言葉でいうとマネージドサービスなんですね。実はかなり便利なサービスなんです。ただ、大きなアクセスがあったときに、アクセスに耐えるためにクラウドなどで提供されているようなオートスケールができなかったりとか、言語選択の幅が小さかったりとか、多少用途が限定されているように思います。レンタルサーバーも今はかなり進化しているので、一概には言えないんですけど。

ロリポップ!マネージドクラウドでは、レンタルサーバーのようにサーバー運用もセキュリティアップデートもマネージドな環境を提供するんですが、アクセスに応じてオートスケールする機能も持っています。ただオートスケールする機能を提供するだけではなくて、スケールしたコンテナ間でストレージ領域を共有する仕組みが最初から提供されています。Webアプリケーションって、サーバが複数になった場合に、最新のソースコードやアップロードされた画像ファイルなどを共有する仕組みを作らないといけないんですが、それを考える必要がないんです。例えばPHPでログイン機能があるようなWebアプリケーションを作る場合、セッションを使うと思います。PHPでは通常はセッション情報はファイルとしてサーバーのストレージ領域に保存されますが、複数サーバでWebアプリケーションを動かす場合、セッションサーバやセッションデータベースなどセッションを共有する仕組みを作る必要があります。ところがマネクラだと、すでにサーバのストレージ領域をコンテナ間で共有する仕組みがあるので、最初からそこを気にする必要がなかったりします。

WordPressを置いて、オートスケールのボタンをオンにすると、なぜかオートスケールがうまくいく。このレンタルサーバーに近い簡単さを持っているのがマネクラの強みですね。簡単すぎて、「ただのレンタルサーバー」に見えちゃうくらい。マネージドサービスって、使ってみてマネージド部分を体験して、初めて便利さがわかる部分も多少あるんですけど、例えばマネクラの特徴の1つである「簡単に設置できてオートスケール機能やキャッシュ機能がすぐ使える」という点はわかりやすいので、いわゆる「テレビ砲」に耐えるために選ばれることも多いです。

外側はそんな感じで「簡単さ」「マネージド」が前面にでているのですが、実は内側の技術要素はとても面白くて、例えば、弊社の近藤が作ったHaconiwaというコンテナエンジンで、いわゆるコンテナ技術を駆使してしてスケールする仕組みを作っています。ただ、外からは、何もコンテナの雰囲気は見えないです。お客様は簡単に使うだけ。そんなサービスですね。

院では「ポケモン問題」を研究しました

――九州大学の大学院を卒業して前職Fusicさんに入社、2018年3月からGMOペパボさんに入社されたと伺っています。院では、どのような研究をされていたんですか?

小山 私が所属していた研究室はLSIに関する研究がメインだったんですけど、私はちょっと特殊で、なぜか電子マネーを研究していたんです。教授がLSIだけでなく、情報技術に基づく社会基盤システムなども研究されている方で、その観点で電子マネーという仕組みについても注目していました。
例えば「Suicaが電子マネーとして貨幣になり変わっていく上で、今後問題は生じないのか?」という検討をしたり。ケーブルでつないで交換する頃のポケモンをプレイされたことありますか? ポケモンを交換している最中にケーブルを引っこ抜くと、両方のハードにポケモンが残ってしまうバグがあったんです。これを、電子マネーのP2Pの送金に置き換えると、もしバグが発生したら価値が複数になってしまうんです。教授は冗談で「ポケモン問題」と言っていましたけど。この危険性を、数理モデルに落とし込んで証明してみようというのが当時の私の研究でした。当時はビットコインなんてないんですよね。10年以上前なので。

ブロックチェーンの技術では皆が台帳を共有し取引を検算することで取引自体を保証しています。「コンピューティングリソースを使った検算で取引を保証するなんて面白いな」と思っています。

――研究内容を生かした職場に就職することは、検討されなかったんですか?

小山 しなかったですね。理由はいくつかありますが、単純にあまり将来を考えていなかったからだと思います。

最初、Fusicには学生時代にバイトとして関わらせてもらいました。Flashを書いたりWebアプリケーションのデザインを担当したり。当時だとDreamweaverでHTMLを書くのが普通だったと思うんですけど、HTMLをあまり知らないままDreamweaverでHTMLデザインをしたりしていました。その結果ものすごいテーブルデザインになってしまって社長に全部なおしてもらう羽目になったり。そして、入社してから本格的にPHPを学んでWebアプリケーションを作り始めたのが、PHPエンジニアとしての始まりでした。

Fusicは自社サービスも幾つか持っていて、私は受託と自社サービスの両方ともをやらせてもらいました。
印象に残っているのは、スライドと動画のリアルタイム同期配信サービスですね。今、エンジニアが参加する勉強会ありますよね? 現在でこそ配信してくれる方々のレベルも上がり、スライド資料も画質も綺麗に、人の声もちゃんと配信されてます。でも、当時はそれが難しかったんですね。東京などで開催されている勉強会を配信してくださる人たちがいて、地方のエンジニアにとっては本当に嬉しかったんですが、いかんせんスライド資料の文字が(画質が荒くて)見えにくくて。

それが辛かったので、事前にスライドをアップロードしてもらったらそのスライドのページ切り替えと動画配信をリアルタイムに配信するサービスを立ち上げました。元々のアイデアから、開発、運用、そして、サービスのクローズまでを経験させてもらいました。

苦手だったヒューマンスキルを鍛えられた、担当者とのやりとり

――2011年から、Fusicでのマネージャーになられたと。

小山 わたしがなったころのFusicのマネージャーというのは、最初は一種の「担当」みたいな感じだったんですね。

なので、「いろんな人に経験してもらおう」という空気があったと思います。ただ、マネージャーとして任せてもらえることは「ほぼ会社の意思決定」に近いというか、とても良い経験を得ることができる「担当」でした。まあ、これは人数が少ない時期のとても古い話で、早い段階で「なるべき人が任命される」ちゃんとした役職になりました。

マネージャーになるべき人が任命されるようになって、ふと周りを見渡すと、私よりもなるべき能力のある人が多くいたんですね。また、マネージャーとは異なるエンジニアのキャリアパスを作りたいと考えました。それで、今はもうないんですが、テックリードという職位を持つ制度を作りました。

――ご自身で職位を作られたんですね。

小山 そうです。実は当時のGMOペパボの職位制度を参考にさせてもらいました。今のFusicの制度は違うと伝え聞いていますし、GMOペパボの職位制度もさらにブラッシュアップされていますので今は全く比べられないですが。参考にさせてもらったところは立候補制であるというところと、その人の実績や能力に対しての追認であるというところです。違うところは任期を作り、それを半期としたということですかね。毎半期に立候補を募っていました。毎半期「私はこういうことをしました、こういう形で貢献しました」と立候補するんですね。
そして、職位制度を作って、そのまますぐにテックリードに立候補しました(笑)

――Fusicさんの中で最も印象に残っている仕事だったり、今に繋がっているなと思う仕事はなんですか?

小山 ある企業様の案件です。仕事の進め方、どちらかというと自分の苦手なヒューマンスキルの方で鍛えられたことを覚えてます。

担当の方がものすごく頭が切れる人で、技術的な要素も含む要点を完全に理解した上で打ち合わせに臨んでこられるわけです。IT系の人ではないんです。だけど、完璧なんです。「このシステムを構成する各要素はどのような責任分担で運用するの」というような質問をいただいたり。この質問も「サービスは関係者全員が一緒に運用していくものなんだよ」という助け舟だったりするんですけど、質問された瞬間は全く想定していなかったのでちゃんと答えられませんでした。
ただ、運用段階に入ると、そのように決めたことが生きてくるんですよ。本当に、とても、勉強になりました。

――確かに、受託開発であっても自社開発と変わらず開発者と担当者は協力して進めるべきものですよね。そういった担当の方に会えたことはよい経験になりましたね。

小山 はい、仕事に対するスタンスについて学んだと思っています。

モットーは、「使い勝手を考える」

――業務を行なう上で大事にしているモットーや、好きな言葉があれば教えてください。

小山 「使い勝手を考える」ですね。どこを実装する、どこを設計するにしても、最終的なシステムやサービスの使い勝手を考えています。「ユーザーを想像する」と言うとカッコよすぎるんですけど。例えば、データベース設計をしているときも、「この設計の結果どんな機能が生まれる可能性があり、どんな使い勝手がお客さんに伝わるんだろう」とか。

――Fusic時代の自己紹介などで「1人DevOps」と書かれていましたが、現在はどうですか?

小山 Fusic時代では、設計、開発、インフラだけでなく運用も分けずにできるようにする。それが「1人DevOps」の由来ではあるんですけど、今は少しだけ違います。なんでもできた方が良いよね、とは今でも思っているんですけど、今のマネージドクラウドチームのメンバーは優秀で、かつそれぞれに専門分野があって。全員がなんでもやりつつも、それぞれの専門的なところ生かしてチームで開発をしているイメージです。チームメンバーからは教えてもらうことが多くていつも勉強になります。

――ご自身の成長のために日々行なっていることがあれば教えてください。

小山 自分はずっとエンジニアとして生きていきたいんですけど、将来像をあまり考えきれない人間でもあるんですね。「やりたいな」と強くは思っているのですが、一方で漠然と思っているだけなので。ただ、日々行っているのは「何かを自分で考えて作る」ということですね。業務でもサービスの運用や開発をしますが、それプラスアルファで。その1つがOSS活動なんだと思います。

専門家と呼ばれたい欲求はないんです

――ここからは、小山さんが働く上で大切にしていることについて、「事業内容」「仲間」「会社愛」「お金」「専門性向上」「働き方自由度」の6つの項目から合計20点になるよう、点数を振り分けていただきます。

・事業内容 4

重要ですが、参加することに納得がいくものであればどんな内容でもいいと思っています。納得というのは、面白さだったり意義だったり。日々最も頭を使うところだと思っているので。逆に納得いかないものだと、かなりモチベーションが下がると思います。

・仲間 4

会社の人には最も多くの時間関わることになると思います。技術にしろそれ以外にしろ、目標となるような人ができるだけ多いと最高ですね。

・会社愛 3

会社という箱より、仲間や事業内容のほうが重要だと考えています。

・お金 3

お金よりも、仲間や事業内容のほうを重視しがちですね。とはいえ、生きていくためには必要ですし、評価された結果だったりするので重要ではあります。

・専門性向上 2

エンジニアとしての成長と、ある特定の専門性を高めることがあまりリンクしていません。専門家、と呼ばれたい欲求もありません。技術的に移り気なところがあるんですね。ただ、GMOペパボで、専門性をもったすごいエンジニアを目の当たりにすることが多くなって、もしかしたらこの考え方は間違っているのかも、と思いはじめています。

・働き方自由度 4

子どもが生まれて、はじめて「ある一定の自由度があるのとないのでは大きく違うのだな」と実感しました。そのため、高めです。子どもが生まれてから、しばらくリモートワークをさせていただいたんですが、会社やチームーメンバーの理解や協力もあって、本当にやりやすかったです。働き方の自由度って夫婦2人だけで居たら考えもしなかった観点だったと思います。

――最後に、キャリアに迷うエンジニアの方にメッセージをお願いできますでしょうか?

小山 あまり悩まないでほしいということと、本当に好きだったら何とかなる、ということですね。

転職って理由があると思うんですよね。キャリアに関しても、悩むってことは何か目標があったりすると思うんです。でも、私が転職したときは「技術的にもっと面白いことをしたい」とか、漠然と、ふわっとしていたんですよ。キャリアに関してもエンジニアではずっといたいんですが、他のエンジニアと比べてこうなりたい、だから今こうならないと、みたいな気持ちはありません。

好きでアウトプットし続けていたら、いつの間にかそこを評価してもらってた部分もあります。好きで続けられるのであれば、あまり悩まなくてもなんとかなると思うんです。悩まないでほしいです。

<了>

ライター:澤山大輔


Forkwell Portfolioは、エンジニア向けのポートフォリオサービスです。
Gitリポジトリを解析して、あなたのアウトプットをグラフィカルに可視化します。

Forkwell Portfolioのご登録はこちら!

Forkwell pordfolioバナー