cormoran.me



Line Summer Internship 2018 参加記

LINE の40万インターンに参加した話.

今年の夏は LINE に1ヶ月お世話になった. HBase や Java と戯れてきた.

概要

  • 4週間の就業型インターン
  • 40万
  • LINE の中身が全部見られる
  • 昇降デスク
  • 選考の問題がちょっと楽しかった
  • 朝ごはん
  • インターン中に論文を書く,土日に別のインターンを入れるのはしんどい

なお,参加期間は1ヶ月か2ヶ月で選べて,2ヶ月なら80万らしい. 自分は,9月に集中講義が大量にあるので8月だけの1ヶ月間で参加した. 8月の参加は5人だけだった.9月にはもう少し多くの人が参加するらしい.

参加背景

5 月くらいの時点では, M1 なので就活とかも考えつつ行動しないとなぁと思いつつ,どんなインターンに行こうか少し悩んでいた. 長期はすでに R 社や Y 社に行ったので短期のハッカソン的なやつを大量に入れるのも面白いかも,とかも考えていた. インターン応募前には「逆求人フェスティバル」というイベントに参加して,色々な会社と話をしてみたりもしたけど,結局よくわからないなぁという気持ちになって考えた挙句,真面目に行ってみたいと思ったところだけに応募することにした. 長期は2社応募して,Line 以外の1社は ES でお祈りされて笑っていた. ほかにも,逆求人で話をしたところともやり取りしていたけど,都合が合わなかったようで(?)自然消滅したりして社会の厳しさを感じたりもした.

Line に通ったのは運が良い.

選考

今年の LINE のインターンは募集締め切りが2回あって,自分は2次締め切りで応募した(1回目は締め切り時間を間違っていて応募失敗(笑)). 締め切りが複数回ある理由はよくわからないけど,2回目の方でも通る時はちゃんと通るらしい.

選考は,応募時点では何も聞かれず,ボタンを押すだけだった. ES 書くのやだなぁと思って応募を放置して,1回目の締切を逃したので拍子抜けした. 締め切り後に Web テストの連絡が来て,その時に ES を書くタイプ. Web テストは,今年は実装面倒めの問題1問が出題された. 時間とやる気が十分あれば,自分のように頭は付いていなくてもできるような問題だったけど,他社で経験したものよりは大変な感じの問題で,かなり人がふるい落とせそうだなぁと思いつつ実装した. 通ったケース数でふるい落とせそうだったけど,話を聞くと,全部できていなくてもしっかりソースコードも見て選考されているらしい. 他のインターン生の話を聞いていると,みんなテストケースは全部通っていたようだった.

その後人事の人と Skype 面談をして,参加決定した. 毎回のことだけど,なぜ通ったのかはよくわからない.

参加してみて

出社して最初に驚いたのは国際色が豊かな点.一番多いのは日本人だと思うけど,中国,韓国をはじめとして海外から来ている人がとても多かった.配属されたチームの社内チャットは基本英語で,会議も英語だったり,同時通訳が付いたりして,インターンでは初めての経験だった.新宿オフィスはほとんどの人が日本語が得意らしいけど,福岡や京都は基本的に英語になるらしい.英語もっと聞けるようにならないとなぁという気持ちが強まって良い.

ソースコードが全部見られるとかいう話は調べていると出てきて有名だと思うけど,本当に見られた.時間がなかったのであまりたくさんは見ていないけど,クライアントのプログラムなども眺められた.さらに,本番環境のサーバーの各種メトリクスが監視できる環境が整っていて,眺めているだけでとても面白かった.また,何度か OJT があって,REGY の話や Line サーバーの全体構成,メッセージ送受信の流れなど,Line 社内の各種サービスの内部を教えてもらえた. あと,Line 社内では主に Java が使われていて,インターン中は Java 界隈のすごい強い人たちになどに囲まれていた.(エンジニア界隈の有名人とかにはかなり疎くて,途中まであまり良くわかっていなかったけど,しらべてみてびっくりした,特にメンターさん)

職場環境は,スペック高めの MacBookPro,セカンドディスプレイなど必需品に加えて,昇降する机でとても快適だった.タッチバーを初めて使ったけど,Esc キーがタッチ式になる違和感が一番大きかった.Safari のタブを移動するのに使うのはある程度は便利.Mac のペタペタキーボードも初めて長期間触った.普通に使えるけど,なんかちょっといやだなぁという感じで,次買う PC は非 Mac にしようと思った.昇降する机は,眠くなった時に立って作業するのに活用した.ただ,他の社員を見ていると,使っている人と使っていない人の差がはっきりしていた.いらない人にはいらないような感じ(昇降するという事実が大事だと思う).畳スペースや,一人でもくもくするスペースなどもあったけど,自分はセカンドディスプレイが必須な感じの作業をしていたのであまり利用しなかった.

Line では毎朝社員に朝ごはん(惣菜パン or おにぎり)が提供されていて,インターン中は基本毎日利用していた.社食はなく,お昼はお弁当が販売されている(高島屋の弁当が安い値段で買えるらしい)けど,自分はほとんど外の店に連れて行ってもらっていたので使わなかった(お昼ごはん費用は会社から出してもらえる).ちなみに,周りの社員の人は,取りに行くのが面倒だったり出社が遅かったりで朝ごはんは利用せず,お弁当は時間帯が合わないので買えないという感じで,便利な制度を利用できてない感じがエンジニアっぽくて面白かった.ちなみに,社内での買い物はすべて Line Pay がつかえる.

