linotice

linotice

2018.01.12

「ヤフーの魅力は、研究室では扱えない量のデータを扱えるところ」──ヤフー黒帯インターン「データプラットフォームコース」に参加した小川さんに話を聞いてきた

小川さんと内藤が並んでいる様子の写真
こんにちは。linoticeの中のヒトです。

大学生、大学院生のみなさんは、企業が主催するサマーインターンシップに参加しましたか? ヤフーでもこの夏、インターンシップを合計18プログラム実施しました。

ほぼ全てのプログラムがエンジニア向けということもあり、エンジニアの学生さんからは「多くて悩んだけど、自分の関心にあったプログラムを選択できてよかった」という声もいただきました。(ありがとうございます)

今日は、そんなヤフーのサマーインターンシップの中でも、黒帯インターンシップの「データプラットフォーム」インターンに参加してくれた、小川遥加さんに実際のインターンの内容、参加した感想などをせきららに語ってもらいます。

インタビューの聞き手はクリエイター人財戦略室の内藤 汐美。サマーインターンシップの選考や懇親会にも参加していた彼女が、小川さんのインターンシップで得られた経験や気持ちを引き出していきますよ!

それでは、早速インタビューに移ります。

image
(写真左:ヤフー株式会社 内藤 汐美|写真右:小川遥加さん)

小川 遥加さん
東京農工大学大学院1年。システムソフトウエア系の研究室で仮想化技術を専門にし、主にライブ仮想VM移送についての研究をしている。

内藤 汐美
ヤフー株式会社 CTOクリエイター人財戦略部 戦略室
ポテンシャル採用、キャリア採用をはじめ、ハッカソンやクリエイターの勉強会開催サポートなど幅広く行っている。Twitterがすき。

普段研究しているテーマの、もう一つ上のレイヤーを見てみようと思った

image

それでは、今日はよろしくお願いします。まずは、ヤフーのインターンに参加してくれてありがとうございました!

いえ、こちらこそありがとうございました。いい経験ができました。

小川さんは今回、黒帯インターンシップ「データプラットフォーム」コースで、ヤフーのビッグデータ基盤を支えるサーバー、OSS管理の分野を経験するプログラムに参加してくれましたが、普段はどういう分野の学習・研究をしているんですか?

大学院では、システムソフトウエア系の研究室で仮想化技術を専門に、ライブ仮想VM移送についての研究をしています。
簡単に説明をすると、物理マシンの上に乗っている仮想マシンを、仮想マシンが動いたままの状態で他のマシンに移送する技術です。別の物理マシンに仮想マシンを移すことで、物理マシンのメンテナンスや、負荷分散を柔軟に行うことができます。

サービスを運用しているサーバーなどのメンテナンスをしたいときなど、仮想マシンをスムーズに移送する研究ということ?

そうです。例えば、1つのサーバーにアクセスが集中してしまった時に、一部の仮想マシンを別のサーバーに移送することで物理マシン上の負荷分散を行う、などの状況があると思います。この移送の時にサービス停止を避けたり、移送のミスをなくしたりして、移送をスムーズにする研究ですね。

研究室として、そういうことをしているんですか?

研究室はOSを中心としたテーマの研究室で、私は仮想化技術を研究しています。私の他には、データベースやセキュリティー分野の研究をしている人たちもいますね。

image

小川さんの研究室って、セキュリティーチームの人もいる研究室ですよね?(笑)

そうです(笑) セキュリティー系が優秀な同期が多くて、ハッカーチームとしてニュースでも話題になっていたセキュリティーチームのメンバーも同じ研究室に所属していますね(笑)

小川さんはセキュリティー系の研究とか学習はしないんですか?

