エンジニアという仕事
パフォーマンスエンジニアとは
パフォーマンスエンジニアとは、パフォーマンスエンジニアリングを担う仕事です。
パフォーマンスエンジニアリングは、Wikipeidaでは以下のように説明されています。
パフォーマンスエンジニアリングは、システム開発のライフサイクルの中で、パフォーマンスに対する非機能的な要件(スループット、レイテンシ、メモリ使用量など)を確実に満たすために適用される技術を網羅しています。
システム・エンジニアリングの中のシステム・パフォーマンス・エンジニアリング、ソフトウェア・エンジニアリングの中のソフトウェア・パフォーマンス・エンジニアリングまたはアプリケーション・パフォーマンス・エンジニアリングとも呼ばれることがあります。アプリケーションの成功とビジネスの成功との関連性が、特にモバイル分野で認識されるようになるにつれ、アプリケーション・パフォーマンス・エンジニアリングは、ソフトウェア開発のライフサイクルの中で、予防的かつ完全な役割を担うようになりました。
そのため、この用語は一般的に、非機能的な要件を効果的にテストし、サービスレベルを確実に遵守し、デプロイ前にアプリケーションのパフォーマンスを最適化するために必要なプロセス、人材、および技術を説明するために使用されています。パフォーマンスエンジニアリングという用語は、ソフトウェアとそれをサポートするインフラストラクチャだけでなく、それ以上のものを含んでいるため、パフォーマンスエンジニアリングという用語は、マクロな視点から見ることが望ましいです。
非機能要件への準拠は、本番システムを監視することで、デプロイ後にも検証されます。
これはITサービス管理の一部です(ITILも参照すること)。パフォーマンス・エンジニアリングは、多くの大企業において、システム・エンジニアリングとは別個の、しかし並行して行われているタスクを持つ別個の規律となっています。
これは、複数の組織単位からの人々が関与し、普及していますが、主に情報技術の組織内で行われています。
エンジニアとIEA
パフォーマンスエンジニアは、「エンジニア」という名称がついていますよね。
エンジニアとは、工学知識を用いて問題解決を担う人です。
日本のITエンジニアは、正確には「テクニシャン」(仕事に必要な特定の技術的なプロセスについて訓練を受けた人)とか「テクノロジスト」(特定の問題を解決するための特定の知識を用いる人)と呼ばれます。
これらの区分は、IEA(International Engineering Alliance、国際エンジニアリング連盟)という組織と国際協定の下に明確に定められています。
IEAは、エンジニアリングの教育と能力を世界的に向上させることを目的としています。
具体的には、基準、ベストプラクティスの認定プロセス、認定されたエンジニアリングプログラムの相互承認に関する教育協定、および専門的能力の定義と認識に関する協定の策定と実施です。
エンジニアは、ITだけじゃなくて、土木やプラント建設、製造業など、多岐に亘って存在しています。
エンジニアは国内だけではなく、国を跨いで海外の人と協力したり、国外でも働く事が多いです。
エンジニアとして仕事に就く人が、受けるべき教育や持っている知識が国によって違うと、仕事に支障が出ます。
ですから、1989年に、プロのエンジニアの教育基盤を提供するために設計された認定教育プログラムを署名国間で相互承認することを目的として、「ワシントン協定」が締結されました。
これがIEAの起源となっています。
日本もこの国際協定に批准しており、日本ではJABEE(日本技術者教育認定機構)が、大学や高専などのカリキュラムについて、それぞれの分野でのエンジニア教育のカリキュラムなどについて定めた国際協定の内容に適合しているかどうかを認定しています。
ITについては、ソウル協定というものがあり、ITエンジニアの学校教育について、JABEEで認定しています。
JABEE認定のコースで大学を卒業すると、文科省の資格である「技術士」の一次試験が免除されます。
それ以外にも、海外で働いたり、学んだりする際に、特典があります。
エンジニアと技術士
日本においては、「技術士」がエンジニアの公的資格となります。
経済産業省の「基本情報処理技術者」や「応用情報処理技術者」は、「テクニシャン」や「テクノロジスト」の領域をカバーする資格となります。
長々とエンジニアの定義などについて説明しましたが、その意図は、パフォーマンスエンジニアという仕事は、もちろん、今日使われているIT技術について精通しておいた方が良いのですが、もっと大きな視野で、問題を捉えて、パフォーマンスを最適化する仕事だという事を知って欲しいからです。