hunachi’s diary

Android studio でお勉強してます。

LINE Fukuokaさんで長期インターンしていました!

こんにちは!

最近ブログをサボっていたので超久しぶり、ふなちです。いえーい。

 

本題にはいります。

自分は8月末から3月中旬にかけてLINE Fukuokaさんで長期インターンさせて頂いていました。(東京への引越しとか色々でブログを書き終えるのが遅れちゃってごめんなさい!)

もちろん高専にも通いながらのインターンなのでかなりお休みを頂いてしまう形になってしまったのですが、自分なりに出来る限り働くことができてとてもいい経験になりました。

 

AGENDA

- きっかけ

- 仕事内容(ざっくり)

- 会社の雰囲気

- 特に学べたこと

- 反省すべきこと

- 会社のいいところ

- 全体的な感想

 

きっかけ

受験が終わったあとに夏季インターン先を探そうとしたらほとんどの募集期限は過ぎてるわ、福岡での募集はそもそもの母数が少ないのもあって募集を1つも見つけられなかったのです。ちなみになぜ福岡で働きたかったのかというと、人生経験として普通自動車免許を取りたかったから。人生一度くらいドライブしたかったので!

そこでTwitterの力を借りて探してみることにしました。

 その結果、

linefukuoka.co.jp

をつよつよ新卒iOSエンジニアのふれでぃさん(生牡蠣当たるマン (@___freddi___) | Twitter)に教えていただくことができました!ふれでぃさんが声をかけてくださるまでに後のメンターさんであるつよしさん(Tsuyoshi UEHARA (@uecchi) | Twitter)とiOSエンジニアはるふさん(LA LA はるふ (@_ha1f) | Twitter)を経由?したという話を後で聞いて面白かったです。(ありがとうございます!)

その後は、応募→書類選考→コーディングテスト→ホワイトボードとかを使う感じの軽い?面接を受け無事働かせていただけることが決まりました。 

仕事内容(ざっくり)

メンターさんはつよしさんTsuyoshi UEHARA (@uecchi) | Twitter)で、LINE本体のAndroidアプリの開発するチームで働かせて頂いていました。

連続して会社に行くことができない時期が結構あったので基本普段手が回らないだろう部分のリファクタリングをしてた。詳細は以下の通り。

- 画面の追加

 絵文字の詳細画面の作成者からその作成者が作成した別の絵文字一覧を表示させる画面の追加をした。画面の追加をしただけじゃなくて、9割型同じコードになる作成者のスタンプリストを表示する画面のコードを絵文字、テーマに適用する時もそれぞれのdata classと2~3行書けば(言い過ぎかも)使えるようにリファクタリングした。最初にしたタスクでレビューを沢山して頂いた&変更が多かったのもあってこのタスクを終えるまでに時間がかってしまった。

- リファクタリング

 より年齢が高そう?急いで書かれてそうなコード、厳密にいうと上記の画面の追加時に作ったdata classを使っているけどそのdata classの中の一部のpropertiesをmutableにしなきゃいけない原因になっているコード(ある画面らのコード)をリファクタリングした。ViewClontrollerが使われていていたりするけど非同期処理がそのまま残っていたりデータを管理しているFragmentsのコードを新たに作成したViewModelsとViewControllerを使って整理した。勿論、このViewModelsとViewControllerは機能ごとに作ったので他のFragmentsにも使えるとよ。

 あと、DB周りのコードも少しだけリファクタリングした。テストは書いたしQAテストも通ったけど本番でバグってないことを祈る…!

- 機能開発を少し手伝う

 最近リリースされたメッセージスタンプ(Message stickers – Top LINE official stickers | LINE STORE)のタスクを少しさせて頂いた。2~3つくらい小さなタスクをこなした後、卒研で忙しくて週1~2日しか出社できなくなったのでこれ以上タスクをもらうのを断念した。ほんとうにごめんなさい…

 みんなメッセージスタンプ楽しいから買って使うとよ!

- 小さなissue潰し

 暇な時にいただいたり最初にいくつか頂いたIssueをこなした。

