プログラミング初心者(初学者)がモダンなWeb系企業でバックエンド(サーバーサイド)エンジニアとして働く為にポートフォリオを作る為の順序と具体的な学習方法・テキストをまとめておきます。Sier企業で働く場合はRuby(PHP)の部分をJavaに置き換えると良いです。
フロントエンドエンジニアだとRuby/PHPの部分をJavaScriptにして、フレームワークにReactかVue.jsなどを勉強すれば良いでしょう。
これまでプログラミングをかじったことがある人はコンピューターサイエンス基礎などを適宜スキップしてください。
エンジニアを志望すると決めたら転職エージェントに登録してどういうエンジニアが需要が高いか話を聞きに行くのも良いです。レバテックキャリアはエンジニア専門なので情報も豊富でおすすめです。
目次
使うプログラミング言語
おすすめ言語はRubyかPHP
RubyかPHPがおすすめです。
理由はこの2言語がweb系企業でよく使われていて、案件数が多いからです。他にPythonやGoなども人気がありますが、これらの言語を使っている会社では未経験者を受け入れているところは少なめ。未経験者はRubyかPHPを習得して就職活動するのがベターでしょう。
またRubyやPHPはネット上での情報量も多く、テキストも多く市販されていて学習のしやすさという点でも良い言語です。
他にkotlinやswiftなどネイティブアプリ(スマホアプリ)向け言語もありますが、こちらも未経験で就職するのは難易度が高めです。まずはRubyやPHPで経験を積んでからがおすすめです。
1.コンピュータサイエンス基礎
基本情報技術者試験のテキストを何周かすれば良いです。資格を取る必要まではありませんが、やる気があれば取得しておいて損はありません。
ただし試験対策として暗記する時間が必要になりますし、午後の試験ではプログラミング言語(C・Java・Python)か表計算を勉強しないといけないので、ポートフォリオを作り終わってからにしておくのが無難です。
2.HTML・CSS・(JavaScript)
HTMLとCSSはwebサービスを作る上で必須の技術なので早めに身につけておきましょう。
教材はProgateかドットインストールで良いでしょう。無料で途中まで受講することができ、中盤以降は有料になります(月1,000円くらい)。
どちらかで良いので有料プランに加入して全て終わらせましょう。
JavaScriptは余力があればやる程度で良いでしょう。JavaScriptを使いこなせるとポートフォリオの質が上がりますが、駆け出しサーバーサイドエンジニアには必須ではありません。余裕があればやる程度で。
Bootstrap
簡単にデザインを作ることができるBootStrapというものがあります。詳しく勉強する必要はありませんが、グリッドシステムの仕組みだけでも理解しておくと良いでしょう。
ちなみにBootstrapはLaravelでは標準で装備されています。書籍やネット上でのチュートリアルでも使用されているのでPHP(Laravel)を勉強する人は目を通しておくと良いでしょう。
動画教材 おすすめ!
UdemyでHTML/CSS(Bootstrap)/JavaSciriptをまとめた講義があります。この講義はこれらの技術を使いながらハンズオン形式の講義で、Progate・ドットインストールで得た知識を実践で使えるものにすることができます。
こちらも触っておくのがおすすめです。
3.Linux
Web系企業ではほとんどの会社が使っているLinuxのお勉強です。Sier企業もほとんどの企業が使っています。
Linuxは開発エンジニアだけでなく、インフラエンジニア、保守・運用エンジニアなどシステムに携わるあらゆる人の必須技術と言っても過言ではありません。基本的なコマンドは理解しておきましょう。
以下の書籍もおすすめです。シリーズが3冊あるので少しずつ読んでみるのが良いでしょう。就職(転職)前はもちろん、仕事を始めてから読んでも学びがあると思います。
4.SQL
データベースを扱う為の必須言語です。
言語自体はそれほど難しくはありません。どちらかというと前段階の設定(データベースへの接続)の方が面倒です。
今回まとめている技術は全て重要ですが、LinuxとSQLさえ理解できれば、IT業界でご飯を食べていくことは可能です(これだけだとシステム開発はできないので保守・運用、社内SEとかですが)。SQLはしっかり理解しておきましょう。特に結合(JOIN)とかグループ化(GROUP BY)とかは最重要です。
Webシステムでパフォーマンスが悪い(動作が遅い、重い)などの時はデータベース周り(SQL書き方等)が原因のことが多いです。仕事を始めてからも駆け出し時代は積極的に勉強するべき項目です。
私はProgateと以下の書籍をやりました。
5.Ruby or PHP
RubyかPHPかどちらか好きな方の基礎固めをします。RubyならProgate、PHPならドットインストールが充実している印象です。テキストはPHPだと「よくわかるPHPの教科書」が易しめでおすすめ。
RubyとPHPはどちらでも良いですが、下に特徴を簡単にまとめておきました。好きな方を選びましょう。web系企業で働くつもりなら最終的にはどちらもできた方が良いので、順番の問題という気もします。
ちなみに2021年現在、東京都内のIT企業はRubyがやや多め、地方はPHPが多めの印象です。トレンドがあるので参考程度に。
Ruby | PHP | |
難易度 | やや高 | やや低 |
収入 | やや高 | やや低 |
フレームワーク | Ruby on Rails | Laravel CakePHP |
仕事の多さ | やや低〜普通 | 多い |
会社の雰囲気 | ややモダン | レガシーからモダンまで様々 |
基本的に筆者の所感ですがこんな感じかと思います。PHPは採用企業が多く、フレームワークは雑多。上にあげたもの以外にもいくつもフレームワークはあります。会社も玉石混交という感じですが仕事は多く、長く使われそうな印象です。
RubyはRuby on Rails一択というのが現状。プログラミングスクールやYoutuberはRubyを教えているのが多いです。ライバルが多いですが、比較的モダンな環境の会社が多いので会社選びでハズレの会社を引く可能性は低そうです。
ちなみに筆者は難易度低め、環境構築も簡単なPHPを選択しました。モダンな会社に就職することも大事ですが長く使われそうな言語の方が将来つぶしがききそうという理由もありました。
動画教材 おすすめ!
UdemyでPHPを学ぶための教材もあります。こちらは先述の「よくわかるPHPの教科書」の作者の動画教材です。内容はPHPの基本の講義から始まり、データベース(MySQL)の使い方を学んでTwitter風の掲示板を作る講義です。
解説が詳しくわかりやすいので、ProgateやドットインストールをやらずにこちらでPHPの基礎を習得するのもおすすめです。
参考: udemyおすすめ動画まとめ
6.Git(バージョン管理ツール)
- Progate / ドットインストール
そんなに難しくはないのですが、ほとんどの会社で使っているので使い方は学んでおきましょう。使い方を間違えるとこれまでのデータが吹っ飛んだり、他の人が開発したものが吹っ飛ぶので使い方はマスターしておきましょう。
Gitはマンガでわかる参考書も販売されているのでとっかかりはこれを使うのも良いでしょう。さっと一周読んでからコマンドを打って覚えます。
バージョン管理ツールではSVN(サブバージョン)を使っていることもあります。Gitを使っていれば対応できるのでとりあえずGitを覚えておきます。
動画教材(Udemy) おすすめ!
UdemyでもGitの動画教材はあります。Gitで何が行われているかをしっかり解説してくれているので理解しやすいでしょう。
7.フレームワーク(Ruby on Rails or Laravel)
Ruby
PHP
上記の教材でフレームワークを学びます。
PHPはLaravelの他にCakePHPというフレームワークもありますが、PHPフレームワークのトレンドはLaravelです。まずはLaravelをやっておけば良いでしょう。
余裕があればネット上で「Rails チュートリアル」とか「Laravel チュートリアル」などで検索して出てきたソースコードを読んだり実際に書いてみたりして学習するのも良いでしょう。
8.ポートフォリオ作成
あとは実際にポートフォリオ(成果物)を作成していきます。
成果物はなんでも良いです。自分が作りたいと思うものを作れば良いです。
何も作りたいものが思い浮かばないなら簡易ブログシステムみたいなものを作ってみるのが良いです。ブログシステムはログイン機能や画像アップロード、ページネーションなど基本的な機能が網羅されています。
ブログシステムを作ってそれを拡張するか別のポートフォリオを作ってみるかすれば良いでしょう。
ソースコードはgithub、実際に動くプログラムはとりあえずheroku※にデプロイしておけば良いでしょう。とりあえずこれで一通りポートフォリオ作りは終了です。
※herokuは仕様が独特でハマりやすいです。実際現場でherokuを使っているところはほとんどないので、できれば後で紹介するAWSを使うのをおすすめします。
9.就職活動
ポートフォリオができたら転職サイトや転職エージェントなどにエントリーして就職活動をはじめましょう。就職活動をはじめてわかることもあるので、できるだけ早く就職活動を始めるのをおすすめします。就職活動に使えるサイトを以下にあげておきます。
- リクナビネクスト(転職サイト)
- Wantedly(ビジネスSNS)
- リクルートエージェント (転職エージェント)
- レバテックキャリア(転職エージェント)
どれを使っても良いですが、railsやLaravelなどフレームワーク名で検索してみると希望の企業が見つかりやすいと思います。
転職エージェントは面談時にrails(Laravel)使ってる企業に就職したいですと伝えて紹介してもらうと良いでしょう。リクルートエージェントはIT経験がなくても基本的に受け入れてくれますが、レバテックキャリアはIT系経験者が対象です。
これまで何かしらのIT系で働いていた方はレバテックキャリアがIT系専門のエージェントなのでこちらも利用すると良いでしょう。面談担当者にエンジニア経験者が多くて話が通じやすいです。
10.さらに良いポートフォリオを目指して
- AWS(インフラ:サーバーなど)
- Docker
- Circle CI(Jenkins)
上記の技術は最近トレンドの技術で、開発に取り入れている会社は多いです。特にAWSはほとんどの会社が使っているといっても過言ではありません。入社してからもほぼ触ることになると思うので早めに触っておくのが良いです。
これらの技術をポートフォリオに取り入れることでより質の高いポートフォリオを作成することができます。
またJavaScriptのフレームワーク(React / Vue.js)を取り入れてフロントエンドもわかるというアピールも良いでしょう。
動画教材(Udemy) おすすめ!
AWS
・Amazon Web Service マスターコース VPC編)
短めのコース(約2時間)でひとまずこれくらいの知識があればAWSを触ることができるようになるという教材です。AWS初心者はまずこれからどうぞ。
参考: udemyおすすめ動画まとめ
番外編:学んだことはqiitaや技術ブログに残しておく
勉強中に学んだことはqiitaや技術ブログに残しておくことをおすすめします。
就職活動の時に実績として示すこともできますし、備忘録としても使うことができます。
コメント