求人をみるとWEBエンジニアという言葉をよく聞くようになってきました。
かくいう私もWEBエンジニアです。
WEBエンジニアはIT分野の中でいったいどのような役割を果たしているのでしょうか。
そもそもWEBエンジニアはなにする人?
WEBエンジニアはWEBに特化したシステムやサービスを作る人で、
WEB=インターネット=ブラウザ
と考えてもらうと分かりやすいかと思います。
一番身近なものはWEBサイトですね。
WEBサイトの中でもコーポレートサイトやECサイト、ブラウザゲームなど種類はたくさんあります。動きがあるサイトを作ることが多いです。
またWEBはプロジェクトの開始から完成までが短いという特徴があります。
小規模なものが多くありますが、エンジニアに求められるスキルは広く深い知識が必要となります。
WEBエンジニアに必要なスキルは2点
・WEBに特化したプログラムを作成する能力
・プログラムを実行する周辺環境の技術
この2点がWEBエンジニアには必要です。
プログラムを作成する能力
WEBで使われるプログラム言語は役割によりおおきくちがいます。
ブラウザ上で動く言語:HTML/CSS、javascript
サーバー側で動く言語:PHP、Ruby、Perl、Python
データベース言語:SQL
上のような様々な言語を使い、ショッピングサイトを実現したり、Wikiサイトを構築したりするのがWEBエンジニアの仕事です。
たとえばWordrpessは、PHP言語やデータベース言語を知らなくてもブログを書いたり企業サイトを作成することができるツールですね。
このWordpressはCMSのひとつで、PHPで作られており、データベースにはMySQLを使います。
WEBエンジニアはユーザーの使いやすいようにカスタマイズしたり、動きをつけたり、構築していきます。
また、PHP、Rubyなどのプログラム言語を使ってSQLでデータベースからデータを取り出し、HTML/CSSを動的に書き出してブラウザに表示させることができるようにプログラムを組んでいくのもWEBエンジニアの役割です。
WEBエンジニアに求められるプログラム言語はひとつではなく、複数の知識が必要なのがわかります。
プログラム実行のための周辺知識
WEBサイトを作成する時は常にユーザーのことを考えなくはいけません。
例えばユーザーがサイトを見る時に、パソコンから見る場合とスマートフォンからみる場合で、サイトの見え方は全然ちがいますよね。字の大きさなど見えやすいように表示されているはずです。
ブラウザもChromeで見てもSafariで見てもきちんと表示されてなくはいけませんね。
HTML/CSSを扱う場合、ブラウザにより表示が崩れてしまい、プログラムの通り動いてくれない時があります。
Chromeでは正常に表示されるけど、IEでは表示がおかしいということが起こります。
またどのデバイスから見てもきちんと表示されるようにサイトを設計しなくてはいけません。具体的にいうとアダブティブデザインにするのか、レスポンシブデザインにするのか、どちらのデザインにするかによって作り方が全然ちがってきます。
このようにブラウザ毎の知識を身につけておく必要があります。
あと作ったコードをサーバに置かないと表示されないので、サーバの知識も必須です。
プログラム言語を理解しているだけでは身に付かない知識や経験が必要なのがわかりますね。
WEBエンジニアの現状
WEBを取り巻く業界の方向性は、小規模スタートから機能追加・保守修正を行いながら製品としてのクオリティを高めていくタイプの業務が多くなっています。
最終的に目指すべきゴールは大規模サイトと同じなのですが、リリースしてからPDCAサイクルを回しながらゴールを目指すため、プロジェクトの規模が小さくなっていますね。
反面、プロジェクトに参加するためのスキルは高いものが求められ、短期間での機能実装が必要となるケースがみうけられます。
簡単な保守修正なら作業を行うのは自分ひとりだけということもあるので、しっかりとした技術がないと困ってしまいますね。
WEBエンジニアになるのは難しいの?・まとめ
概念を知っているということと、プログラムを組めるということは全くの別物です。
知識があるだけは作ることができません。
日々制作にかかわりプログラムを書き続ける経験がスキルとなります。
だからこそ実践が大切です。制作物を作ることで経験が得られることが大事なのです。