会社の雰囲気

- 仕事環境

Mac Book Pro メモリ16GBとiMacが1人1台ずつ使わせてもらえる。しかも机は昇降式だった。(控えめにいって最高)

あとオフィス内にLFKカフェ(社内専用カフェ)があるのでいつでも安価(100円前後)で美味しいコーヒーとか色んな飲み物が飲める。無料じゃないのでむしろ好きなだけ頼みやすく良かった。

- 働いているときの雰囲気

自分の机の周りは基本煩くないけどちょこちょこ議論してる声が聞こえるという、ちょうど良く落ち着いた雰囲気だった。ちなみにごろねスペースやソファーがあるところに移動して作業してもOKだった。

私が働かせて頂いていたチームの社員さんは、半分以上?海外の(中国、韓国etc出身の)方だった。でもみんな(日本人の方も含め)ありえないくらい優しいしめっちゃつよつよだし、私は拙い英語と知識で喋ってまじで申し訳ないと感じるレベルだった。マネージャーさん(たけちんさん たけした (@taketin) | Twitter)がフレンドリーな方だったので分からないことはなんでも聞けてよかった。(質問しすぎて迷惑だったかも)

- 英語の使用頻度

チャットでは出来る限り英語を使ってた(別に日本語でも精度の高い翻訳botが通訳をしてくれるので大丈夫)。デイリーミーティングでは英語と日本語交互?(最初は英語onlyだった)、技術を共有するためのミーティングは完全に英語、大きなミーティングの時は同時通訳の方がいるのであまり言語の壁を気にする必要はなさそうだった。(通訳さんがいるミーティングにはあんまり参加したことないけど…)あとGitHub上、コード内のコメントでは完全に英語だった。まあ色んな国から同じリポジトリを触っているのでそれはそうという感じなのだけれども。

特に学べたこと

- 大規模アプリでコードの品質を保つ方法を学べた

今回は、大規模なアプリの実際にリリースされるコードを書く必要があった。そしてこの運用の為にコーディング規約が定められていて、レビューの体制もしっかり整っていた。

以下のブログが全てを語っているのでこちらを参照してほしい。

engineering.linecorp.com

それに伴い、身をもって品質を保つためのコーディング手法を学べた。

スピードより品質が大切なときは一度書いてみてあとでまとめることがより有効だったりする。詳しくはここでは書かないけど、コードのまとめすぎもよくない程よくコードの共通化をする。などなど…

- 丁寧なレビューをして頂けた

上の項目と若干被るのだけれど、品質を保つためにコードレビューがすごく丁寧だった。同じチームの方々はもちろんのこと、上記のブログの筆者であるIshikawaさんにもかなりレビューして頂けた。ほんとうに感謝しかない。そして定期的に酷いコードかいてごめんなさい。次、またインターンする機会があればこの素晴らしい社員さんたちを見習っていけるようになりたい。

- 英語を使う環境で働く雰囲気を知れた

私はずいぶん昔に一度留学をしたことがある。その経験から言うと英語喋れる海外の人は真面目すぎて冷ためで怖いみたいな印象があったけど、前述したように全然そんなことはなかった。あと、日本語みたいに周りくどい言い方をすることが若干少なく感じたのでわかりやすかった。

ただ編入のために英語を勉強してたので最低限の英語の知識はもちろんあったのだけど、最初はまじで喋れないし、リスニングも怪しかったし、英語の文章をチャット等で送るのも遅すぎて送れる文章ができた時には話の流れが終わってたりなんてことばっかりで大変だった。でもオンライン英会話を受講させてもらえた(新田さん youhei / 新田 洋平 (@youhei) | Twitter ありがとうございます!)のもあり、使ってるうちに英語に対する抵抗感は少なくなった。最後の方はリスニングはほぼ聞き取れるし最低限のスピードくらいではライティングもできるようになったのではないかなという感じになれた。スピーキングもボロボロだけど若干できるようになった。もともとの文を構成する能力が低い(特に会話において明らかに正解と思われる返答が存在しない内容で話しかけてくれた時にまじでなんて言って良いか分からない)のでまあ英語云々の前に英会話についてはどうしよもないのかも知れないのだけれど…( ;∀;)

