スマートフォンの登場や通信速度の向上によりwebサイトはより生活に欠かせないものになりました。webサイトには様々なサービスがあり、「○○なサイトを作ってみたい!」と思ってweb開発に興味を持った人もいるでしょう。
web開発がしたいという理由でphpやJava、Python、Rubyなどの言語を学ぼうとしている人、あるいは学んだ人も多いと思います。
現在はwebフレームワークの登場によりweb開発がしやすくなりました。しかし、web開発は様々な機能が関わっているためプログラミング言語を学んだだけでは知識不足によりつまずく事が多いです。
今回はweb開発を始めようとしている初心者に学んでおいた方が良い分野を紹介します。
プログラミング言語
どのプログラミング言語を選ぶかは今後のキャリアに関わってくるため非常に重要です。
web開発でメジャーな言語はPHPやJavaですが他の言語でも開発可能ですが、各言語の特徴を調べて自分にあった言語を選びましょう。
RDBMS SQL DB設計
RDBMS(Relational Database Management System)はweb開発で非常に重要な機能の一つです。日本語では関係データベース管理システムと言われます。SQLやDB設計はRDBMSで使われる技術です。
web開発でDBに関する用語はよく使います。例えば、DBサーバー、DB作成、テーブル作成、CRUD系の操作、プライマリーキー、マルチユニークキー、オーダー、トランザクション、コミット、ロールバック、1対1、1対多、多対1、多対多、正規化などがあります。
データベースの理解が浅い状態でweb開発中に毎回ググって調べるよりは、 SQLの使い方とDB設計に関する本を1冊づつ買って本格的に勉強した方が良いです。
オススメのDBはMySQLかMariaDBです。
HTML
HTMLはハイパーテキストを記述するためのマークアップ言語の1つです。aタグやpタグなどタグを使って文章の構造を記述します。
よく使われるタグや属性は覚えておくと良いです。プログラミング言語を学習済みであれば難易度は低いです。
CSS
CSSはHTMLで記述された文のレイアウトやデザインを設定するために使われます。
CSSはバックエンド開発では重要度は低くほとんど覚える必要はないですが、「レイアウトはCSSで設定している」ということは覚えておきましょう。一方webデザインをやりたい人は必須の言語です。
ネットワーク、サーバー(ITパスポート、基本情報技術者レベル)
ネットワークやサーバーはweb開発で欠かせない知識です。
ITパスポート、基本情報技術者はどちらも国家試験です。ITパスポートは全ての社会人を、基本情報技術者は情報技術者を対象とした試験です。資格を取る必要はありません。
情報系の分野を幅広く扱っていて私も全て覚えているわけではありませんが、特にネットワークやサーバーに関する分野は抑えておきましょう。
ネットワーク、サーバーの分野は奥が深いので「最低限ここまで覚えましょう」と言う線引きは難しいですが、ITパスポートや基本情報技術者の対策本に書いてある程度の内容は学習しておくと良いでしょう。
Linuc レベル1
Linucは中立・公正にLinux技術者の技術力を3つのレベルで証明することができる認定資格です。レベル1〜3まであります。
資格を取る必要はないですが、レベル1相当の知識は身につけておくと良いです。特にCLIによる操作に慣れておくと良いでしょう。
JavaScript
JavaScriptはプログラミング言語の一つです。JavaScriptはクライアントサイド(ブラウザ上)で動作可能で、入力項目の検証、アニメーション、ボタンの活性・非活性化、Ajaxなど様々な用途で使われます。
個人開発ではjsを使わなくても開発できますが、業務ではよく使われるため学習しておいた方が良いです。
JSON
データ記述言語の1つです。JsonはJavaScript Object Notationの略です。
書き方はpythonの辞書形式に近いです。webAPIやAjaxでよく使われます。web業界では知ってて当たり前扱いされるほど有名なデータ形式です。学習コストは低いので聞いたことがない場合は特徴を覚えておきましょう。
YAML
YAMLとは、構造化データやオブジェクトを文字列にシリアライズするためのデータ形式の一種。
Jsonに似た感じですがJsonとの大きな違いはコメントが書けるという点です。
Djangoの初期データの作成や、CI/CDの設定ファイルとしてよく使われています。
Git
Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するシステムです。
開発現場で使われることが多いです。覚えることはプログラミング言語に比べれば少ないですが、概念を覚えるのに苦労するかもしれません。私は中々覚えられませんでした。
私が新卒で入社した会社の面接でも「Git使った事ありますか?」と聞かれました。2015年頃の事なので現在ではより求められるスキルになっていると思います。
GUI版と、CLI版の2パターンあります。どちらも使える様にしておくと良いでしょう。
JQuery Vue.js React
JavaScriptの項目に入れるか迷いましたが、やや発展的な内容だと思ったので分けました。
JavaScript単体で使うよりは、JavaScriptライブラリのjQueryやJavaScriptフレームワークのVue.js, Reactが使われることが多いです。
JQueryのシェアは落ちつつありますが、どれもニーズが同じぐらいだと思うので3つの中で1番おすすめなものは選べませんでした。
jQueryの学習コストはやや高く、Vue.js、Reactは学習コストが高いのでこれらもまとまった学習時間を確保して、教本を最低1冊は読んで使い方を学んでおくと良いでしょう。
最後に
これからweb開発を始めようとしている初心者向けに学んでおいた方が良い分野を紹介しました。数の多さに驚いたかもしれません。しかしこれが現実です。
webプログラマーを生業としたいなら約3年はこれらの分野を地道に学習をしてしやっとスタートラインに立てるんだと覚悟して望んだ方がいいかもしれません。
上記で紹介した以外にもインフラ系やクラウド系のスキルが求められるプロジェクトもあります。
学びに終わりはなく、学び続ける姿勢は非常に大切なスキルです。
コメントを残す