私はどちらかというとセキュリティーよりも、OSの方が好きなんです。コンピューターやプログラムが動く仕組みに興味があります。
高校時代からパソコン部に入ってゲーム開発をやっていたんですが、その後大学に入って研究室を選択する際、いろいろな分野を触った感じで、OSは数値でわかる、定量的にわかりやすいと思ったんです。OSの上でアプリケーションが動くという部分は元から興味はありましたし、それで研究室を選んだところが大きいです。

サービスやシステムを支える根幹の技術に関心があるんですね。今回のインターンに参加したのも、関心に近い分野だったからですか?

そうですね。私が研究しているテーマはコンピューターで動いているものの一番下の部分という感じです。
データプラットフォームコースは、情報を集める際に必要なミドルウェアの管理を行う周りの分野でした。私はその下のレイヤーなんですが、実際にVMで動いているものには関心があったこともあり、参加しました。

いつもやっていることの、上のレイヤーを見ようということですね。あんまり、データプラットフォームコースみたいな、基盤技術を実践で使用するようなプログラムのインターンって少ないですよね。

image

あまりないですね。アプリ開発のようなコースはありますけど、データを扱えるものは少ないです。それに、期間が長すぎるものも多いのですが、今回参加させていただいたインターンは2週間でちょうどよかったですね。

テーマと期間が参加の決め手だったんですね。

テスト、研究では味わえない、本番データを扱う魅力と苦労

インターンに参加してみて、どうでしたか?プログラムは6つの課題から、興味のあるものを選択するんでしたよね?

●○● 課題は以下の6つ ●○●

【課題例】

(1)Yahoo! JAPAN向けに提供しているストレージプラットフォームの機能追加および改善業務。Go言語でのコーディングを想定。

(2)Yahoo! JAPAN向けに提供しているPrestoのUDFおよびコネクター開発のためのコーディング、テストなどの業務。

(3)Yahoo! JAPANが提供するサービスの改善を目的とした分析や機械学習を行うための、データを取得するライブラリの開発業務。

(4)分散データベース(DB)のOSS開発についての基礎知識習得および実践を目的とした就業体験。最終的な成果として、Apacheコミュニティーへの貢献を目指す。

(5)Hadoopについて、ハードウエアからアプリケーションまで、ボトルネックのチューニングを行う。

(6)最強のデータベース「OracleDatabase」の環境構築を体験しOracleの仕組みを理解し、最新バージョンの新機能検証を目指す。

私は、(5)の「Hadoopについて、ハードウエアからアプリケーションまで、ボトルネックのチューニングを行う」という課題を選択しました。

実際のヤフーの課題を解決していくんですよね?

そうです。ヤフーのシステムにおけるDBの課題を、データ基盤のアップデートによって変更していくという内容でした。
アップデートをするにも、変更する際に確実な保守性を保たないとリスクがあるけど、現状のままでもいけない。そこで、変更後のリスクを回避するための検証を行った上で、アップデートをかけていくという作業をしました。

どういう風に検証を行っていくんですか?

バージョンアップをした際に問題が起きないか?ということを把握するために、バージョンアップをしたときにどういうことが起こるのかをデータ、コードを読んで、アルゴリズムが影響を与えるところを確認していきます。
それにテストサーバーに実際にたまっていくと想定されるデータを流し込んで、アップデートをかける。その上で変化を確認しながら、サーバーに与える影響を確認するんです。

仮説検証して、アップデートして、本番に反映した感じですね。大変だったところは?

一番大変だったのは、Hadoopの仕様に慣れてないこと、あとは現場でのデータ出力の仕方やデータの形式が、明確にはわかりにくかったことですね。
普段ヤフーでどのようにデータが管理されているのか、データの形式はどのようになっているのか、実行時間やおかしいポイントを見て、何がおかしくて何を解消すればいいのか、などもデータの形式やスタイルの違いでうまく対処できませんでした。

そういうところはどうやって解消していったんですか?

