teratail Report vol.2

2017/04/20

「エンタープライズ=レガシー」をぶち壊す。技術レイヤーを拡げ世界を変えるエンジニア

「エンタープライズ=レガシー」をぶち壊す。技術レイヤーを拡げ世界を変えるエンジニア

teratail Report第2弾はエンジニアインタビューです。
今回ピックアップするのは、前回のレポートで、AWSでの大規模IoTプラットフォーム構築の裏側をお話ししてくださったフューチャーアーキテクトの須田さん、武田さん。エンタープライズ業界を先駆けるギークなエンジニアはいかにして誕生したのか?その変遷を伺いました。

須田 桂伍 氏

須田 桂伍すだ けいご

フューチャーアーキテクト株式会社

2012年フューチャーアーキテクト株式会社に新卒入社。

Hadoopによる大規模バッチ処理基盤からKafkaとSpark Streaming等のストリームエンジンを使ったリアルタイムな処理基盤など、エンタープライズ領域を中心とした様々なデータ処理を得意とするデータインフラエンジニア。

  • Twitterアカウント
  • Qiitaアカウント
  • GitHubアカウント
武田 大輝 氏

武田 大輝たけだ ひろき

フューチャーアーキテクト株式会社

2012年フューチャーアーキテクト株式会社に新卒入社。

サーバサイドエンジニアとして通信教育会社の学習システムや証券会社の情報管理システムの開発等に携わってきた。

現在はインフラエンジニアとして主にAWS基盤を対象として社内横断的に技術支援を行っている。

  • Twitterアカウント
  • Qiitaアカウント
  • GitHubアカウント

5年で1,000冊の技術書を購入

── よろしくお願いします。まずは前回の記事『AWSによる大規模IoTプラットフォーム構築の裏側に迫る!』が750シェアを超えるなど話題を呼びましたが、普段からイベントなどで登壇されているのですか?

須田桂伍氏(以下、須田)そうですね。僕は去年Hadoop / Spark Conference Japan 2016をはじめ様々なイベントで登壇させていただきました。このカンファレンスは上司に「こんなのあるから出てみなよ」って声をかけられたのがきっかけです。このイベントを境にいろんなところから登壇依頼をいただくことも増えましたね。

Hadoop:Apache Hadoop。大規模データ分析用の並行分散処理を行うOSSフレームワーク。

Apache Spark:インメモリで並行分散処理を高速に行えるフレームワーク。

── 大きなカンファレンスでもアウトプットされているのですね!須田さんは技術の知識や最新情報のインプットはどのようにされているのでしょうか?

須田ひたすら本とドキュメントを読みます。ジャンル問わずIT書籍の新刊コーナーにあるものは全て買います。5年で1,000冊ほど買って読んだと思うので、たいていの技術書はうちにある気がします。社会人になって数年間は週にMaxで20冊読むこともありました。寝るのがもったいない程技術書が面白くて、毎日睡眠時間を削って読んでいました。数をこなすと「これ、前の本でも書いてあったから読み飛ばしていいや」というところが出てくるので、さらに多くの量を読めるようになっていきました。

── すごい…!アウトプットだけでなく相当な量のインプットもされていらっしゃいますね。武田さんはどのようにインプット・アウトプットされていますか?

武田大輝氏(以下、武田)僕の場合は"好きこそものの上手なれ"で、興味・趣味から入り、どんな小さなことでもいいから期限と目標を立てて実行してきました。いつまでにこんなのを作るぞっていう。そのためにどんな技術を使うのがいいかを調べて作ってみて…の繰り返しです。

分からないことはまずはWebで調べることを徹底しています。とはいえ須田ほどではないですが僕も本はけっこう読むので、Webにしろ本にしろあるものは全部インプットしたいタイプです。

── "作る"ために勉強されてきたのですね。それにしてもお二人のインプット量には脱帽です。

「世の中の大事なことは全部カーネルに詰まっている」