でもこんなに英語を使う機会、普通だったらエンジニアのインターンという立場で経験できないと思うのでものすごく良い経験になった。

余談:ふれでぃさんがみんなとがっつり英語で会話してて尊敬してました。いつかふれでぃさんみたいになりたい!

英語がんばるぞい!

- リモートワークの経験ができた

これはコロナのおかげかな、最後の飲み会が消えちゃったけどリモートワークが経験できたのはすごくよかった。将来リモートワーク可の会社を選ぶべきかどうかという選択に大いに役に立つと思う。私の場合結構人目をきにしちゃったりするから気が散らないリモートの方が私の性能はよかったけど、iMacを自宅に持ち帰えらなかったのでMBP1台でPCのスペック的にちょっと厳しかった。(iMac持ち帰っている社員さんはいらっしゃったので持ち帰ろうと思えば持ち帰れたかも…!)

反省すべきこと

- もっと社内で技術共有のためのミーティングで色々共有できる人になる

- 英会話をがんばる

- うまく卒研と両立させてもっと多くの時間出勤すべきだった

- もっと色んな方とランチとかご飯に行けばよかった

- 事務処理失敗しまくってごめんなさい

会社のよかったところ

- みんなが使ってるアプリの開発ができる

今までは私のしてることにあまり興味がなさそうだった家族や友達も興味を持ってくれて嬉しかった。あと自分が使う時もここはこういう実装だったなぁって思えて楽しい。

-  社員さんがみんなつよつよで優しい

さすがLINEさん。あと採用にがっつり?エンジニアが関わっているからこそ実現できている環境なのかな。

-  福利厚生がいい

英語についてはオンライン英会話だけじゃなくグループレッスン(私は時間が合わず参加していない)もあって入社後でもかなり勉強する環境が整っている。

作業環境がいい。PC2台はいいぞ。モバイルエンジニアにとってこれはかかせないのでは…

他にも育休制度もしっかりしてて私がいた期間にも育休で休む社員さんがいておめでたかった。

あと私は結局やりかたを教えてもらう前に退職しちゃったので詳細は分からないんだけどオライリーの本の電子書籍が無料で読めるらしい…!

-  エンジニアを大切にしてくれている

ハッカソン とかもあるみたいで社員さんたちはすごく楽しそうだった。

LINE DEV DAYにも旅費は会社持ちで参加させて頂いた。楽しかった。

- 部活動もある

部活には参加しなかったのですが、電子工作愛好会に参加させて頂いて半田付けを久しぶりにしたりわいわいできて楽しかったです。

- フィードバックがもらえるかも もらえた

インターンのフィードバックをお願いしたら承諾してもらえた。とてもありがたい、結果はどうであれ楽しみ。

フィードバックいただきました!しっかり良かった点,改善点共に伝えて頂きました.今まで頂いたことがなかったのもあり自分を客観視できる機会にもなり,とても為になりした🙇‍♀️今後に役立てていきます!ありがとうございます!

 

他にも沢山あるはずだけどとりあえずはこれくらいかな。

全体的な感想 

はじめての長期インターンとしては十分すぎるほど色んな経験ができました。

もっと時間がある時にもっと実力をつけて再度インターン等に挑めたらいいです!

インターン中沢山お世話になったメンターさんの上原さん(つよしさん)、マネージャーの竹下さん、コードレビューや飲み会等でお話ししてくださったエンジニアの皆さん、迷惑かけまくってしまった事務の方々、LINE Fukuokaの方々ほんとうにありがとうございました。

今は東京にいますが定期的に帰ってくる時にたまに伺わせて頂くと思うのでその時はよろしくお願いいたします!

またお会いしたり一緒に働くことができれば嬉しいです。

f:id:hanahanahunachi:20200402073904j:plain

f:id:hanahanahunachi:20200402073908j:plain



 

ここまで読んでいただいた方、ありがとうございました!!