僕は大学3年生の時にプログラミングの勉強を始めて、今ではエンジニアとしてRailsを使った開発のインターンをしています。

この記事を読んでいるあなたはこんな疑問を持って読んでくれているんだろうと思います。
- どれくらいのスキルがインターン合格には必要か
- どんなことをしていると有利?
- どうやってインターンを探せばいいの?
この記事ではこんな疑問に答えます。
僕は実際に学生スタートアップでエンジニアとして働いたり、ベンチャー企業でエンジニアインターンしているのでかなり参考になると思います。
エンジニアインターンに参加することのメリットも以下の記事にまとめているのでどうぞ。
■目次(クリックで飛べます)
エンジニアインターンに最低限必要なスキルをまとめてみた

HTML/CSS, JavaScript
これは言わずもがな。って感じですが、絶対に必要です。
適当なサイトをいくつか再現しよう
僕が最初の開発業務のインターンに合格した時は、適当なページを5、6ページHTML,CSSだけで丸パクリしたことがあるってくらいのレベル感でした。
最初は思った通りにCSSが決まらなくてイライラしますが、経験を積めば何も考えずにできるようになります。
Railsなどのフレームワークを使ったCRUD処理

rails tutorialやプログラミングスクールの教材はこれらのスキルを初心者が身につけられるように設計されています。
逆にこれらの操作が自由にできるようにならないと基礎が身についたとは言えないので、これらの処理を含んだアプリをいくつか作っていることは絶対条件になります。
僕の場合だとテックキャンプでTwitterのようなSNSアプリや映画レビュー投稿サイトを作りながらこれらの機能の実装方法について学びました。
オリジナルアプリが一番大事

上記のようなスキルを僕はテックキャンプで身につけましたが、インターンの面接で一番評価されたのはオリジナルアプリ開発の経験でした。
スクールやネット教材の勉強では自分で考える力が身につかないから
プログラミングスクールやprogateなどの教材で勉強しているとかなりわかりやすく、初心者でも迷わないように作られているので挫折することなく楽しくプログラミングを学ぶことができます。
その反面、自分で考えて機能を実装する力や、アプリやデータベースを設計する力って身につかないんですよね。
例えば、簡単なレビューサイト一つ作るにしても自分で1からとなると
- 必要な機能は何か?
- どんな人に使って欲しいか?
- どんなデーターが必要か
- そのデータを保存するテーブルの構成はどのようななっているべきか?
- どんなgemを使えば良さそうか?
- 自分でも作れる範囲か?
など本当に考えることが多いことに気づきます。
スクールではこれらを肩代わりしてくれるのですいすい進めることができるんですよね。
オリジナルアプリを作るなら簡単で小規模なものにしよう
初心者がやってしまいがちなんですが、すごいアプリを作ろうとしてしまって最後まで実装できずに途中で挫折してしまうんですよね。

そうならないためにも、これ「簡単すぎじゃない?」ってくらいのアプリをとりあえず作ることをオススメします。
僕が最初に作ったのはグループでチャットができるアプリだったんですが、設計を考えたり画面のHTML/CSSを書いていたりすると時間食って結局2ヶ月かかりました。
オリジナルアプリ開発はコードを書く時間よりもエラーを解決する時間の方が圧倒的に長いです。
その辺りも考慮して作っていくと挫折しないでしょう。
heroku,AWSへのデプロイ

最後にせっかく作ったアプリを何か一つherokuやAWSなどのサーバーにデプロイしてネット上で実際に動くようにしましょう。
やっぱり百聞は一見にしかずで、動くものを見せられると面接担当の人も「お!」ってなります。
アプリ開発の知識に加えてサーバーの知識も必要になって大変ですが、ネット上にいくらでも情報は落ちているのでなんとかなります。
僕は3日かけてデプロイを終えました。
Gitコマンドの習得
チーム開発ではGitの習得は必須。
Gitはやらかすと一番怖いので、なるべく仕事を始める前にしっかり習得しておきましょう。
Gitについては以下の記事で効率的な勉強方法について解説しているので参考にしてください。
他にしていると評価されること
自分の興味のある技術を勉強していること
ITエンジニアは基本的に新しい技術を勉強してキャッチアップする必要があります。
その分自分の興味のあることを自発的に勉強しているのってやっぱり魅力的なんですよね。
僕の場合だとVue.jsっていうJavaScriptのライブラリの勉強をしていました。
Qiita記事に勉強したことをまとめる

自分の勉強したことを効果的にアピールする手段があって、Qiitaというエンジニアのブログサイトみたいなところに勉強した知識を記事にして投稿することです。
基本勉強したことって、それを使ってアプリとか作らないと他の人にはわかってもらえないんですが、Qiitaにまとめるだけなら勉強の過程もアウトプットできるのでお得なんですよね。
自分が勉強したことをまとめるのはめんどくさいですが、特に興味のある分野だけでもアウトプットすることで頭の中が整理されます。
実際に僕も時間を見つけてはQiita記事を書くようにしています。
https://qiita.com/hogehoge1234
Qiita記事を書くことの重要性ももっと詳しく書いているので参考にしてください
Githubに自分の成果物をアップしておく

これももちろん大事です。
もう一歩気をつけておくべきポイントとしては、READMEをちゃんと書いておくことでしょう。
僕は自分のgithubに置いてあるちゃんとしたアプリにはREADMEを書いて見た人がわかりやすいようにしています。
インターン・バイト先は何で探した?
Wantedlyを使った探しました。
ITエンジニアのインターンとなると、ベンチャー企業が多くなるのでWantedlyを使うのが一番です。
ここら辺はスキルが身についてから考えればいいでしょう。
エンジニアインターン合格は大変だが頑張ろう
上に挙げたようなことを全部やるのは結構大変だと思います。
実際僕もプログラミング始めてからエンジニアとして働き始めるのに結構苦労したように思います。
プログラミングスクールに通えば全部できる
僕がエンジニアインターンまでできるようになったのは間違いなくプログラミングスクールに通ったからだと思っています。
- HTML/CSS, JavaScript
- Ruby
- Ruby on Railsを使ったアプリ作成
- Gitの操作方法
- オリジナルアプリ作成サポート
プログラミングスクールではこれらが爆速で、できるので効率がいいんですよね。
独学で全部やっていたら1年はかかっていたところを3、4ヶ月で達成することができました。
1年間独学で苦しむよりは、お金を払って1ヶ月〜3ヶ月がっつり学んで残りの9ヶ月でエンジニアインターンした方がトータルで見るとお得ですよね。
今プログラミング学習で苦しんでいるなら、お金はかけれるだけかけるべき。
早くスキルを身につけて、節約した時間でお金を稼ぎつつスキルをさらに伸ばすのが賢いかと!
下の記事は僕がプログラミングスクールに通った時の体験談になっているのでプログラミングスクールで学べる内容の参考になると思います。