「余暇はコードを書くかお酒を飲むか二択」と武田氏。自分好みにカスタムできるUbuntuを愛している。
- 「余暇はコードを書くかお酒を飲むか二択」と武田氏。自分好みにカスタムできるUbuntuを愛している。 -

── そもそもお二人は学生時代から技術が好きだったのでしょうか?

武田僕はもともと技術が好きでした。中学生のころ、友人の影響でホームページを作成して以来、大学生までプログラミングは趣味レベルでやっていました。あの時メモ帳からWebサイトを作れることにめちゃくちゃ感動したのを覚えています。ゼロイチでものを作る過程が目に見えることに興奮したんです(笑)。サイト以外にも当時ハマりまくっていた脱出ゲームを自作したいなと思い、ActionScriptを勉強してオリジナルを作っていました。ちょうどFlash全盛期でした。他にも色々な技術書を写経したり、興味を持ったものを自分で作って楽しんでいました。

大学では経営を学ぶために文系に進みました。でも就職活動を通じて、やっぱり技術分野で生きていきたいと思い、フューチャーアーキテクトに入社しました。コーディングを下請けに任せている大企業が多い中、フューチャーアーキテクトはプライマリで案件を取れていて、その規模でも設計からプログラムを書くところまで自分たちでやるのが魅力的で。「ないものはつくる」というエンジニア気質なスタンスにも惹かれましたね。

── 本当に何かを作り出すのがお好きなんだなというのが伝わってきます。須田さんはいつ頃から技術にはまったのですか?

須田僕は元々バリバリの文系で、会計士を目指していた時期もありました。そんな中、企業が大学に来てくれる就職説明会でフューチャーアーキテクトに出会ったのがエンジニア人生のはじまりですね。はじめてちゃんとJavaを触ったのは入社後の新卒研修でした。よく分からないけどなんか書いたら動く、みたいな。でもそれ以上にこれはどうして動くんだろうって、プログラミングより仕組みを調べる方が面白くなっていって。それから深掘りしすぎてOSやカーネル周りをひたすら勉強しているうちに、これらの低いレイヤーの技術などに目覚めていきました。

これは声を大にして言いたいんですけど、世の中の大事なことって全部カーネルとTCP/IP スタックに詰まっているんですよ。ITの原理だけじゃなくて仕事の進め方、人間関係まで学ぶものがありますから。『OSで学ぶ仕事の進め方』って本を書きたいくらい(笑)。そのくらい奥が深いんですよねえ。

── 文系学生から一転し独自の"カーネルキャリア論"を語る須田さん、なかなかの変態ですね(笑)

専門分野しか出来ない人はスペシャリストじゃない

「趣味は料理」。最近はSTAUBのグリルパンを買うなど、調理器具は1番お金をかけるこだわりポイント。
- 「趣味は料理」。最近はSTAUBのグリルパンを買うなど、調理器具は1番お金をかけるこだわりポイント。 -

── それでは、お二人が実際に関わってきたプロジェクトを教えてください!まずは須田さんからお願いします。

須田最初に配属されたのは、大手食品製造業の基幹システムを全面刷新するプロジェクトで、そこのインフラを担当しました。その頃はまだAWSが基幹システムで利用されることが今ほどメジャーではなかったので、VMwareのvSphereを使用した仮想化でプライベートクラウドを組んでVMを運用していました。配属になってすぐひとりで数百台のサーバーを見ていたので辛みも多かったです。

vSphere:コンピュータの仮想化プラットフォームを構築するソフトウェア。

VM運用後は、プロジェクトをいくつも経験していきます。ようやく日本でもChefが流行り始めた2013年頃、世間では「インフラエンジニアは死ぬ」と言われるようになって。「ああ、俺死ぬんだ。インフラ辞めよう」と思って少しの間DBAになったんです(笑)。そこから徐々にレイヤーを上げていき、次のプロジェクトからHadoopのHDFSを使ったデータレイク(データ蓄積基盤)設計・構築に携わるようになりました。

Chef:サーバーの設定や構成を管理するRuby製のツール。

