LINEヤフー

Internship 2025

ポジティブでいられる自分をイメージできた、
実体験を経て入社を決めた理由。

鵜飼 健矢
青いシャツを着た眼鏡の男性が、明るい室内で立っています。背景にはテーブルや椅子、観葉植物が見えます。
鵜飼 健矢Ukai Kenya
2020年にエンジニアとしてLINEに新卒入社。サーバーサイドエンジニアとして「LINE」アプリのメッセージング機能やホームタブの開発・改善などに従事。
※この記事は、2022年LINEサマーインターンシップ エンジニア職 就業型コースの募集時に掲載したものを一部修正して再掲載しています。サービス名称や所属は取材当時の内容です。

自己紹介をお願いします。

2020年4月に新卒として入社した鵜飼健矢です。学部生時代は競技プログラミングをしたり、ロボコンで回路の設計をしたり、大学院では機械学習や深層学習の研究をしていました。入社後は、「LINE」アプリのメッセージング機能やそのプラットフォームの開発、運用をするチームに所属しています。個人の担当としては、サーバーサイドエンジニアとして、メッセージングのコア機能やホームタブ関連の開発・改善をしています。

僕は、2018年の夏にLINEのインターンシップに参加したので、そのときの参加者としての経験や感じたことをお話しします。働くことやエンジニア職のインターンシップに興味がある学生さんは、ぜひ参考にしていただけると嬉しいです。

鵜飼 健矢さんのインタビューカット

インターンシップでは、どのような業務に取り組みましたか。

LINEのメッセージングプラットフォームで利用しているHBaseクラスタ開発を主に担当しているチームに入って、業務に取り組みました。

具体的に取り組んだ業務内容を紹介すると、ZGCというJava 11から追加されたガベージコレクタをHBaseに適用し、その性能評価を担当しました。HBaseはLINEのメッセージングサーバーで広く使われているストレージですが、JVMで動いており、GCのSTW(stop-the-world)によってレスポンスタイムの悪化や、クラスタ間通信のタイムアウトが発生することがあります。ZGCはヒープサイズを増やしてもGCの停止時間を10ms以下に抑えることを目指したGCの実装です。サーバーの性能やアプリケーションによっては、現在よく使われるG1GCよりも良い性能が出せる場合があり、将来的にHBaseでのZGCの利用を見据えて性能を評価するのが目的でした。

Grafanaを活用したモニタリング環境や、プライベートクラウドのVerdaなど多様なインフラが整っており、そういったものを活用しつつ、ベンチマークツールを使ってさまざまな条件での性能やGCの状況を調べました。当時は、JVMやHBaseやGCには詳しくなかったので、HBaseの構造やGCの種類を勉強しながら、「どうすれば適切な負荷をかけられるのか」や、「どういった指標を見るべきなのか」で苦戦した記憶がありますね。詳細は、メンターをしていただいた吉田さんの記事が公開されているので、興味があれば読んでみてください。

メインの業務のほかにも、中途含む新入社員向けに開かれている簡易的な研修に参加する機会もありました。そこでは、LEGYというErlangで書かれたゲートウェイサーバーの話や、プライベートクラウドVerdaの話などを聞きました。仕事をするうえで知っておくと役立つさまざまな技術的な知見を得られ、けっこうおもしろかったです。

また、直接業務に関係はありませんが、ほかのインターンシップ生や新卒入社した先輩社員と話をする機会も設けられていました。インターンシップ生だけで話をする機会と、新卒社員とほかのインターンシップ生のメンターも交えて話をする機会があったはずです。社内にはさまざまな部署があるなかでそれぞれの部署で仕事も文化も少しずつ違います。技術的なトピックとして興味深い話がたくさんできるのはもちろん、インターンシップ生同士で配属された部署の話をしたり、新卒社員やメンターからそれぞれのチームの視点での会社の話やぶっちゃけ話も含めた個人的な考えを聞いたりと、ほかの分野のチームや人を通じて、会社を複合的に知る良い機会になりました。

