どうも、くーへいです。
ウェブ業界というものができて10数年が経ちましたが、技術の進化はもちろん、職種の変化も多くありました。
この記事では、くーへいが名乗る「フロントエンドエンジニア」を中心として、ウェブ業界の職種についてまとめてみたいと思います。
※あくまでくーへいの考えるものです。
「コーダー」とは?
「コーダー」という職種は、ウェブ業界の初期からあるものだと思います。
「コーダー」という呼び方のほかに、「HTMLコーダー」、「マークアップエンジニア」と言ったりもしますね。
語源としては「コーディング」する人を「コーダー」と呼ぶことから来ていると思われます。
プログラムを書くことも「コーディング」と言いますので、「プログラマー」を「コーダー」と呼ぶ場合もありますが、最近では「コーダー」と言えばHTMLコーディングする人を指すことが多い気がします。
厳密にいえば、「コーダー」と「マークアップエンジニア」は違うという人もいますが、最近の求人を見るかぎり、あまり差が見られません。
むしろ「コーダー」と呼ぶことが少なくなっている印象も受けます。
この記事では、「マークアップエンジニア」も「コーダー」と同じと考えて話を進めていきます。
「コーダー」は何をする人なのか
私の考える「コーダー」は、以下の技術を扱う人です。
- HTML
- CSS
「デザイナー」が作成したデザインを、ウェブサイトとして公開できるように「HTML化」することを主たる業務としています。
数年前までは、担当する業務が少ないという印象を持たれがちで、古いブログなどでは「デザイナー」と「コーダー」の対立が話題に上がっているのが見られます。
しかし、最近では、複数ブラウザへの対応(クロスブラウザ)や検索エンジンへの最適化(SEO)の重要度が格段に上昇しており、「コーダー」という職種の意味が再認識されつつあるのではないかと思います。
「コーダー」のキャリアアップ
- 「フロントエンドエンジニア」
- 「デザイナー」への転身、もしくは兼務
上記2パターンが多いでしょうか。
やっぱりデザインが好きだった人は「コーディング」のわかる「デザイナー」に。
「コーディング」が好きで、さらなる知識向上を目指す人は「フロントエンドエンジニア」に。
「フロントエンドエンジニア」とは?
そもそも「フロントエンド」とは、「ユーザー」が見ている画面を指すことが多いです。
ウェブ業界では「ユーザー」は2種類あって、「ウェブサイトを閲覧している人」、「ウェブサイトを所有している人」、双方が「ユーザー」と言えます。
「ウェブサイトを閲覧している人」は直感的に理解できると思いますが、「ウェブサイトを所有している人」とはどのような人でしょうか。
例えば、企業であれば、その企業を紹介するコーポレートサイトを持つことが多いですよね。しかし、その企業がITに強くない限り、ウェブサイトの知識は少ないでしょう。それでもウェブサイトは更新していく必要があります。
そういった場合、CMS(ウェブサイトの更新システム)を導入し、知識がない人でもウェブサイトの更新ができるようにするのが一般的です。(WordPressがその代表でしょうか。)
その更新システムを使用する人も、「ユーザー」に含まれると私は考えています。
「フロントエンドエンジニア」はその2種類の「ユーザー」に対応するべく生まれた職種です。
「フロントエンドエンジニア」は何をする人なのか
私の考える「フロントエンドエンジニア」は、以下の技術を扱う人です。
- HTML
- CSS
- JavaScript(簡単な動きを実装できる程度)
- jQuery(プラグインの設置や設定ができる程度)
- CMSテンプレートのカスタマイズ(PHPなどの知識)
「コーディング」はもちろんの事、動きや更新作業にかかわる部分も担当します。
「フロントエンドエンジニア」のキャリアアップ
- 「バックエンドエンジニア」(プログラムの方面を突き詰める)
- 「デザイナー」への転身、もしくは兼務(やっぱり、結局デザインが好きだった人)
まとめ
ウェブ業界は他の業界と異なり、扱う技術や業務が幅広く、人によっては複数の職種を横断的に兼務する人もいます。
また、進化や求められるものの変化も大変早く、いまだに数年後にどうなっているかが読めない状態が続いています。
今からウェブ業界に入りたい人も、今ウェブ業界で働いている人も、「どういう職種になりたいか」ではなく、「どういう仕事をしたいか」をしっかり考えた方がいいでしょう。
例えば、僕(くーへい)の場合は「フロントエンド」、「バックエンド」、「インフラ」のすべてを把握し、様々なウェブサイトやウェブサービスを構築することです。
おまけ
その他の職種についても簡単にまとめてみました。
個人的な覚書です。
バックエンドエンジニア
「フロントエンドエンジニア」とは反対に、「ユーザー」に見えない部分を開発します。
単に「エンジニア」という場合もあります。
扱う技術
- PHP、Perl、Ruby
- MySQL、PostgreSQLをはじめとしたRDBMS(関係データベース管理システム、要はデータベース)
- Node.js
インフラエンジニア
主としてサーバーを管理・構築します。
一般的なウェブサイトはレンタルサーバーで事足りる場合が多いですが、訪問者数が多いウェブサイトや独自のウェブサービスを公開する際は、それぞれの必要な環境にサーバーを構築する必要があります。
また、サーバーの管理には負荷やセキュリティなど深い知識が必要になるため、専門の職種が存在します。