ここからHadoop / Spark Conference Japan 2016で発表した大手コンビニエンスストアの店舗発注業務センター化の案件に入っていきます。Amazon EMRを使ってHadoop上で大量のバッチ処理を行う基盤を作るというもので、この頃にはインフラからミドルウェアまでなら得意です、と言えるようになりました。次のプロジェクトでApache KafkaやSpark Streamingを使うようになり、その実績が今回お話したIoT案件に繋がっていきました。
この案件ではこれまで携わっていたインフラ、ミドルに加えて、サーバサイドのアプリケーション実装からCI、運用監視の仕組み整備などほぼ全てを行なっています。

Amazon EMR:AWS上でHadoopやSparkといったフレームワークが利用できるサービス。

Spark Streaming:Apache Spark Streaming。ストリームデータ処理を行うライブラリ。

── 最初はインフラ周りの担当から徐々に領域を広げてきたのはご自身の希望ですか?

須田そうですね。最初は担当領域を極めたいと思っていたんですが、AWSのようなパブリッククラウドがエンタープライズでも使われだしたのを見て、どのレイヤーでも誰でもできるようになってきたなと。じゃあ自分も下層以外もできるんじゃないかとチャレンジしてみたんです。そうしたらやっぱり最低限のことはできちゃう環境やライブラリって整っちゃってるんですよ。「これはヤバい」と。そこからは意識的にレイヤーを上に伸ばしていきました。僕のバイブルでもある『情熱プログラマー』の中に「自分の専門分野のことしか知らないことが、スペシャリストだって勘違いしてるんじゃないか」という感じの台詞があって。その言葉にも影響されましたね。ただし、「なんか動いてる」っていうブラックボックス状態は大嫌いなので、その仕組みも把握する努力は今も継続しています。

── 技術の流行を横目に先んじて新しい分野に着手し続けた5年を送られてきたのですね。

1年目で要件定義から開発・運用まで経験

「自分だけの必殺技は?」と聞くと「AltとTabをコンパイルして、フットペダルを使って画面を切り替えていた」と驚きの回答!
- 「自分だけの必殺技は?」と聞くと「AltとTabをコンパイルして、フットペダルを使って画面を切り替えていた」と驚きの回答! -

── では、武田さんのキャリアステップを教えてください。

武田最初は教育サービス業界大手顧客の高校生向け学習システムの構築に関わっていました。お客様先に常駐して要件を詰めるところからはじまり、設計をしてコードを書いてテストしてリリースするといったサイクルを2年ほど経験しました。要件定義に4ヶ月、設計・開発に4ヶ月、テスト4ヶ月、リリース・運用4ヶ月くらいのサイクルです。JavaやObjective-Cはこの頃に触りました。

── 1年目で上流から下流、さらにはアプリ側まで一通りできる方はなかなかいないのではないでしょうか。そこからどんなキャリアを目指されたのですか?

武田当時はこの先技術者として尖っていくのか、コンサル的なポジションに行くのか悩んでいました。そんな中、3年目になってすぐ技術一本で行こうと思ったきっかけがあって。社内にTechnology Innovation Groupという現在所属している技術部署が新設され、これまで社内でバラバラに活動していたテッキーな人たちが一つの部署に集まったんですね。この環境なら技術的なチャレンジが今よりもっとできそうだなってすごくワクワクしたんです。その時改めて自分はやっぱり技術が好きなんだなと認識して、技術者として生きていく決心をしました。

プロジェクトとしては、その後すぐに証券会社の顧客情報管理システムの案件でアプリケーションのアーキテクチャデザインを担当しました。ただ、割りと小規模なプロジェクトにいることが多かったので、アプリだけ見ていればいいということもなく…必然的にミドルやインフラを触る機会も多くなっていきました。

現在は「ヒカ☆ラボ」でも発表したヘルスケア領域のIoTデバイスデータを活用したサービス基盤構築に着手しています。自分からAWSまわりの案件に携わりたいと言って入れてもらったんです。なので僕は須田とは逆で、技術的なレイヤーとしては上から下に広げていったことになります。

「エンタープライズ=レガシー」をぶち壊す

