こんにちは。Web系エンジニアのカズです。数年前に未経験からプログラミング学習を始めて転職しました。現在、エンジニア歴は約7年になります。
最近、私の友人が未経験からエンジニアに転職するためにプログラミング学習を始めました。
私と同じようなキャリアを積みたいらしく、何を勉強すれば良いかを聞かれました。

Web系のエンジニアになりたいのですが、何を勉強すればいいですか?

まずは、無料学習ツールで言語の基礎をやってみたらどうかな。
HTML,CSS,Javascript,PHPとか。

ありがとうございます。やってみます。
調べると転職にはポートフォリオが必要らしいです。HTML,CSS,Javascript,PHPの基礎学習をしてからポートフォリオ作成できればと思ってます。また何かあったら教えてください。
数日後

基礎学習の進捗はHTMLの途中くらいですが、
ポートフォリオ作成するのにmysqlも必要だと聞きました。
でも何故mysqlが必要なのか理解ができません。

調べたんですが、Bootstrapって重要ですか?
基礎学習はHTMLの途中なのですが、Bootstrapもやった方がいいですか?

おう・・・
まず、基礎学習やらないとイメージがつかない気がするな。
私の友人はどうやら、基礎学習などのやるべきことをやる前に沢山の情報を得ようとしすぎて混乱してしまうタイプのようです。
BootstrapはCSSフレームワークでCSSを学習しないと理解しにくいです。
mysqlはPHPなどのバックエンド言語を使用して保存するデータベースになるのでその原理が分からないでmysqlだけ触ってもイメージが付きにくいです。
まず基礎をやらないとイメージしにくいと思うのですが、色々な情報を得すぎてしまって優先順位が前後しちゃってますね。
ですが初心者の方にとってみれば、「どれが重要なのか。」「どの順番で学習するのが理解しやすいのか。」は判断しにくいですよね。
○○って何?って1個ずつ検索しても、優先順位が判断できない方もいるのではないでしょうか。
○○と○○の理解がごっちゃになってしまっている方もいるのでは。
ということで、今回は初心者の方の理解が混同しないようにWeb系でよく使われる言語・ライブラリ・フレームワーク・ツールを一覧で見れるように、まとめてみました。(Web系)
本記事の内容はこちら
・よく使われる言語
・よく使われるプラグイン/ライブラリ
・よく使われるフレームワーク
・よく使われるツール
・優先順位の話
よく使われる言語
・HTML
・CSS
・Javascript/Jquery
・PHP or Ruby
・Java
初心者の方にイメージだけ把握してもらうために、ざっくりと説明します。
HTML,CSS,Javascript/Jqueryはフロントエンドの言語です。
いわゆる画面の見た目を構成する言語です。
簡単に説明すると、HTMLは文字、CSSは色やレイアウトの調整、Javascriptは画面の動作をさせる部分。例えば、「クリックしたときの動き。」など。JqueryはJavascriptが派生した言語。
Javascriptをもっと簡単に書けるようにした言語です。
PHP,Ruby,Javaはバックエンドの言語です。
いわゆる見た目には見えないシステム側の操作をする言語です。
例えば、「データベースにデータを保存する」「データベースからデータを取得する」などがあります。
何でそんなことするんですか。と思う方は会員制のサービスを思い描いてみましょう。
初めに、ユーザー情報を新規登録しますよね。そのサービスを利用しているのは何百、何万人と利用者がいるでしょう。そのような大量データを保存しておけるのがデータベースです。
そしてログインするときは、一度登録した情報をデータベースから探し出してデータが一致すればログインできる。
こんな感じの仕組みです。
よく使われるプラグイン/ライブラリ
プラグインとライブラリの違いは厳密に言えば違うのですが、この際呼び方はさして重要ではないのでイメージだけ掴めるように説明します。
プラグインとライブラリのどちらも機能の拡張をするときに使用します。機能拡張に必要なプログラミングが既にされているファイルをインストールして、それを再利用するイメージです。
例えばJavascriptやJqueryで代表的なものはこちらです。(参考例)
・Datepicker
・Sweet Alert
・DataTables
・Slick
よく使われるといっても現場によって変わりますので、あくまで参考に。
特にDatepickerは一度使ってみることを、おすすめします。
Datepickerとは、日付入力欄などでカレンダー表示させて日付を選択することで入力できる機能です。
予約ページなどで日付を入力する際に、良く見たことがあるのではないでしょうか。
よく使われるフレームワーク
フレームワークとは、再利用可能な枠組みのことで、テンプレートのようなものです。
テンプレートをそのままベースとして、さらなる機能を追加していくように使うイメージです。
代表的なものは、こちらです。
・Laravel (PHP言語のフレームワーク)
・Ruby on Rails (Ruby言語のフレームワーク)
・React.js (Javascript言語のフレームワーク)
・Vue.js (Javascript言語のフレームワーク)
・Bootstrap (CSSのフレームワーク)
よく使われるツール
・Git
・SVN
・Sourcetree
・Backlog
・Redmine
・jira
・Vscode
・PHPStorm
・Atom
・eclipce
・slack
・chatwork
・terms
優先順位の話
最後に優先順位の話です。
Web系のバックエンドエンジニアを目指す場合と、フロントエンドエンジニアを目指す場合の2パターンの優先順位イメージを挙げるので参考にしてみてください。
フロントエンドエンジニアを目指す場合(⑥⑦は前後しても問題なし)
- ①言語の基礎学習 (HTML,CSS,Javascript,Jquery)
- ②言語を使った実践練習 (簡単な機能をつくって実装力を鍛える)
- ③フレームワークどれか1つを触れるくらい学習(React.js, Vue.js)
- ④ポートフォリオ作成
- ⑤転職活動
- ⑥プラグインやライブラリを何か1つ触ってみる
- ⑦ツールを使ってみる(Gitは必須なので最低限使えるように)
バックエンドエンジニアを目指す場合
- ①言語の基礎学習 (HTML,CSS,Javascript,Jquery,PHP)
- ②データベースを扱う(mysql)。SQL文を触りだけでも学習する
- ③言語を使った実践練習 (簡単な機能をつくって実装力を鍛える)
- ④フレームワーク(Laravel, Ruby)
- ⑤ポートフォリオ作成
- ⑥転職活動
- ⑦ツールを使ってみる(Gitは必須なので最低限使えるように)
言語について詳しく知りたい方は、下記の記事を参考にしてください。
現役Web系エンジニアおすすめの「稼げる」プログラミング言語とは?
特にバックエンドエンジニアに関しては、やることが多いのでフレームワークは必須ではないかもしれません。なので、あくまで参考までにしてください。
コメント