freeeの2weeksインターンに行ってきたよって話

# freeeの2weeksインターンに参加した振り返り
どうもGadgeloggerだ！E社に引き続いてFreeeでのインターン結果報告をしようと思う。
ちなみに自分はFree会計のiOSアプリチームに配属されて、Swift（UiKitとSwiftUI)を用いた開発に携わったわ。

## どんなインターン？（Wantedlyから抜粋）
25新卒エンジニア向けの2weekサマーインターンを開催します！

2019年に現東証グロースに上場し、時価総額もマザーズトップ3に入る急成長ベンチャーの開発現場を体験してみませんか？
モダンな開発環境、スピード感、ユーザーの課題解決の難しさなどを味わうことが出来るインターンです。

◆内容◆
夏インターンの成果によって本選考の特別選考ルートもご用意をしております。
・freeeの実際のプロダクト開発の現場に入っていただき、開発実務に携わっていただきます。
・インターン向けのお題ではなく、freeeで実際に未解決の難題に取り組んでいただきます。
・各開発チームから選りすぐりの難題をご用意してお待ちしています。
・freeeの第一線で開発にあたるエンジニアがそれぞれメンターとしてお付きします。

[インターン詳細情報はこちら](https://www.wantedly.com/projects/1331520)

## インターンに参加したきっかけ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1657253/b9b1b1cc-a75e-f2f6-9d46-051525701252.png)
きっかけはWantedlyからのオファーやね。ぶっちゃけオファー形式のサービスって
「絶対コレBOTだろ。。。。」みたいな文章ばかりで正直うんざりしていたのだが、この会社さんだけはなんだか・・・・・こう・・・
ちゃんとプロフィールを見てくれているなと感じたので気になったんよね。

ただ自分ができることがFlutterしか無いから難しいんじゃないのか？と思い、メッセージを返信してみたところ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1657253/1b5ba933-4f41-85f6-2c89-1bba2761a9e4.png)

このように「大丈夫やで」と返信をくださったので
「とりあえずダメ元で受けてみっか」な感じで受けてみたんよ。（そもそもBOTだと返事すらしないところが多い）
## 選考について

選考については以下の流れになる。

1. まずは会社説明会
1. 次にコーディングテスト
1. 面接
1. 合格通知が来たらインターン参加

### コーディングテストについて

コーディングテストについては「[Hireroo](https://hireroo.io/)」というサービスを使って解かされた。
言語は主要なものはほぼ対応していて、難易度としてはPaizaの「CからBくらい」だと感じた。

あと自分はアホなのでほぼ不正解だったがなぜか選考をパスした。

### 面接について
面接は雰囲気は堅苦しくなくゆるい感じで行われた。聞かれた質問については
- 自己紹介してね
- 大学はどこ？
- 大学でどんなコトしてる？
- 開発物はある？

な感じだった。ガチガチな面接でもなく、鋭い質問などもなく聞かれた質問に淡々と答えていった。

### 選考結果通知

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1657253/9d17aa0e-e0aa-87bc-a3ff-b7fdfaf32abd.png)

結果は補欠合格でした（あぶねーｗ）

## インターンに参加する前に

