プログラミングスクール テックアカデミー講師
太田 和樹さん
Web系アプリケーション開発のPM兼エンジニア(現役)。フロントエンド、モバイル、サーバーサイド、データ分析などに幅広い知見を持ち、経験を生かしてプログラミングスクール テックアカデミーの講師も務める。(※太田さんが講師をつとめるフロントエンドコースはこちら )
まだ自分が触ったことのない開発言語や流行りの言語、はたまた急にプロジェクトで使うことになった言語。エンジニアであれば「新しい言語を習得したい・しなければならない」場面に置かれたことがあるだろう。
そこで、今回はエンジニア経験者向けに各言語の効果的な学習法やおすすめの書籍、ぶつかりやすい「壁」について、現役エンジニアが講師を務める日本最大級のオンラインプログラミングスクール・TechAcademy(テックアカデミー)講師である太田 和樹さんに解説してもらう。
今回のテーマは、「仕事につなげたいエンジニアなら、優先的に学ぶべき言語」(太田さん)という「JavaScript」の学習法だ。
プログラミングスクール テックアカデミー講師
太田 和樹さん
Web系アプリケーション開発のPM兼エンジニア(現役)。フロントエンド、モバイル、サーバーサイド、データ分析などに幅広い知見を持ち、経験を生かしてプログラミングスクール テックアカデミーの講師も務める。(※太田さんが講師をつとめるフロントエンドコースはこちら )
JavaScriptを一言で表すなら、ブラウザの中で動くアプリを作るためのプログラミング言語です。
一昔前のWebサイトに求められた機能は、せいぜいテキストと画像を表示するくらいのものでした。
それに対し、最近のWebサイトはブラウザ上でいろいろな動きをすることが多いです。
例えば、掲示板的な機能を備えたサイト(SNSなど)では、テキストや画像を「送信」したり、投稿を「表示」したりする必要がありますよね。
その他にも、簡単な画像編集ができる機能があったり、チャットボット(AIによる自動応答)を取り入れていたりと、最近のWebサイトにはかなりリッチな機能が求められるようになってきています。
JavaScriptが担うのは、こうした「ブラウザ上の動き」。Webサイトの構造を作るHTML、見た目やデザインを担うCSSとあわせて、かなり需要が高い言語です。
そんなJavaScriptを学ぶメリットは「食いっぱぐれにくい」ことでしょう。
Webサイトの案件は、JavaScriptとHTML/CSSのスキルを兼ね備えた「フロントエンドエンジニア」として募集がかかることが多いです。そして、フロントエンドの案件数は、いろいろなランキングで上位3つに入るほど豊富です。
しかも、市場価値も高い。
というのも、Java等の知識を持ったバックエンドエンジニアは、SIer等の研修を通してそれなりの数が育っていくからです。
ハイクラス層は別として、参入するエンジニアの数が多ければ多いほど単価は下がってしまいます。そのため、バックエンドエンジニアの単価はどうしても低く設定されていることが多いのです。
ではフロントエンドエンジニアはどうかというと、バックエンドよりは数が少ないため、おのずと単価も高くなる。
同じ努力をするのであれば、フロントエンドエンジニアを目指した方が「食いっぱぐれず・高単価を狙える」可能性が高いと言えるでしょう。
とはいえ、物事にはメリットとデメリットがあります。JavaScriptの難点は、何よりも「学習範囲が広い」こと。
JavaScript自体を覚えるのはもちろん、トレンドのフレームワークやHTML/CSSも併せて学ぶ必要があります。なおかつ、実務に生かすのであればネットワークやAPIの仕組みも理解しなくてはなりません。
しかも、技術の移り変わりも早い。バックエンドの言語が20〜30年ほど変化していないのに対し、現在主流となっているJavaScriptの規格(ES6)が整備されたのはなんと2015年のこと。
フレームワークの変化も目まぐるしいので、「一つの言語を落ち着いてきわめたい」と考える人には、少々騒がしく感じるかもしれません。一方で、「常に最先端でいたい」「トレンドを追いかけている感覚が好き」という人にはぴったりの言語と言えるでしょう。
まとめると、需要も単価も比較的高く、食いっぱぐれない代わりに、学習コストがかなり高い。それが、JavaScriptという言語の特徴です。
そんなJavaScriptを学ぶにあたって、注意したいポイントが一つあります。それは、「ネットで調べるときには、必ずバージョンを確かめること」です。
先ほども少し触れた通り、JavaScriptの言語仕様が安定したのは「ECMAScript 2015(ES6)」という規格からです。
ところが、検索ではこれ以前の情報がヒットしてしまうことも少なくありません。古い情報に惑わされないためにも、ネットの情報をつぎはぎで学ぶのではなく、体系的に学ぶことを強くおすすめします。
では、どのように学べばよいか。もちろん私が講師を務めているようなプログラミングスクールに通っていただくのも一つの選択肢ですが、JavaScriptの場合は『MDN Web docs』というWebサイトで独学することもできます。
このサイトは非公式ではあるものの、チュートリアルから参考文献まで非常に充実したコンテンツを提供している定番サイトです。MDNのチュートリアルを順番にクリアしていけば、JavaScriptの基本的な書き方はマスターできるでしょう。
チュートリアルの学習にかかる時間の目安は、初級編で1週間ほど。中・上級編になると1〜2カ月はかかる印象です。
ただ、上級編はかなり難易度が高いので、もしかすると独学では厳しいと感じるかもしれません。その場合は詳しい人(スクールなど)に助けを求めるなど、別の手段を考える必要があるでしょう。
ちなみに、JavaScriptを学ぶのであれば、各ブラウザの開発者モード(ディベロッパーツール)の使い方は覚えておきましょう。それぞれのコードがどの部分に、どのような動きをもたらしているのかを確認することができますよ。
きちんと体系的に学べる。一番おすすめ
プログラミング初学者向け
上記でJSの基礎を学んだ次に、フレームワーク(React)を学ぶ方におすすめ
JavaScriptは、「MDNで基本を覚えたら終わり」ではありません。むしろやっとスタートラインに立てた状態です。実務に生かすには、各種フレームワークを学ぶ必要があります。
よく使われるのは、ReactやVue.js。とくにMeta(旧Facebook)が中心となって開発・運営するReactは案件数も多いため、学習の優先度が高いです。
それから、HTML/CSSやネットワーク、APIの学習。このうちHTML/CSSに関しては、エンジニア経験者であればそこまで苦労しないかもしれません。
しかし、APIの「非同期処理」の考え方には苦戦する人が多いです。というのも、プログラムは通常書いた順に(上から)処理されていきますが、APIの場合はサーバとの通信が絡むため、制御が難しいのです。
トレンドの移り変わりの速さ、学習内容の多さ、慣れない「非同期処理」の考え方……。JavaScriptの学習コストは比較的高いと言わざるを得ません。
しかし、だからこそ、その壁に見合うだけのメリットがあるのも事実。「エンジニアとして高い収入を得たい」「フリーランスとして活躍したい」などの希望がある方は、まずはMDNのチュートリアルからチャレンジしてみてはいかがでしょうか。
文/夏野かおる
NEW!
NEW!
タグ