javascriptエンジニアの仕事内容と求人の状況

javascriptはプログラミング言語の中でも特に始めることが簡単な言語です。
特に実行環境を揃える必要はなく、インターネットのブラウザで直ぐに実行することができます。
いわばメモ帳とブラウザさえあれば今直ぐにでもjavascriptエンジニアになることはできるのです。

ただ身近な言語ではあるのですが扱いは非常に難しく、大規模になればなるほど開発は難航してしまうかもしれません。
言語の仕様が緩やか過ぎるためコーディングしていく内に原因の分からないエラーが発生することも珍しくないのです。
ただそういった状況への対処方法も生まれるようになりました。

まずは私達の身近なところで活躍するjavascriptの仕事内容についてみていきましょう。

javascript エンジニアの仕事

webサイトの表現を豊かにする言語

例えばサイトを閲覧するときに画像がスライドショーのように動いたり項目を選択することでページをスライド移動するという仕掛けがあります。
これらはjavascriptによる仕掛けであり、正にjavascriptエンジニアの仕事です。
他にもFlashで実装することもありますが、現在のトレンドとしてはjavascriptによる実装が主といえるでしょう。

webサイトはhtml言語というスクリプト言語によって構築されています。
また、そのデザインを定義するcssというファイルも必要となるかもしれません。
最低限の機能を有するwebサイトを構築するならhtmlの知識のみで作る事は可能です。

ただhtmlのみで構成されたwebサイトは見栄えに乏しいものとなるでしょう。
なぜなら動的なコンテンツを作る事ができず、画像を表示させたり動画を埋め込むぐらいしかできません。

ですがjavascriptを使えば画面の自動スクロールや画像のスライドショー並びに画像の位置を移動させるといった演出を行うことができます。
いわばwebサイトの装飾を飛躍的に豪華なものにすることができるのです。

この「webサイトをより魅力的にする」という仕事がjavascriptエンジニアのメインの領域となります。
インターネットが浸透した現在、Webサイトをより魅力的なものに作り上げるという事は企業にとっては非常に重要な要素といえるでしょう。
そのためjavascriptエンジニアは需要の高い職種ということができます。

フロントエンドとサーバサイド

javascriptはブラウザからクライアントの端末に読み込んで実行するというフロントエンドなプログラミング言語です。
いわばプログラムを実行するのはユーザーの端末であってサーバーではないということになります。
ただ近年ではjavascriptでサーバサイドなプログラミングを行う環境が揃うようになりました。

サーバーで使われるjavascriptの実行環境ないしライブラリとして躍進を続けているのが「node.js」というプラットフォームです。
node.jsはサーバーサイドでもjavascriptを使えるようにしようという目的から生まれ、現在ではコマンドラインからも扱えるようになった広範な実行環境ともいえるでしょう。
ともかくjavascriptは最早フロントエンドにみならずサーバサイドプログラミングにも使われるようになったのです。

ただサーバサイドなプログラミングというのは既存のjavascriptの用途とはまた異なる知識が必要となる点には留意が必要といえます。
もしjavascriptを使うとしてもサーバサイドプログラミングの仕事をする場合、これまでサイトの構築にのみjavascriptを使っていたエンジニアは苦労するかもしれません。

用途が広がったjavascriptなので、javascriptエンジニアに転職する際には自分がやりたい領域のものかどうかしっかりと事前にチェックしておきましょう。

高度な3D表現も可能

javascriptは年々進化を遂げるようになりましたが中でも最先端の分野の1つが3D表現です。
これはOpenGLという描画APIをブラウザでも利用できることになったため可能となった技術となります。
3D表現が可能になったことでサイトはますます豪華な演出ができるようになりました。

ただ前提として3D座標やOpenGLを扱う知識を要求されるため技術力が高くなければ容易に扱えるものではありません。
特に技術力を示すデモンストレーション的なサイトでこの技術が扱われているので、3D分野に興味がある方はそうしたサイトを閲覧してみて下さい。
参考：https://www.awwwards.com/websites/webgl/

javascriptを扱いやすくした言語も登場

利用シーンが増えるようになったjavascriptですが、冒頭で述べたようにその扱いは容易ではありません。
他のプログラミング言語とは異なり規約が緩く、デフォルトでは様々なミスが存在したとしても無理矢理実行してしまいます。
またブラウザに読み込んでしまえばエラーも表示されず望んだ実行結果にならないこともしばしばです。

こうした状況に対して開発環境も進化するようになり事前にエラーが分かるようになりましたが、言語仕様自体にいくつか問題を抱えているため扱いやすい言語とはいえませんでした。
そこで登場したのがjavascirptをより扱いやすくしたいわゆる「altJS（javascriptの代替）」という分野の言語たちなのです。

そうした言語の代表的な存在としては「TypeScript」と「CoffeeScript」を挙げることができます。
TypeScriptはマイクロソフトが開発を進めているプログラミング言語で、より堅牢なプログラミングを可能とする静的型付けを備えている形です。
またCoffeeScriptはよりjavascriptを簡易的に記述することができる言語となります。

実際の案件でもこうした言語が使われることがあるので、javascriptエンジニアはTypeScriptやCoffeeScriptについても習熟することを求められるかもしれません。

逆にJavaエンジニアなど静的型付けを実装した言語に慣れている方はTypeScriptから始めてみると楽なはずです。
いずれにしてもjavascriptエンジニアを目指すとき、TypeScriptやCoffeeScriptに触れておくことは損にはならないでしょう。

なおjavascriptの仕様も年々扱いやすいように進化を遂げている状況なので、そちらもチェックしておく必要があります。

javascript エンジニアの求人