鵜飼 健矢さんのインタビューカット

インターンシップ中に感じたこと、得た経験を教えてください。

インターンシップ中に感じたことは、何よりサービス開発におけるトラフィックやコードなどの規模感です。実際に開発に取り組むなかで感じた部分はもちろん、社内に公開されているドキュメントやダッシュボード、たとえば年末年始のトラフィックや「LINE」アプリのソースコードなどからも感じられました。これは参加するうえで一番期待していた部分でもあったので、良かったですね。インターンシップでは社員と同じ業務環境で仕事ができるので、参加するみなさんは実際に働く雰囲気を十分に感じられると思います。

また、実際に業務を進めたりいろいろな人の話を聞いたりするなかで、社内には本当にさまざまなシステムがあることも知りました。僕が主に関わっているのはメッセージングプラットフォームですが、「LINE公式アカウント」やさまざまな関連サービスなどユーザーから見えるシステム、ほかにも社内クラウドやモニタリング、デプロイシステムなどのインフラ基盤、全社的なデータ分析基盤、ネットワークインフラ、セキュリティなど本当に多くの専門チームが社内にはあります。社外のソフトウェア製品も必要に応じて活用していますが、内製のシステムを一通り持って運用していることはインターンシップに参加して初めて知りましたし、実際にどんなシステムがつくられて使われているか、触れて知る機会があることもメリットだと感じました。

あと個人的に一番印象に残っているのは、チーム内のコミュニケーションが基本英語だったことですね。英語を使う決まりがあるわけではなく、もちろん日本語主体のチームもたくさんあるのですが、僕が配属された部署は外国籍の方も多く、みなさん英語でやりとりをしていました。いまとなっては当たり前になりましたが、当時は英語中心の環境の経験が少なかったので新鮮でした。会議などで英語を話す機会もありますが、会議では社内の専属通訳チームに入ってもらうことが多いので、話せなくても大きな不自由はありません。あと、社内のSlackでは翻訳ボットも活用されているため、各チャンネルでは各々の好きな言語でコミュニケーションがされています。英語をもっと使えるようになりたいと思っているけど英語しか使えないのは少し不安、という人も英語を勉強するモチベーションになると思います。念のため繰り返しますが、日本語をメインで使うチームも多いですし、逆に外国籍の方が働きながらどんどん日本語を上達されていくケースも多いです。多様性や選択肢のある環境だとご理解いただければ良いかなと思います。

鵜飼 健矢さんのインタビューカット

社員として入社することを決めたポイントはありますか。

インターンシップを経験したいくつかの会社を中心にした選択肢のなかから、扱っているサービスや働いている人の雰囲気を参考に「どの会社で仕事をしている状態が自分にとって一番楽しめそうか」を考えて入社する会社を決めました。インターンシップを通じて実際になかに入って業務をしてみて、そして日々の雑談などからも会社や働く人の雰囲気が良いなと率直に思えたんです。このさき働くなかで、ポジティブな状態でいられる自分をイメージできました。

あとは、サービスの性質や規模によるおもしろさですね。たとえば、メッセージングサーバーなどはサービスを止めると影響が大きいので、データベースの移行なども含めて、サービスを動かしながらあらゆる開発・運用を行う必要があり、そのため開発時にさまざまな工夫が必要です。また規模の大きいアプリケーションサーバーやストレージサーバーを運用していると、小規模では発生しないさまざまな問題が起こって、それら一つひとつの改善には大きな価値があります。あとは、「LINE」アプリに限らず日常生活のなかで頻繁に使われているサービスが多いので、年末年始やスポーツの試合などのイベント、地震や台風といった災害などの外部要因の影響を大きく受ける機会が多いです。あらゆる場面で人々の生活に直結するサービスを開発しているとの実感がわかりやすくあって、それは単純にモチベーションになりますね。

