E社のインターンに行ってきたよ

# E社就業型インターン結果報告
どうもGadgeloggerだ！DMMに引き続いてE社でのインターン結果報告をしようと思う。。。。。。<br>
がここの会社のインターンはなかなかパンチが聞いていたので（良い意味でね？）語ろうと思う。



# どんなインターン？（公式ページから抜粋）
実務を通じて成長を加速させる本選考直結の就業型のインターン
的なガチのインターンやわ。
ちなみに諸事情で会社からの許可を得れてないので会社名は伏せさせてもらうわすまん🙇‍♂️

# インターンに参加したきっかけ
 「Flutter使ってるインターンなかなかないなぁ。。。Twitterでも探してみるかぁ」
と漁ってたら

E社「Flutterで夏休みの長期インターンをやりたい方募集します！興味のある方はDMで連絡ください！」


俺「お！ここの会社Flutterを使うインターンしてるのか！今年度は開催してるんかな。。。？」と思ったので、責任者の方にアポなしDMをしてみると・・・<br>

まさかの特別に選考に招待させていただくことになった。（奇跡すぎる）
# 選考について
さて肝心な選考についてやけど、E社さんでは”コーディング試験”等は行ってなく
- 書類選考
- 面接<br>
な感じだった。面接は人事の方と開発責任者の方の２対1で面接を行った。面接の雰囲気はなかなかピリピリしていて<br>
「うちのインターンはマジで厳しいから覚悟してね？」<br>
「Githubのコードクソ汚ねぇな！ボコボコにするから頑張って」と熱いコメントをいただいた（Foooo！！！

。。。そして選考に受かってしまった。。（正直落ちると思ってた）<br>
この時俺の心の中は<br>
「Fooooo !!!!Flutterを使うインターンできるのマジで最高じゃんwがんばろw」<br>
と浮かれていたが。。。ここからが地獄の始まりとなる


# インターン初日
さあいよいよインターン初日や！E社でのインターンではインターン生一人一人にメンターがついてくださる。<br>
自分の場合は、E社のメディア部門で活動しているエンジニアの方がついてくださった。<br><br>

とりあえず初日は
- 支給されたPCでの環境構築
- メンターの方と「大学では何してんのー？」「趣味は何？」とか雑談をしていた。<br>
俺「初日は結構楽だったな😁２日目もがんばろ（フラグ」<br>
ここからが終わりの始まりになってくる

# インターン２日目ー期間中
さあ環境構築も終わって２日目や！業務がんばろ！<br>
今日やることをメンターさんに聞いたら<br>
メンターの方「とりあえず”ウォーミングアップ”でこのプロジェクトをやっといて」<br>
と言われて渡されたプロジェクトがこれ<br>
https://github.com/gadgelogger/Flutter-practice<br>
要件としては<br>
- GithubAPIを叩いてユーザー情報を取得する
- 取得した情報を画面上でリスト表示する
- Pull to Refreshや無限スクロールを実装する
- 使うパッケージはRiverpod・Freezed・JsonSerializableやで<br>
と言われた。<br>
俺「え？Riverpod・Freezed・JsonSerializable？？？？？何それ？？？？全くわからんぞ？？？？？？？」<br>
メンターの方「Flutter触ったことあるなら1日でできるよね？（圧）頑張って！」<br>
俺「おわた」<br>
な感じやわ

# やらかし
さてこのような状況になったらみんなはどうするだろうか？
- 人に聞く
- 自分で調べて実装する<br>
まあ大抵はこの２択だろう。<br>
しかし俺は”ChatGPTを使う”といった最高の愚行を行ってしまった。（馬鹿野郎<br>

・・・・1時間後<br>
俺「ChatGPT使って無事にアプリ完成したわ！メンターさんに見せよ！」<br>
俺（Slack）「メンターさん。無事にプロジェクト終わりました！」<br>
<br><br>
メンターの方「・・・・・・・・・・・・・・・・・・・・・これ？ ChatGPT使った？？？？？？」<br>
はい。秒でバレました。（馬鹿野郎<br>
そして
メンターの方「Gadgelogger君さ。もしかしてプログラミングの基礎抜けてる感じだよね？」<br>
と言われ”ギクっ！！！！！！！”となる。<br>
そう。。。俺は”AIに頼りまくってて、コードがどのように動いているのか理解せずにプログラムを書いていた”のだ<br><br>
要は「AIに頼りまくってるやつでプログラミングをできる気になって錯覚していたただのバカ」な感じ<br><br>

メンターの方「2日間Gadgelogger君を見させてもらったけど、基礎的なコードをの文法でつまづいてるし、多分設計力もないよね？指示してもあたふたしてるから、これからここのインターンを続けるのであればかなり厳しいと思う」<br>

メンターの方「別にAIを使うな！！！というわけではないんやけど、今のようなことを続けてたらマジで”何もできない無能な人間”になるよ。」<br><br>
メンターの方「とりあえずプログラミングの知識が絶望的だからPaizaとかを行ったほうがいいと思う。マジで」<br>

とマジでこのような指摘を受けてしまった。。。。。まあ正論だわな。。。。。<br>
これで３日目は終了した。