須田さんの必殺技は、なんとHappy Hacking Keyboardの二台使い!左右の手にそれぞれ一台ずつ割り当てているのだとか。
- 須田さんの必殺技は、なんとHappy Hacking Keyboardの二台使い!左右の手にそれぞれ一台ずつ割り当てているのだとか。 -

── お二人が今後挑戦してみたい技術を教えてください。

須田直近だと、マルチクラウドでのシステム構築をやってみたいです。それもミッションクリティカルなレベルで止まっちゃまずいところまでマルチクラウドで横断的に動かす、みたいな。そしてそれをこの業界の当たり前にしたい。今はAWSが主流で、運用が大変だからとマルチクラウドが選ばれないことが多々ありますが、マルチクラウドにはそれを超えるメリットがあるはずです。説得力を持って語るためにも自分がちゃんと運用して、どう使い分けているのかなどを語れるようにならないといけない。だからあえて厳しい環境で新しい事例を作っていきたいです。

個人的にはGoogle Cloud Platform(以下GCP)に機能をオフロードできないかって考えてます。金銭面のメリットがとても大きくなるサービスもあるので。一度検証してみたのですが、機能面でも問題ありませんでした。最近はGCPとAWSを組み合わせる事例も聞くようになってきましたが、まだまだBigQueryなど分析まわりでの部分的な利用がほとんどですよね。なので分析以外の部分でもGCPなどを使ったクラウド横断な仕組みも作れないかって考えてます。

BigQuery:Google Cloud Platformが提供するデータ解析サービス。

── teratailでもログの分析はAWSでそれ以外はGCPを利用していますが、たしかにミッションクリティカルなレベルで導入している事例は聞きませんね。長期的な目標も教えていただけますか?

須田Webで流行ったものが遅れてエンタープライズにやってくる流れを変えたいです。エンタープライズで新しい技術を使うことには大きな意味があります。ブラックボックス化した業務用件やデータモデルを加味した上で、新しい技術のメリットを最大限に活かし、Webへそのノウハウや事例を流していきたいですね。ただでさえ日本は海外から数年遅れていますから。昔はエンタープライズが主流だったらしいですが…。僕が積極的に外部発信するのもそれが理由で、ノウハウを惜しみなく出すことで業界の流れも変えていきたい。そこを目指しています。

── エンタープライズは影響力も大きいので、新しい事例が増えるとどんどん世の中が変わっていきそうです。武田さんは今後どのような技術に挑戦していきたいですか?

武田僕はどの技術を使いたいかはあまり考えないようにしています。技術はあくまで手段。手段と目的が逆転しないよう気を付けています。ただ、エンタープライズは特定の技術に縛られがちなので、選択肢としていろんな技術の引き出しは持っておきたい。そういう意味では最新の技術やまだ事例が少ない技術は積極的に取り入れていきたいと思っています。

分野としては今後も教育やヘルスケアのようなBtoCサービスに携わっていきたいですね。特にITがまだまだ浸透していないアナログな業界での新しいビジネスがいいです。

── 現在取り組まれているヘルスケアのIoTプラットフォーム構築もかなり革新的ですよね。最後に、武田さんの長期的な目標を教えてください。

武田技術者として突き抜け、この業界に名を轟かせたいです。フューチャーアーキテクトの事例だと、脆弱性スキャンツール「Vuls(VULnerability Scanner)」が業界内でバズったときに開発者の神戸さんが"テッキーな人"として一気に有名になりました。彼のように自分のつくったモノや実績で、技術者の中で尖ったエンジニアになりたいと思っています。

会社としては、僕も須田と同じくエンタープライズへの想いがあります。ミッションクリティカルだからこそ、本当はやりたくても出来ないことって結構あるんですよ。でも、だからこそ新しい技術やソリューションの提供にどんどん挑戦して世の中に発信していきたい。エンタープライズ=レガシーなイメージを払拭したいです。

── 今後もエンタープライズ業界に新しい風を吹かせていくであろうお二人のこれからがますます楽しみになりました!本日はありがとうございました。