わからないところはヤフーの社員さんに聞きつつ、どうしてもエラーが出てしまうところは変わりに書いてもらいました。
実際に社員の皆さんが働いているオフィスでインターンをやっているので、基本的に横の席にはメンターの方がいてくれ、わからないことがあったときはすぐに質問ができます。苦労があってもスムーズに対応してくれるので、働き方も実際と近くてよかったです。

image

横につきっきりでインターンを進めるんですよね。テスト環境で検証したものを、本番に反映した結果はどうでした?

実際に本番をアップデートすると、テスト時点では想定していなかった問題も発生しました。アルゴリズム上で予測した数値はその通り出てきたのですが、本番のデータ量は膨大で、予測していなかった数値も出てきました。
やっぱり大量のデータが集まり処理をするサーバーでは、想像以上の挙動があります。大学の研究室とか、小さなサーバーではわからない。それを経験できてよかったと思っています。

データ量が大量だから、やっぱり経験としてもだいぶ違いますよね。

自分のパソコンをアップデートするのは簡単ですが、実際の環境ではいろいろなサービスやシステムにどのような影響が出るかをテストする必要があり、大きなシステムを管理する大変さを感じましたね。

image

社員と同じ空気を感じることでわかるものがある

インターンに参加したことで、就活や、将来の職種選択に役立ったことはありました?

担当してくれた部署の方はもちろんですが、それ以外にもクラウド専門の部署の方たちとも1on1ミーティングでお話ができて、参考になることは多かったです。大きなデータを扱うクラウド技術を持っている会社は少ないので、今回聞いたことや、プラットフォームの分野として経験した内容を踏まえて就活を進めたいと思います。

なるほど。専門として過ごしている技術とは別のレイヤーだったけど、興味があることはわかったという感じですね。よかったです。ちなみにインターンは楽しかったですか?

ヤフーにはやっぱりいろいろと珍しいデータがたくさん集まっているし、本番のデータを見ることができたのはとても魅力的でした。社内の雰囲気を見ることができたこともいい経験でしたね。ヤフーはこういう感じで働いているんだなと(笑)

実際の執務スペースで、社員が働いている中で働いていると感覚はやっぱり伝わりやすいですよね。

はい。ランチはヤフーの社食を利用できますし、それ以外にも社員以外は入れないスペースにも入ることができます。インターンの部署の方がランチにも連れていってくれたり、他の参加学生ともつながりができたりした点も、インターンに参加してよかったところでした。

そういえばデータプラットフォームコースは8人が参加して、はじめの方はほとんど話していなかったんですよね?(笑)

そうなんです(笑) インターンがはじまって最初の方に少し話して、それからはほぼ話さず。インターンが終わる3日前に初めて懇親会というか、飲み会にいってからあいさつをして、仲良くなりました(笑)

みんなシャイなんだね。最後の懇親会では一番仲良さそうに盛り上がっていたけど(笑)

image

他にも、社員と話してためになった、参考になったことはありました?

黒帯の方と接する機会が多かったのですが、特定の領域で高い専門性を持って活動するというのは、いいキャリアだなと思いました。
ヤフーには研究室の先輩が入社していることもあり興味は持っていたのですが、それ以上にいろいろな社員さんがいて、それぞれの人が技術的にもキャリア的にも個人の望む能力を伸ばしている印象です。部署間異動もできるし、風通しもいい。いろいろなことを自由に試せる環境である印象でした。

自分のキャリアを専門分野に特化させていきたい人にとって、「黒帯」はすごくいい制度だと思うので、そう思ってもらえてうれしいです。最後に、今後の目標を教えてもらえますか?

まだ就職する方向性、分野を決めきっているわけではないのですが、ヤフーのインターンでは多くの分野、関心のある分野で働いている方とお話しする機会が多くありました。そういう話や、インターンの経験も生かしつつ、自分にとって理想のキャリアを選択していきたいと思います。

インターン、楽しんでもらえたようでうれしいです。本日はありがとうございました!

image



採用情報 公式SNSアカウント

このページの先頭へ