実際にいま、働いていてどうですか。

社会人生活がいきなりリモートワークで始まったのですが、楽しく働けています。

業務においては、やはりサービスの規模の面でやりがいを感じることが多いです。新機能でも初めからかなりのトラフィックが発生するので、開発する際にトラフィックやリリース方法を考慮することは必須です。平常時のトラフィックが多いことに加えて、年末年始や地震などのさまざまな事象の影響も大きく、そういった場面や障害が起こったときでも安定したサービスを提供するために日々細かな改善を積み重ねていて、改善からの学びも多いです。

インターンシップと入社後で感じているギャップとして、ほかのチームとの関わりがとても多かったことがあります。メッセージングプラットフォームはストレージや認証、「LINE公式アカウント」など多くの領域・チームから成っており、もちろんほかの関連サービスともつながっていて、自分のチーム以外の部門とのやりとりも非常に多いです。ほかのサービスでも、社内共通のモニタリング・分析基盤やインフラが使われていて、どのサービスを担当してもほかのチームとやりとりが必要になる場面は多いと思います。入社前から、コミュニケーションが取れることが大切だとよく耳にしていましたが、実際に仕事を始めてからはそれを痛感しています。チームを跨いだやりとりを通じて、別のチームの良い文化を知ったり、ストレージのチームや自社製のOSSに詳しいチームからアドバイスをもらったりと、勉強になる機会も多いです。

また、学習意欲が高い人が多いのは良いですね。チーム内で勉強会をしたり、新卒入社したエンジニア同士でお互いに仕事で使っている技術を共有したりと、リモートワークの状況でも活発に交流ができていると思います。

インターンシップに限らず、就職活動におけるアドバイスはありますか。

インターンシップで、特に就業形式などの企業の実態をそのまま体感できる機会は、個人的にはチャンスがあるだけ参加したほうが良いと思います。まず、新しい技術的なトピックを学ぶ良いきっかけになります。インターンシップ中に取り組む内容のほか、さまざまな分野のエンジニアやほかの参加者と話すなかで知らなかった技術との出会いや、これまであまり触れてこなかった技術に興味を持つこともありました。業務や人との関わりを通じて、スキルや知識を増やしていった経験は、就職活動の選考でも役立つかもしれません。

あとは、会社の雰囲気や実態を知っておくことで、就職先や決め手に迷った際の判断基準のひとつになります。私自身LINEでインターンシップをしていたことで、ある程度安心して進路を選ぶことができました。実際には部署によって雰囲気が異なる会社も多いですが、迷った際の決め手のひとつにするのは良いと思います。自分自身で経験を積むことで、なんとなく持っていた自分にとっての仕事やその環境に求める要素、そしてその優先順位が明瞭になると思います。

これはインターンシップに限らずですが、興味のある分野の会社を中心に見つつ、規模感の違う会社や少し違う分野の会社も見てみると良いと思います。ちゃんと比較すること、そのためにしっかりと情報を得ることが大事です。就業経験もそうですし、いろいろな採用イベントに参加してみるとか、学校の先輩や技術イベントの交流機会など、実際に働いている人の声を聞けるチャンスはけっこうあるので、その機会を生かしてもらえると良いと思います。

最後に。

インフラからサービス、分析までどの部署でも大規模なトラフィックやデータを扱っているので、そういったエンジニアリング全般に少しでも興味がある人にはおすすめだと思います。

ぜひインターンシップに参加して開発環境や文化を経験してもらいたいです。実際の業務を経験したり、さまざまな分野の社員と話したりするなかで、働く魅力を感じてもらえるのではないかと。ちょっと規模の大きいサービスの開発に触れてみたいとか、せっかくインターンシップに参加するなら良い給料がほしいとか、それくらいの感覚で挑戦するのも良いと思います。みなさんと一緒に楽しくやりがいのある開発に取り組めることを、楽しみにしています。