こんにちは。もんしょー(@sima199407)です。
僕は大学3年生からエンジニアとしてのキャリアを始め、
4年生のときにフリーランスエンジニアへなった経緯があります。
そして、以前こんなツイートをしました。
【大学生がエンジニアキャリアを積む方法】
①progateでweb系の言語をやる(PHP,Rubyなど)
②「言語名 チュートリアル or Tutorial」で検索して作品を作る
③そこに追加機能を加え、ポートフォリオを作る
④wantedly,キャリアバイトで応募する
※5社受ければ1社は引っかかるくらいに考える— もんしょー?webが主食な人 (@sima199407) 2019年2月8日
【大学生がエンジニアキャリアを積む方法】
①progateでweb系の言語をやる(PHP,Rubyなど)
②「言語名 チュートリアル or Tutorial」で検索して作品を作る
③そこに追加機能を加え、ポートフォリオを作る
④wantedly,キャリアバイトで応募する
※5社受ければ1社は引っかかるくらいに考える
ということで今回は「大学生のエンジニアキャリアの始め方」についてお話したいと思います。
結論から話すと、
ゼロから3ヶ月くらいでエンジニアキャリアをスタートできる
という過程までできると考えます。
それでは見ていきましょう!
今回の目標は「実務を始めること」
今回のゴールとしてはエンジニアのキャリアを始めることなので、「実務が始められるレベル」にもっていくことが目標です。
実務ができるということは仕事として成り立つレベルと考えると少し難易度が高いと感じますが、心配ないです。
長期インターンのススメ
おすすめの方法として「インターンシップを始める」ことです。
インターンと言っても1~2dayでやる短期のものではなく、3ヶ月~1年くらいの長期間やるものを指します。
またインターンというのはそもそも「研修生」という意味合いですので、そこまで技術力が高くなくてもなれるところが多いです。
どちらかというと
①卒業したら戦力になってくれそうな人
②やる気のある人
のような人が採用されやすいかなと思います。
✔目指すは「②やる気のある人」
やる気ってどうやって表現するのがいいかというと
[box04 title="やる気が見える人とは?"]作品を作って見せる[/box04]
というのがわかりやすいかなと思います。
つまり、
Aさん:半年ほどプログラミングを学んでます。現場で学びたいのでよろしくお願いします。
Bさん:経験は浅いですが、独学で〇〇を学び、こういったものを作ってみました。
どうみてもBさんが採用される可能性が高いです。
プログラミングを学んでも「それを形にできるか」は大きなポイントになります。
【疑問】フリーランスではなくインターン?
→ご自身の判断に任せます。
僕は現場経験を積んでおいたほうが仕事の流れが分かりやすいかなと思い、インターンを勧めております。
社会人ならともかく、大学生となると一度会社に入ってみるのもアリかなと。
最悪、そのインターンした会社に就職してスキルを身につけてから独立もできるので、セーフティネットがある感じです。
あと余談ですが、僕みたいに時間が有り余ってますという人は「派遣エンジニア」のおすすめです。
これはフルタイムで働く普通の会社員と同じでして、インターンシップより時給は高いです。
https://simablog.net/2000yen-engineer-bunkei/
逆算して考える
[box02 title="ここまでのおさらい"]
大学生が実務始めるなら
→長期インターンがいい。
長期インターンに採用されるなら
→作品を作るのが効果的
[/box02]
↑ここまで逆算して考えてみました。
あと必要なのは、
「作品を作るにはどうするか?」
という部分です。
ぶっちゃけ作品を作りながら基礎的な内容も学べますが、作品を作る前に少し学習しておきましょう。
【方法】4つの段階で考えてみる
ツイッターでもお話した通り、4つの段階で見ていきます。
概要はこちらになります
①基礎を学ぶ(3週間)
②チュートリアルをやる(2週間)
③チュートリアルに追加機能を加える(4週間)
④面接に行く(3週間)
計12週間 ≒3ヶ月
※( )は目安です。
3ヶ月という期間で考えるとこんな感じですね。
①基礎を学ぶ(3週間)
今回学習する内容として
HTML/CSS/Javascript(jQuery)/PHP(or Ruby)/SQL
になります。
PHPとRubyに関しましてどちらでもいいかなと思います。
僕は最初Rubyをやってましたが、インターンではPHPを書いてました。
少し情報を与えておきますと、
PHP:昔からあるIT企業だと使っているところが多い。WordPressはPHPベース。
Ruby:ベンチャー企業などで多く採用されている。日本人が開発。Ruby on Rails というフレームワークが有名
という感じです。
僕的には教材でどっちも試してみてから決めるのもアリじゃないかなと思います(^^)
【「PHPとRuby最初にやるならどっち?」議論】
A、何を使うかより"何を作るか"が大事で
また自分の入りたい企業に合わせるのもいい僕は最初Rubyを学んでRubyで仕事を探しましたが、
結局PHPを使う会社に行きましたスクールではRubyを教えてくれる所が多いですが、
PHPも需要があっていいですよ?♂️— もんしょー?webが主食な人 (@sima199407) 2019年2月9日
ここはネット上にある教材を使っていきます。
がおすすめでして、多くの初心者はここから始めていると思います。
progateであれば、
[box03 title="項目(Progate)"]
・HTML&CSS(初級編〜上級編)
・javascript(すべて)
・jQuery(初級編〜上級編)
・PHP or Ruby (すべて)
・SQL(Ⅱまで)
・Command Line(基礎)
[/box03]
が必要かなと思います。
ドットインストールも同じような項目をやれば問題ないと思います。
かなりの量ですが、3週間くらいで2周を回すイメージでいきましょう。
1発で覚える必要はないのでイメージとして1周目30%、2周目60~70%くらい理解していればオッケーです。
1周目を10日間、2周目8日間くらいで予備日も設けておきましょう。
②チュートリアルをやる(2週間)
基礎的なところを学習したところで、さっそくチュートリアルをやっていきましょう。
チュートリアルとは?→プログラミングの基本操作を覚える方法です。
✔チュートリアルで何を作るのがいいのか?
複雑なものじゃないアプリがいいと思います。
代表的なのは「掲示板」アプリですね。
ググるといっぱい出てきますが、いくつかご紹介してみます。
PHPチュートリアル①
マナブさんの掲示板(口コミサイト)のチュートリアルですね。
僕も前に作りまして、解説が分かりやすかったです。
PHPチュートリアル②
ガチンコPHP塾 というサイトになります。
ここの掲示板はシンプルで作りやすいと思います。
Rubyチュートリアル
Rubyですと、Ruby on Railsで作るのがいいかなと思います。
Ruby単体よりもRailsを求めている企業が多いのと、実務に入ったときにスムーズに対応できるためです。
ドットインストールに掲示板の作り方ありますので
そちらを参考にしていただければと思います。
③チュートリアルに追加機能を加える(4週間)
さてチュートリアルができましたら、自分の手で追加機能を作ってみましょう。
だいたい3つくらいを考えてもらい、それを追加して作った掲示板にオリジナリティを出します。
やり方などは「ググる力」をつけてもらうためにあえて指定はないです。
プログラミングに「コードがキレイ」という感覚はありますが、正解不正解はあまり考えなくていいです。
次のステップの面接で「どこを工夫したか」をしっかり説明できるならオッケーです。
④面接に行く(3週間)
いよいよ最終ステップです。
インターンの求人サイトまたは企業のHPから面接の予約をしましょう。
[box05 title="有名なインターンサイト"]
・キャリアバイト
・wantedly(ウォンテッドリー)
[/box05]
インターンは会社として「育てる」というコストを払って行いますので、選抜方法は結構シビアだったりします。
なので、1つ不採用でも落ち込まずに複数社アタックするのがベターです。
✔どんなところをアピールすればいいの?
→まずは自分の作った作品をアピールするのがいいと思います。
企業が求めている人材は様々ですが、共通しているのは「主体性」と「素直な人」です。
なので、インターンを始めてどんなことをやっていきたいのかを素直に言うのがいいと思います。
目安は伸びてもいい
3ヶ月はかなり時間に余裕がないとできないかもしれませんが、目安の数値になりますので、ある程度延長して期間が伸びてもしかたないかなと。
ただ、先延ばしにしていくとモチベーションが下がっていきやすいので注意です。
【失敗談】僕のキャリアスタート
今では3ヶ月できると思いますが、当時の自分はかなり時間がかかりまして、9月からプログラミングの勉強を初めてインターンができたのは翌年の6月。
およそ10ヶ月かかってます。これは途中で勉強を辞めてしまったこととチュートリアルを疎かにしたことが原因です。
同じような失敗をして欲しくないので、短期間で自分の成果物を作るところまでやるのがいいと思います。
順調に行かないことが多いです
順序立てて3ヶ月間学習していきますが、つまづくこと(エンジニアは「ハマる」と言ったりします)があると思います。
自力で解決できる能力をつけるのは必要な知識ですので、腐らずにやってほしいです。
長時間パソコンと向き合っていると知らずに脳は疲れますので、
一度寝るとスッキリした状態でコードを見れるのでおすすめです。
✔誰かに質問してみる
どうしてもわからないときは質問サイトを使うといいです。
有名なサイトとしてteratail(テラテイル)やStack Over Flow(英語版も情報が豊富です。)があります。
優秀なエンジニアさんが無料で解決策を考えてくれます。いい時代です・・・
【余談】スクールに入って教えてもらう
独学でやるのが一番コスパがいいのですが、「講師の人に丁寧に教えてもらいたい」ならプログラミングスクールもアリです。
スクールで基礎を学ぶというより「自分の作品を作る時の質問をする場所」にするのもいいかもしれません。
大学生だと学割が使えるスクールもあるのでこれを使わない手はないです。
https://simablog.net/programming-school/
大学生エンジニアは希少です
企業にとっても大学生のうちからスキルを鍛えている人には新卒から1000万とか与える企業が出てきましてどこもエンジニア人材の欲しがっています。
なので、大学生のうちからエンジニアとしてキャリアを積むことで自分の市場価値を上げることができ、さらに実務経験を積むことで卒業後フリーランスとしての道も選択できたりします。
大学生でエンジニアデビューする人はめちゃ優秀に見えますがちゃんと続ければエンジニアになれます。
文系出身&一流大学出身じゃない僕できたので大丈夫だと思います。笑
ぜひ大学生のうちにエンジニアになりたい人は参考にしてみてください。
質問、相談もTwitterから受付けてますのでご連絡くださいー(^^)
twitter:もんしょー
※大学時代の実体験記事を厳選しました。たった1年やるだけで「レアキャラ」扱いされると思いますよ!
https://simablog.net/my-university-experiences/
こちらも合わせてどうぞ!
https://simablog.net/beginner-programming/