East Grass

大学3年次より休学してエンジニアインターンを開始。2018年4月より4年生。

1年間の休学期間でエンジニアインターンを経験した僕は最終的にどのくらいの実力をつけたのか?

まえがき

軽く自己紹介を。

僕は現在大学3年生(理系)です。

少し変わっている点としては、大学3年の2017年の4月から2018年の3月まで休学していました(4月から4年生)

3年生の頃からエンジニアになろうと思い、3年生の途中でインターンを開始しました。そこから色々あって結局3年の終わりに休学し、1年間はエンジニアとしての修行期間として設定しようと思い、頑張ってきた。

1年前と比べると、意外と自分の中で大きく変化したと感じたので今回はこの1年間を振り返ってみようと思う。

1年前のスペック

成長を比較したいので、休学前のスペック。

・プログラミングはforとかifとかは知ってる

・ただ、2年生までは自分でアプリケーションを作ったことがないし、作り方もさっぱり分からん

・3年生の頃にUnityの本みて同じものを作ったことはある

・マーケやエンジニアインターン応募するが、全部落ちる(そもそも応募そんなにしてないけど)

1社目インターン開始

ここは休学する前から働いていて次の会社と被ってる期間含めて10ヶ月ほど在籍した。

会社はプログラミングスクールを運営していて、僕も教えたりしていた。

それ以外だと、営業、チームリーダー、新規事業立ち上げと何でもやった。

現在就活中だが、面接で技術的ではないエピソード系質問(ex.あなたの直面した最大の困難はなんですか?)を聞かれると、ここでのエピソードを話すことが多い。

大学生が多く、今でも仲が良い友達がたくさん出来た。

技術的なことだと、Unity開発をした。教える側のレベルアップは常に求められる職場だったので、勉強する環境としては申し分なかった。

FPS作ったり、VRアプリを作ったりした。

勉強会も頻繁にあって、単一責任原則やUniRxなど、わからないなりにどうにか理解しようともがいた覚えがある。

Gitもここで学んだ。

ただ、ここでそこまで技術力が上がったかというとそうでもなかったかなと思う。

その後1日中コードを書くことになるが、そういった環境の方がスキルは伸びる。

しかし、エンジニアとしての基礎を身につけるのはここでしかできなかったので、とても有り難い環境だった。

iOSの勉強

技術的にもっとチャレンジングな仕事がしたいと思ったのと、元々iPhoneアプリが作りたかったのでSwiftを勉強した。

独学で本をいくつか読み、オリジナルアプリを作った。

それを持ってSwiftエンジニアを募集しているインターンにいくつか応募した。

結構有名どころのIT企業も受けたけど、結果は4社受けて3社合格。

落ちた1社はコーディング試験だったので、当時アルゴリズムの勉強全くしてない僕には無理だった。

夏頃まではインターン落ちてばかりだったので、面接まで行った会社は全部受かったのは結構僕にとっては驚きだった。

このときに初心者がエンジニアとして採用されるために必要な勉強ルートが僕の中で出来上がったのでまた機会があれば執筆しようと思う。

2社目, 3社目

いよいよエンジニアとしてのインターンを開始。合計で半年以上続けることになった。

1日8時間コードを書く仕事は初で、GitHubの草が毎日生えることに嬉しさを感じてた。

仕事では大きな機能追加を任されたりして、ぜんぜん違うところでその機能使ってるよといった話をされると結構感動した。

エンジニアとして何が楽しいかというと、専門性を持っているが故に頼りにされたり、リスペクトがあったり、自分にしか出来ない仕事があるという環境で仕事ができるという点である。

その点、それらに応えられるだけの実力は必要だと感じた。

仕事終わりに毎日英語や数学、個人開発とかをやるのがルーティンだった。

仕事だけでなく、個人でSNS作ったり、OSS活動なんかもしたりした。

技術書も結構読んで、Webアプリの読み物や、Swift, アルゴリズムの本なんかも読み始めた。

逆求人

一応3年生の扱いなので2月頃から逆求人イベントで就活をはじめた。