さて、無事にインターンに合格することはできたんやけど
自分はFlutterしか経験なくて、プログラミングの”プ”も怪しいレベル。このままインターンに参加するのは怖いので会社さんに
自分「自分Swiftの経験がないんですけど大丈夫ですかね。。。？」と聞いたら
Freeeさん「可能なら[このチュートリアル](https://developer.apple.com/tutorials/app-dev-training)を一周してほしい」

と言われたので行うことにした。記事は全部英語だけど、SwiftUIとUiKitのアプリ制作を体系的に１から学ぶことが出来るので良い勉強になった。
もちろんすべて理解できるわけではないけど、とりあえず手を動かしてアプリを完成させるところまでは行ったわ。

## インターン初日

メンターの方やペアになるインターン生と自己紹介し、PCのセットアップと環境構築を行った。
デカい企業のすげぇなと思った部分が早速あって、それは**マニュアルがすごく手厚いところ**
- Macの設定
- Xcodeなど各種ソフトウェアのインストール方法
- Githubの連携
などなどマジで「おいおいｗ過保護すぎるだろｗ」と思えるくらいすごくマニュアルが充実しすぎててびっくりしてしまった。
また困ってしまったらSlackに投稿すると同じ部署のエンジニアの方が５分以内に反応してくれるので、マジで過保護だなと感じた。（遠慮なく質問してな❗と言ってくれてかなりゆるい）

とりあえず初日は環境構築ぐらいで終わったが、インターン生とエンジニアの方の距離が近いのか情報共有がしっかり行われているなと感じた。

### 支給PCについて
どうでもいいんだけど、支給されたPCのスペックは
- M2MAXMacbookPro14
- RAM64GB
- ROM2TB
- USキーボード（まじで神）
とドン引きするくらい高性能なものを支給していただけたので開発がマジで捗った。（ビルド早すぎて笑う）

## 2日目

いよいよ本格的に業務を開始していく
ただいきなりコーディングではなくて、まずはFreee会計のアプリをインストールして一日中使ってみる
が自分たちに与えられたタスクとなった。

１日中アプリを触ってみて「ん？ここ使いにくいな？」と思った箇所をガンガンリストアップしていってまとめるというのが内容やわ。
大体１０箇所くらい見つける事ができた（比率的にはUIとUXの部分が多かったね）

あとFreeeの働き方が結構特殊だなと思って
1. 評価は時間ではなくて成果（アウトプットがあればOK）
1. 15分ルールがある（分からなかったらすぐに聞くスタイル）
と結構日本の会社らしくないなと感じた。
またこの日から夕会があり（一日行ったことを発表する感じ）、インターン生同士で情報共有や学びなどを参考にすることが出来るので、この部分はマジで最高だなと思った。

## 3日目

３日目は。。。なんとFreeeのオフィスに凸らせて頂けた。
本来インターンはオンライン開催のみなのだが、自分はオンラインだと物足りない主義（人と話しまくりたい）なのでメンターの方に
俺「オフィス行ってみたいんですけど。。。。だめですよね。。。」
と言ったら
メンターの方「マジ！？岡山から？交通費出ないけど大丈夫そ？それでもいいなら歓迎するよ」
と言ってくださったため。。。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1657253/77f9309f-44b9-26fc-2622-3fa499db827d.png)

オフィスに凸ってきました。社内は撮影禁止なので画像は一切無かったんだけど
1. 社内めっちゃキレイ
1. お菓子とドリンク飲み放題
1. Yogiboがあって寝ながらコーディング出来る
とマジで労働環境が最高すぎるだろと感じた（ここで働けたら天国だな）

そして実際にエンジニアの方々や人事の方々&インターン生と実際に会えて話をすることができて
コミュニケーションを深めることができた。

またこの日は昨日リストアップしていった課題点を
**「いま自分たちが持ちうる技術力と期間」**
でできそうなことだけに絞り込み、インターンでの目標を決めることができた。

自分の場合は
- 会計アプリの取引登録画面のUI
- 取引登録画面のPull to Refreshした際にローディングインジケータが２つ表示されてしまう
部分を解消することに取り組んだ。主にUIとUXの向上だね。

### 余談
オフィスに凸ったのが今までのインターン生で初めてだったらしくて（遠方からわざわざ自費で来た）
社内Slackで
「岡山の学生やばくねｗ？」
と話題になっていたのがジワった。またエンジニアの方と一緒に昼食を食べることができて、焼肉を食いながら就活の悩みとか相談に乗ってくださって本当美味い昼食でした。
（ちな焼肉代は会社が奢ってくださったので、「人の金で食う焼肉はこんなに最高なんだな」と感じた）

## 4日目