ここまでjavascriptの仕事内容についてみてきましたが、実際の求人情報ではどのようなものが募集されているのかみていきましょう。

webサイト構築がメイン

javascriptエンジニアの求人は基本的にwebサイトの構築が多い状況です。
先述したように魅力的なwebサイトを求める企業は多く、javascriptによる豪華な演出が求められているといえるでしょう。
企業から事務所が依頼を受け、サイト構築作業をする上で割り振られたjavascript部分を実装するといった形で仕事をしていくことになります。

また自社開発のソフトウェアやアプリ、webサービスを開発するという求人も見つけられるでしょう。
こうした求人は客先に常駐する必要がないため精神的に楽に仕事をすすめることができるかもしれません。
ですが自社開発の製品に対する理解を深める必要があるため、領分は狭くなる可能性があります。

それからゲーム開発の仕事も見つかるかもしれません。
javascriptはパソコン上のみならずスマートフォン上でも実行可能なので、ある程度OSの垣根を越えてサービスを提供できるのです。
近年ではブラウザの性能やスマートフォンの処理能力が向上したことにより、ネイティブなアプリと引けをとらないほどスムーズに動作するjavascript製のゲームも増えてきました。

TypeScriptやCoffeeScriptの技術はjavascriptエンジニアの付加スキルとして考えられているため、専業の案件は少ない状況です。
考え方としては「javascriptの案件でTypeScriptを使うことがある」程度として考えておいた方が良いかもしれません。
防臭の際には案件に「TypeScript／javascript」などと表記されたりします。

開発環境が多彩

いざ求人に応募しようとするときに気をつけたいのが開発環境です。
javascriptを扱えるからといってエンジニアとして直ぐに働けるわけではなく、無数に存在する開発環境についても知らなければいけません。
実際の現場では色んなツールやフレームワークを組み合わせて使っていたりするのです。

例えば「フレームワーク：AngularJS、Crossbar／WAMP」と表記されたりするのですが、これらは通常javascriptを学習するだけでは遭遇しないキーワードといえます。
他にも「MongoDB、PostgreSQL、Elasticsearch、Nginx、Fluentd」といった文字列が並ぶ案件も存在している状況です。
折角javascriptエンジニアになろうとしてもこうした開発環境の多彩さに気圧されてしまうかもしれません。

ただ簡易的に「TypeScript、CoffeeScript」や「javascript・TypeScript・CoffeeScript」というように記述されている案件もあるので、開発環境が良く分からないというときにはこうしたところへ応募すると良いでしょう。
求人募集の際に見たことのない開発環境が出てきても焦らずに調べたり他の案件を探すと良いかもしれません。

javascript エンジニアの年収

プログラミングに限らず仕事をする限り気になるのがその年収です。
公的な統計としては言語別の年収額は公表されていませんが、民間の求人サイト「スタンバイ」が2016年度と2017年度の年収額を公開しているのでそれを参考にしてみましょう。

プログラマー年収ランキング2016

プログラマー年収ランキング2016！言語別、第1位はPythonの651万円

これによるとjavascriptエンジニアの平均年収は第5位の「555万円」となっています。
案件数も豊富で18,298件と他の言語と比較しても多いといえる状況です。
2016年の時点では以上のような形ですが、次に2017年のデータについてみていきましょう。

プログラマー年収ランキング2017

プログラマー年収ランキング2017！言語別、第1位はScalaの626万円

これによるとjavascriptエンジニアの平均年収は第9位の「536万円」となっています。
今回のデータでは案件数が公開されていませんが、検索結果からみると未だ豊富な案件数といえる形です。

これらのデータだけで考えるとjavascriptエンジニアの年収は下がっているようにみえますが、次に別のランキングを参照してみましょう。
こちらは複数の求人サイトから統計を出している人材業界のニュースサイト「フロッグ」による2014年から2016年までのデータです。

プログラミング言語別！求人給与額ランキング（2014）
http://hrog.net/2014102910652.html

javascriptは第5位の約349万円となっており、案件数は1,214件とやはり他の言語と比較しても豊富です。
なお先述したスタンバイとはサンプル数が大幅に異なり、かつ給与額も低めという結果には注意しておきましょう。
また千円以下の給与は四捨五入して引用しました。
では翌年のデータもみていきます。

プログラミング言語別給与ランキング2015年版
http://hrog.net/2015102624991.html

javascriptは第7位の約366万円となりました。案件数は1,756件と前年よりも多くなっています。
順位は下がりましたが年収額は増加しているようです。
最後は2016年版のランキングとなります。

中間発表版2016年版プログラミング言語別給与ランキング
http://hrog.net/2016103141896.html

javascriptは第5位の約383万4,622円で、案件数は1,349件です。
年収額も順位も上がりましたが、昨年よりも案件数は少なくなっています。

これらのデータを見る限り、javascriptは安定して需要のあるプログラミング言語といえるでしょう。
そのため急激に年収額が落ちる可能性は低く、また案件数が劇的に減少するということはまず考えられません。
javascriptは根強く生き残ってきた言語でもあるため、革新的な技術が登場し早急に取って代わるということもないでしょう。

またサーバサイドでも利用されるようになってきたためこれからはますます利用されるシーンが広がるはずです。
もし本格的にサーバで利用されればそれまで既存の言語が担当してきた領域に食い込むことになるため、担当する案件の数も自然と増えていくでしょう。

また他の言語と比較したときの年収額からみてもjavascriptエンジニアは安定した収入を得られるエンジニアといえます。
これからも進化をし続けていくjavascriptと、それを扱うことができるjavascriptエンジニアの需要は高いのです。