逆求人とは、自分がある特定の企業に応募するのではなく、複数企業が一同に集まり、そこで自分のアピールをするというイベントのこと。

ここでもかなり感触は良く、面談した企業からはほとんどお誘い頂く状況だった(内定ではなく面接に誘われたということ)

あとは自分が行きたいと思えるような企業に受かるかどうかだと思うので、より実力を高めていきたいと思う。

※ 20卒の逆求人は5月に既に始まるらしい(早い)

エンジニアの就活に逆求人は必須だと思うので行きたいところ探したい人は登録した方が良い。

https://supporterz.jp/spevents/detail/1on1_20180520/?fid=2182436

(このURLから参加してくれると僕にも参加した人にもキャッシュバックがもらえる)

インターン優勝

今月は、GREEインターンに参加した。2日間でエンジニア、デザイナー、プランナーの各1人でチームを組み、2日間でゲームをひとつ作るというプログラムだ。

最後は審査員が審査し、優勝を決める。

ハッカソンと違い、事前に面接を通過しなければならないのだが、一緒に面接を受けた子がlineのインターン行ってるみたいな子で自分は落ちたなと思った記憶がある。

詳しくは書けないのだが、GREEの社員の方からより良いものを作るために必要なことを徹底的にフィードバックされながら開発した2日間だった。

最終的に優勝という結果がついてきたのは嬉しかったし、次の日まで興奮が冷めなかった。

もう一つ嬉しかったのは、終わったあとにチームのメンバーやメンターの方から一人一人の良かったところや悪かったところを言ってもらう時間があるのだが、全員から技術力の高さを褒めてもらえた。

Unityは半年ぶりだし、自分より上が居るのはわかっているので、嬉しさだけ噛み締めつつ、前に進みたい。

 最終的なスペック

1年間をざっくり振り返ってみたが、成長度合いとしては以下の感じかと思う。

・Unity, (特に)Swiftはある程度何でも作れる

・よっぽど採用難易度の高い企業ではなければ採用される

・自分の技術力を語れるくらいのポートフォリオはできた

・バックエンド, CSの基礎なんかはまだまだ

こんな感じでやってきたことに関しては結構実力はついた。

ただ、"よっぽど採用難易度の高い企業"に受かるぐらいの技術者でありたいし、"バックエンド, CSの基礎"は理解している技術者でありたい。

結論としては、休学は今のところは成功したと思う。

わかったことは、専門性を高めるためにはある程度の時間、期間が必要だし、その間はそこに浸れるような環境を強制的に作ってあげるのが有効だということ。

惰性で勉強すること

1年間勉強を続けてきて思ったのが、意識高く「勉強するぞ」と思っても自分は続かないということ。

「とりあえず1時間だけやるか」や「何か暇だから開発するか」のテンションのほうが続くし、パフォーマンスも悪くない。

とりあえず仕事終わったらカフェ行くとか休みの日はカフェ行くとか電車では本読む(通勤片道1時間だった)ってのはかなり良かったので他の人にもおすすめしたいし、自分も続けていく。

それに周りで天才と呼ばれている人を見るに、開発が癖みたいになってると感じた。

暇があればパソコン開く。聞いた話だと、一時期電車でも開いてたらしい。

天才というのは皆同じく与えられた時間の中でもその行為が癖になるほど膨大にこなす人のことだと思う。

今後

目下就活を頑張る。

自信はないけど、やってきたこと、今後やりたいことを素直に話していく。

あと学生の期間は1年間あるのでその期間にレベルアップしていく。

やりたいことは

・バックエンドの開発経験

・CSの勉強

・売れるサービスリリース

・受託

・何かの団体結成

・勉強会登壇

・夏のインターン参加できたらする

こんな感じ。とにかく手を動かす1年にしたい。

最後に

最近PoiというTinderみたいにスワイプできるライブラリを作りました。

15以上スターがあるとawesome swiftに推薦できるのでGitHubのアカウント持っている人はスター押してくれると嬉しいです。

github.com