４日目は岡山に帰宅しオンラインでひたすらコーディングを行った。
行ったタスクは
「会計アプリの取引登録画面のUIの改善」なのだが、UiKit（Storybord）を用いて修正していくのにめちゃんこ四苦八苦した。
AutoLayoutなどのレイアウト部分でエラーが頻発したりしてなかなか思うように作業を進めることができなくUmmmmmm....

## 5日目
５日目も同様のタスクを行った。
エンジニアの方々の助けも有り、だいぶStorybordにも慣れてきてレイアウトなどの修正もサクサクできるようになってきた。
## 6日目
やっと１個目のタスククリア！！！！！！！
初めてのコードレビューを行ってもらい無事にマージすることができたのでめちゃくちゃ達成感があった。（脳汁ドバドバやで）
引き続き２個めのタスクを行う。
## 7日目

２個目の「取引登録画面のPull to Refreshした際にローディングインジケータが２つ表示されてしまう」
のタスクを行った。

この部分がなかなか大変で「UiKitとSwiftUiが共存している」用になっていてなかなかどこを修正したらいいのかマジで難しかった。


## 8日目
開発最終日！！！本気出して修正箇所に不具合がないかチェックした。

## インターン最終日
最終日はギリギリで最後のタスクをコードレビューしてもらい、マージするところまでできたので
インターンの目標を無事に達成することができて最高でした。

また最後の夕会では部署ごとに成果発表会があり、他の部署のレベルが高すぎて圧巻された。（ホンマに学生かよ？と思える人多いな）

### 成果
- SwiftUIとUikitなどのネイティブ開発の知見
- 大規模なプロジェクトファイルがどんな感じなのかを知ることができ触ることができた
- 目標の達成
- アウトプットする習慣（毎回の夕会のときにアウトプットするのでまとめる習慣ができた）

### 感想
- 交流が多くてコミュニケーションがめっちゃはかどる（1on1、フィードバック、インターン生同士）
- 社内の風通しがよく、発言しやすい会社だなと感じた
- 社員同士の交流が盛んだなと感じた（同じ部署だけではなく、異なる部署間や人事とエンジニアの方の関係性が良いなと感じた）
- 圧倒的丁寧なマニュアルとフィードバック（ここまで情報を共有しまくってる会社さんはなかなか無いんじゃないか？）
- ペアになったインターン生とメンターの方とSNSを交換することができ、インターンだけでの関係性ではなく、プライベートでも交流することが出来るようになったこと（人脈が増えて本当に嬉しい）
- 成果発表の際のクオリティがすごい。２週間でここまで出来るのかと圧巻した。
- 実際にオフィスに行くことができたので、Freeeの文化や働き方を実際の目で知ることができた
- 今回の成果が実際にアップデートで配信されたので、「インターンで作って終わり」だけでは無かったから本当に嬉しかった。

# どんな人におすすめか？
- 受け身ではなく、自ら行動して色々やっている人
- 大学のプログラミング講義に飽き飽きしている人
- 大学では得ることができない経験を得たり、日常生活にちょいパンチを加えたい人

だいたいこんな感じかな。本音で言うとインターンに行くまではそこまでFreeeという会社に興味や好きっていう感情はなかったんだけど、インターンをしている中で「この会社すごくいいな」と思えたから
必ずしもこの会社が好きじゃないといけないわけではない。

# 結論
「マジで最高な２週間」でした。関わったエンジニアの方々や人事の方々・そして一緒に頑張ってプロダクトを作ったインターン生には感謝しか無い。
Swift全然できないし、プログラミングも怪しい自分をインターンに参加させていただき貴重な経験を得させていただき本当にありがとうございました！


# 余談
26卒向けのインターンの募集が始まっているみたい。俺みたいな技術力に自信がないチンパンでも全然大丈夫なので、ぜひ気になる人は応募してみるといいかも。
すごくいい経験になると思うよ。
【募集要項と申込サイトはこちら】

https://jobs.freee.co.jp/entry/newgrads/