これくらい学べば初心者でもWebサービス作ってる企業にどこかしら入れるだろうという技術要素まとめました。
結構多いです。そんな簡単にプログラマーになれるわけじゃないことを認識していただければと思います。
あくまで個人的な意見で、これが必ず正しいというものではありません。
先に検討している企業がどういう技術を必要としているのか調べてそれを満たすようにするのが確実だと思います。
目次
言語・フレームワーク
何か簡単なWebアプリ1つ作り切った経験があると良いと思います。そうすると以下の要素ほとんど満たせると思います。
- プログラミング言語1,2つ
- できればオブジェクト指向で1つは静的型付け言語、1つはスクリプト言語がいい
- JavaとRuby/Pythonとか
- Webフレームワークで複雑じゃないポートフォリオ(掲示板とか)が作れる技術力
- フレームワークはRubyならRuby on Rails、JavaならSpringとか
- HTML, CSS含む、Bootstrap、materializeあたり触れるといい
- jQueryなどJavaScriptを少し触れる
- (行きたい企業の求められる技術によるが)ReactかVueのフロントエンドのライブラリ/FW
コーディング・設計
1人だと設計・コーディング知識がチームで開発するとき不足する可能性があるのでそれを補えると良いと思います。
- 命名規則、インデントなどコーディングの基礎知識
- デザインパターン、依存関係・責務などの設計基礎(SOLIDとか)
- UMLのクラス図、シーケンス図あたり簡単なものは書ける知識
- 作ったポートフォリオをUMLで書き起こすといいと思う
セキュリティ・インフラ
簡単なWebアプリ1つ作り切って外部からアクセスできるようにデプロイ、そこから色々セキュリティ基礎勉強して対策などしていくのが学びやすいと思います。
- 外部からアクセスできるようにデプロイできる程度のインフラ基礎知識
- XSS, CSRF, SQL/OSインジェクションなどWebアプリのセキュリティ基礎
ツール・周辺知識
Web基礎知識、Git/Githubは必須だと思います。ここら辺は実際にポートフォリオを作っていく過程で学べると良いのではないでしょうか。
バックエンド側も触るとなるとDocker/Linux知識が必要だと思います。できればそれらも少しは知っていると良いと思います。
・Git/Github
・Docker(インフラの方な気もするが)
・Linuxコマンドなどの基礎知識
・HTTPやRESTなどのWeb基礎知識