# やらかした後
さてボッコボコにされてまあまあ鬱になりつつある俺<br>
とりあえずメンターさんから
メンターさん「Gadgelogger君の今持ちうるスキルでいいから、このコードを１行１行”何をおこなっているか”を言語化して俺に伝えれることが宿題やわ」<br>
とタスクを頂いた。マジでクッッッっそ自分が情けなさすぎてムカついたし恥ずかしいし無茶苦茶な気持ちだったのでガンガンがむしゃらにググりまくったね。（公式のドキュメントやら技術記事やら）<br>

そして辿々しながらも説明したら<br>
メンターさん「まだまだやけど、一生懸命調べたってことは伝わったわ。まだエンジニアの素質はありそうやな。。！」<br>
と初めてインターンを受けてる中で褒められた。こんな事で褒められるのは本来恥ずかしいが嬉しかったわ。

# 鬱になりかける・俺のダメなところ
俺「マジでなんで俺みたいなやつを雇ったんや・・・・お金もらうの申し訳ないな・・・・」とマイナス思考指摘的な考えになってきて、思い切ってメンターさんに全てぶちまけてきた<br>

--以下内容--<br>
 Q:なんで俺を選んだん？<br>
A：選んだのは人事ではなく俺（エンジニア）や
で
候補は君を入れて2名だったんやけど、片方は大手ばかりを目指してそうな思考でウチには合わんからお見送りした。
あとコード見させてもらって「あーこいつプログラミング理解してないな」と思ったけど、今回のインターンで化けるかもしれないと思い博打的な思考だけど君を選んだで。<br>

Q：他の人より遥かに技術力低いしお金もらってるのが申し訳ないんやけど<br>
A:そもそもインターンの定義って「学ぶこと」であるから「できる・できない」は関係ないで。
あと質問するのが躊躇するって言ってるけど、そもそも質問されたくないのであればインターンなんか雇わずに派遣か受注開発雇うわ。だからじゃんじゃん質問して
ただお金は貰ってるから何かしらの成果（目の前のタスク）を得ることに集中してほしい。
そこまで悲観的にならなくて良いぞ<br>
な感じだったわ。

・・・・そもそもインターンを受けてて致命的にダメだったところが3点ある。<br>
1. 詰まったり分からんかったら人に聞かない
1. タスクの経過報告をしない
1. AIに使われる<br>
だな。<br>

# その後意識したこと
とにかく起死回生を図るために以下のことを死にものぐるいで意識した

1. 15分ルール
1. 思考をSlackに書き込みまくる
1. AIは使わない<br>

### 15分ルール
マジで一番大切にしたのがこの考え方。<br>
「15分とにかく自力で解決を試みて、それでも無理なら人に聞く」
やわ。

前者を守らないと他人の時間を無駄にするし、後者を守らないと自分自身が不利益を被るし周りにも迷惑になる。
なのでこの考え方はインターンだけではなくて、日常生活などにも取り入れるべきだと感じた。

ちなこの方法はGoogleなども推奨しているらしぜ？

[参考記事はこれ](https://tkybpp.hatenablog.com/entry/2016/08/16/173055)

### 思考をSlackに書き込みまくる
左も右もプログラミングのこともわかんないバカが口で説明するなんて無理に決まってる。
なので自分はSlack（社内のコミュニケーションツール）で

・今このタスクを行っている
・しかしこの部分の実装がわからない
・コレを調べているがイマイチ理解できない
などなど思ったこと頭によぎったことをリアルタイムでじゃんじゃん書きなぐっていた。

そうすれば周りに自分の現状を共有できるし、メンターのエンジニアの方に的確にアドバイスして頂ける頻度が上がったわ。

### AIは使わない

これは当たり前やな。きちんと知識があるやつ（多分レベルは言語仕様を理解出来るレベル）は全然使えばいいけど
プログラミングが全くわからんやつがコレを使うのは危険すぎる。
AIが生成したコードが必ずしも正しい訳では無いし、コンパイル（動いた）できたとしても、セキュリティ的にアウトな実装だったりするので。

## 結果
契約更新できませんでした！！！！！！！！！！！！！！！！！！！
。。。。本来インターンの期間は1ヶ月あるのだが、実は雇用契約で
「10日間は試用期間とする。更新するかしないかは会社が決める」なので自分は無理だった感じだね。

理由としては
・やはりプログラミングの知識が無いこと
・このままではインターンの目的である実務に入れないこと
な感じだった。（そりゃあそうだな）

ただメンターさんや開発責任者の方は
・今回は無理だったけど伸びしろはめちゃくちゃある
・アプリを実際に作ってリリースしていることは本当に誇るべき
（今までいろんな人を面接してきてるけど、実際に作ってリリースしてる人はごく僅かやし制作物もチュートリアル程度のショボいものばかりだったりするので、ここは他の人と比べてGadgeloggerくんの強みではある）
・即戦力を求める現場では通用しないけど、きちんと育ててくれるような会社さんだったら行けるかもしれない

とアドバイスを頂いたので、本当にいい会社だなと感じた。
結果としては残念だったが自分を見直すいい機会を得させていただいた企業さんなので、将来転職するときはぜひ候補に入れたいな・・・・と感じたわ。

長々となってしまったが、このインターンの結果報告は以上とさせてもらうわ。ここまで見てくれた方ありがとな。
また次の記事で会おう！