平凡な人間であるわたしがWebの仕事をはじめて10数年経ちました。これくらいの経験していても特に他の人に勝る何かがあるわけではありません。
そんな自分でもWebエンジニアとして仕事を続けられています。そんな自分がWeb業界を目指している人たちに業界のことを伝えていきたいと思います。
エンジニアの仕事範囲
わたしはエンジニアの中でもWebエンジニアという職種についています。Webエンジニアという職種は簡単にいうとWebシステムを構築する人です。
Webシステムというのは、インターネットを使い動作するシステムのことですが、Amazonや楽天などのショッピングサイトをイメージしてもらうとわかりやすいと思います。
Webエンジニアという職種は、Web屋さんとか言われたりしますね。Webシステムを構築するためにWebエンジニアが使うプログラム言語はJava、PHP、JavaScriptあたりがメインになってきます。
サーバーサイドエンジニア
主にJava、PHPはサーバーサイドエンジニアが担当します。サーバーサイドなのでデータベースからデータを取ってきたり、更新したり削除したりといったプログラムを書きます。
プロジェクトによってはデータベースの構築をしたりもするため、サーバーの知識も必要だったりします。サーバーを構築するためにはLinuxの知識が必要だったりします。
フロントエンドエンジニア
JavaScriptはフロントエンドエンジニアが担当しますがプロジェクトがそれほど大きくない場合は、1人でサーバーサイドとフロンドエンドを担当します。
Webエンジニアは主にサーバーサイドの知識が必要なため、サーバーサイドを勉強してきたエンジニアが多いように感じます。そのような理由からか、フロントエンドのプログラムが苦手にしている人が多いように感じます。
ではフロントエンドエンジニアはJavaScriptのみ理解していると良いのかというと、そうではなくHTML、CSSといった知識も必要になります。HTMLはWebページを表示させるためのマークアップ言語になります。
CSSはそのHTMLの体裁を整えるために使われます。
どのようにWebエンジニアになったのか
わたしはWebエンジニアになる前、違う業界にいました。何度か転職をして違う業界にいってみたのですが、続けていきたいと思える仕事に出会うことができませんでした。
ある時どうしてもWebの仕事をしたくて独学でデザインやプログラムの勉強をして、その努力が認められ何とかIT業界に入ることができました。
Webの業界に入るためには、学校に通い技術を身に着ける方法もありますが、わたしのように独学でいろいろと作って、このような物を作りましたというのをアピールして就職するという方法があります。
独学でWebの業界に入るためには、作ったものをアピールするわけですが、最低でもHTML、CSSの知識とPHPくらいは理解しておくと良いです。
実際の技術は会社に入ってから学ぶことが多いです。独学で勉強した技術はほとんど役に立たないくらいなので、早く会社に入り基本的な技術を学んだ方が良いです。
Webの業界に入り、十数年になりますが、今でも新しい技術を学んだりすると楽しくてやりがいを感じます。
Webエンジニアの仕事内容
最初のIT企業に入社して
最初にわたしが入った会社は本当に小さい会社で社長と2人でした。社長の横でデザインを作ってHTML,CSSを使ってコーディングしPHP、Java、JavaScriptを使い実装していました。
今思えば、このような環境で4〜5年開発という仕事をしてきたため、デザインからプログラムまで書けるようになったんだと思っています。
現在の業務内容は
それから数年経った現在はデザインの業務は行なっておらず、完全にエンジニアとしての業務しかしてません。
業界ではグレーと言われているSESという業務形態で働いています。開発の人材が足りないプロジェクトに入り、決まった期間開発したら、また次のプロジェクトに行くといった感じです。
一つのプロジェクトは数ヶ月のものから数年かかるのもあります。
大規模なシステムはJavaを使うことが多いです。Javaは昔から使われているプログラム言語でオブジェクト指向といわれる考え方で開発を行なっていきます。またJavaは型付き言語のためプログラム言語の基本的な書き方を学べる言語となっているので、ぜひJavaを学んでください。
PHPも人気のプログラム言語ですが、PHPしかできないプログラマは先程述べた「型」についての理解が難しい人が多いです。最初にPHPから始めるのは全然ありだと思います。
大規模なプロジェクトになると数百人のエンジニアと一緒に開発をしていくため担当も細かく分かれていることが多いです。
小さめのプロジェクトの場合は、1人でカバーする部分が多くなります。サーバーの構築から、設計業務、サーバーサイド、フロントサイドのプログラミング、さらにはSQLの知識やHTML、CSSの知識などなど。
現在は某証券会社で数百人規模のシステム開発に携わっています。言語はJavaですね。
Webデザインをしなくなった理由
最初の会社ではWebデザインの業務も行なっていたのですが、転職後はWebデザインの業務はほとんど行なっていません。大きめのプロジェクトに入ることが多いためWebデザイナーという専門の職種がいるということ。
さらに、Webデザイナーよりエンジニアの方が給与が高めであること。またプログラムを書く方が自分は楽しかったという理由があります。
もちろん、能力があるデザイナーは全然エンジニアより高収入です。わたしは平凡なエンジニアで平凡なデザイナーだったため天秤にかけるとエンジニアの方が給与が高くなるということです。
デザインという仕事はお客さんによって、好みが異なるため難しいです。簡単に言うと答えに正解がないような感じです。
プログラムに関しては、どのように作るかは何通りか方法があるかもしれませんが、動作するという目的(ゴール)は一つです。
Webエンジニアの収入
わたしのようにSESという業務形態の場合、お客様と契約するのですが、プロジェクトにもよりますが、経験などで単価がかわります。
未経験で業界に入った場合は1年目の単価は40万くらいなので、そこから会社が必要な経費や利益を引いて給与が支払われるため、収入としては20万〜25万/月くらいが相場になります。
経験が3年以内くらい場合は単価が45万〜55万くらいです。そうすると収入も25万〜35万/月くらいになります。
経験が5年以上になると単価も60万〜80万くらいになります。そこから会社に引かれ収入として35万〜45万くらいが相場になります。
現在のわたしの経験は10年以上のため単価は80万〜100万あたりの仕事をしています。収入としては45万〜60万/月くらいになります。
もちろん単価が100万を超えてくる場合もあります。
上流工程と言われる「設計業務」。このような業務をする場合は単価が高くなりやすいです。その他、プロジェクトマネージャーなどは150万とか普通ですね。
それでもエンジニアの収入という面では、他の業界と比べて高くはないですし、他の国のエンジニアと比べても低いです。
Webエンジニアの残業
残業に関しては、わたしのようにSESという業務形態の場合を例に話します。
少し前まではブラックとか言われた業界でしたが、現在は残業に関して厳しいプロジェクトが多いです。180時間〜200時間/月までとか上限が決められている場合が多いです。
特に大手企業のプロジェクトの場合は、残業する場合も許可が必要だったり手続きが面倒になっているためできることなら残業はしたくないです。
逆に小規模で納期の短いプロジェクトは残業が多いです。3人で3ヶ月で完成させたいなどといったプロジェクトの場合はスピードが早いため稼働時間も多くなります。
ですが、業界全体としては昔に比べて稼働がものすごく高いという現場も少なくなっていると感じます。
わたしも昔は2日連続で徹夜をしたり、1ヶ月で休みが1日しかなかったりという経験をしたことがありますが、最近はそのような現場の場合、会社がそのプロジェクトから外すような動きにでます。
エンジニアの待遇はかなり良くなってきたと感じることが多いです。
Webエンジニアは人手不足
どの業界にも言えることかもしれませんが、IT業界も人手不足と言われています。最近はAIの需要が高まり、特にAIの技術を持ったエンジニアが不足しているということですね。
IT業界で使う技術の進化は早いです。数年前に使っていた技術がすぐに使われなくなり、新しい技術がどんどん出てきます。
Web業界は特に早いため、最新の技術をどんどん吸収して使えるようになる必要があります。エンジニアの中には勉強が好きではない人もいます。そのような人たちはWeb業界はやめた方がいいと思います。
新しい技術を使ってみたいとか、興味を感じることができない場合はWebの仕事を続けるのが苦痛になると思います。
Webエンジニアという職業のまとめ
Web業界全体としては、人手不足ですが使う技術も多く勉強もし続ける必要があり楽な職業ではありません。そのわりには収入も高くないと言えます。
それでもわたしのように十数年経ってもWebの仕事が好きで新しい技術を試したいとか、興味があり続ける人は生き残っていけると思っています。
このブログのタイトルにもあるように、わたしは平凡なエンジニアです。他の人より能力が高いとか、知識が多いということもないただのその辺のエンジニアですが、それでも現場では重宝されることもあります。
わたしの場合は、メインはバックエンドのエンジニアですが、もともとWebデザインやHTMLコーディングもしていたためフロントエンドエンジニアとして呼ばれることも増えてきました。
Webシステムを構築する上で幅広くいろんなことができる人は、企業としても使いやすいですよね。
そんな感じで今回は平凡なエンジニアの職業についてのお話でした。