エンジニアとは
タケシだ
今日は、エンジニアについて話していこうと思う。
エンジニアの種類
エンジニアと一口に言っても、その実態は、さまざまである。
厳密な切り分けは定義されておらず、日に日に曖昧になっている世の中ではあるが、大きく4つに分けることができると考えている。
- フロントエンドエンジニア
- バックエンドエンジニア
- インフラエンジニア
- アプリエンジニア
ここからは、それぞれについて話していこうと思おう。
フロントエンドエンジニア
フロントエンドエンジニアとは、主に、WEBブラウザ上で見える部分を作るエンジニアである。
WEBデザイナーが作成したデザインを実際のページに表示できるようにコードに落とし込んだり、ページをスクロールした際に、コンテンツが横から飛び込んできたりなどの動きをつけたりのようなものを作成している。
必要なスキルとしては、HTML、CSS、JavaScriptといったものが挙げられる。
HTMLで要素を作成し、CSSで見た目をカスタマイズし、JavaScriptでサイトに動きをつけるといったのが主な仕事である。
バックエンドエンジニア
バックエンドエンジニアとは、フロントエンドエンジニアとは異なり、WEBサイト上では見えない部分を作るエンジニアである。
バックエンドエンジニアは、データベースの設計・作成や、システムの構築といったみんなが想像しているいわゆるエンジニアに近いものなのではないかと思う。
世間一般でいうプログラミングとは、このバックエンドエンジニアの扱う部類のものが多いのではないかと思う。
必要なスキルとしては、WEBサイトだと、昔からPHPが人気であり、こちらで作られているものが多いが、中には、JavaやPythonで作られているものもあったりと、いろいろなものがある。
インフラエンジニア
インフラエンジニアとは、サーバやネットワークの管理といった前述の2つよりも、大きなレイヤーを取り扱っている。
サーバ・ネットワーク共に設計・実装・運用保守といったところまで、業務の幅は広いものになっている。
また、インフラエンジニアと一口にいっても多様な種類があり、上述のサーバエンジニアやネットワークエンジニアだけでなく、セキュリティエンジニアやクラウドエンジニアといった分類がある。
セキュリティエンジニアは、名前の通り、情報セキュリティに特化したエンジニアであり、サイバー攻撃などへの対策を行うエンジニアである。
クラウドエンジニアは、近年クラウドでの開発が進んでいることにより注目を浴びることになってきており、クラウドサービスでのセキュリティ対策から設計・製作・運用まで幅広く手掛けている。
アプリエンジニア
アプリエンジニアと言っても実態は大きく2つに分かれる。
iOSエンジニアとAndroidエンジニアだ。
みんながよく使うようなスマホアプリの設計・開発がここに当たる。
どちらのエンジニアも、必要なスキルとしては、上述の3つのエンジニアに必要なスキルが求められる上に、それとは別に特定のプログラミング言語への深い理解が求められる。
iOSエンジニアは「Swift」、Androidエンジニアは「Kotlin」がApple,Googleからそれぞれ公式で推奨されている。
まとめ
エンジニアと言っても、中にはいろいろな種類があることがわかっていただけただろうか。
現在俺がやっているのは、コーディングである。
スキルを磨いて、もっと難しいことができるようになって、ゆくゆくはアプリ開発まで手を広げたいと考えている。
これからエンジニアを目指そうといった人は、自分がどうなりたいかを考えて、ロードマップを引いてほしい。