インターン中の生活

インターン生は10時出社で定時が18時半だった.新宿から2駅のところに Weekly マンションを手配してもらえて,9時過ぎに家を出て,会社で支給される朝ごはんを食べてちょうど10時頃から仕事という生活をしていた.もちろん残業はなし.なお,10時に行くとほとんど社員の人はいない.お昼頃に出社している人もいた気がする(社員は裁量労働制があるらしい).8月だったので,お盆休みを取っている人や,実家に帰ってリモートワークしている人もいて,柔軟に仕事ができる環境だと思った.

10時ー18時半という時間は,18時半まで会社にいると家で過ごす時間が少し足りないなぁという感想(大学生活に毒されている).最初は朝早起きして何かしようとしていたけど,段々と後述の諸々で体力が尽きたのか,9時までたっぷり寝ないと仕事中に眠くなることがわかったので,後半は起きてすぐに家を出る感じの生活になった.早起きはむずかしい.早起きして朝から趣味的にプログラミングなどして,帰ってからは本を読んだりすると良い感じに生活できそうな気がした.

つらかった点

M1 でインターンする人向けに注意として,インターン中に(大学の研究の)論文を書くべきではない,というのを強く感じた.インターン前半に,論文の再提出締切があって,日中はインターン,帰ったら3時間くらい英語を書くと言うような生活を1週間して死にそうな気分になった.自由気ままに生活している人間が急に定時で規則正しく働くとそれだけでもとてもつかれるので,ダブルワーク的なものは体力的に厳しい.インターン中は帰ったらゴロゴロしながらインターンでやってることをいろいろググって知識武装したくなるのだけど,論文を書くと最後の体力的なものが吸われて,毎日寝落ちしていた気がする.ちなみに後半は土日にアカツキのインターンがあって,実質休日なし状態になったのだけど,これもかなり体力をつかった.我ながらよくがんばった1ヶ月だったと思う(が,このリソースをすべて1つに向けたほうが実りが多そう).普段から筋トレしていたら体力で殴れるかなぁ….

やったこと

Line のメッセージサーバーのチームの中でも,特に HBase を扱っているグループでお世話になった.

インターンでやる内容は,事前面談のときにいくつか提示があったけど,最終的にやることは当日に最終決定した.事前課題は特にこれやれというのはなかったけど,事前に HBase で遊んだり,GFS や Hadoop の論文を読んでおいたりしたらもう少しスムーズにできたのかなと思った.(インターン直前まで論文の締切に追われていて,言われても十分にできたかは疑問だけど…)

内容は, ベンチマークみたいなことをしていた.もうちょっと話していい気がするけど,昨年の人たちのブログなどをみているとやったことはかなりぼかされていたので,詳細は秘密ということに.

内容が開発ではなく性能評価系で,真面目に性能評価をするのははじめての経験だったのでとても勉強になった.しっかりとした分析をするには HBase,JVM の実装,コンピュータの基本的な仕様など幅広い知識が必要なことがわかった.どのような設定で動かせば良いか,調べたいことに関連する部分に対してちゃんと意味ある負荷をかけられているのか,測定結果がどのくらい安定しているのかなど,考える要素や確認しないといけない要素も多くて,よくわからないなぁとなったりして,最初思っていたよりも大変だった.

1ヶ月は短かったなぁという感じで,本当に最低限の評価はできたような気がするけど,思い返すとなんでやらなかったのかと思う部分や,こうしておけばよかったのかと思う部分,深く考えずにやっていたけど最初にもう少し確認しておくとよかった部分などがたくさんあって,いろいろな力の不足を感じてとても良い経験だった.時間の使い方的には,いくつかハマったことを考慮すれば,ある程度いい感じに使えていた気がする(実力がないのでハマるのだけど).個人的には,あと2,3日あればもうちょっとちゃんと結果をまとめたり,いい感じの分析ができたのになぁという思いがあって,ちょっと消化不良(一番進捗がでる最後の2日を集中講義で休んだ+台風で自宅待機日があったので特に).なお,1ヶ月に2日間の有給休暇がもらえる.

他にも,wiki に他の人がわかるように進捗のログをコツコツまとめることや,いろいろな条件の整理,データの分析など,総合力的な部分で成長が必要と感じた.あと,適当に書きなぐったシェルスクリプトでも Git 管理しておくと作業の経過が振り返れて良いなぁとか,データ取るフェーズを自動化するのはいいけど,それに満足して分析フェーズを後回しにしすぎる傾向があるとか.この辺りは研究とかなり共通するので,日々いろいろ考えながら精進していきたい.

社内のチャットツール

Line 社内では当然 Line がチャットツールなのだろうなぁと思っていたら, slack も使われていた.自分だったらいろいろやって意地でも Line を使いたい気分になるので,かなり衝撃だった.チームによって使うツールは違っていて,自分のチームは全部 Line でやりとりをしていた.他のインターン生は slack ばかり使っていたらしい.こういう柔軟性があるのはいいと思う.

1ヶ月社内チャットツールとして Line を使ってみて,別にどちらでも案外いけるなあというのも感じたけど,チャンネルを探す時とかは slack の方が便利な気がした (まだ Line を使いこなせてないだけかもしれない)

ところで,ブログに書いていいことだめなことを探るために色々検索したけど,「Line XXX」とぐぐっても,どうでも良いブログばかりヒットしてググらビリティの悪さを感じた.

まとめ

あっという間の楽しい1ヶ月でした.ありがとうございました!!

あまり撮ってないことに気づいた.