エンジニアと開発者(ディベロッパー)の違い – カナダでPCソフト・モバイルアプリ・ウェブアプリ開発

最近、日本でIT関係のエンジニア(Engineer)をしていましたと言う人の声をよく聴きます。ですが、そういう方がカナダに来て、同じ業務で働いていると、デベロッパー(Developer、開発者)という肩書きになっていたことがよくあります。
では、エンジニアと開発者との間にはどんなちがいがあるのか?単に名前だけのなのか?
ここでは、IT関連のなかでも、モバイル・ウェブアプリケーション関わり有りがある分野の、ソフトウェアエンジニア、ソフトウェア開発者について、解説していきます。(ソフトウェアは、モバイルアプリ、ウェブアプリも含みます)
実は、仕事でエンジニアの肩書きを持つのと、ディベロッパーの肩書きを持つのでは大きな違いがあるのです。
ほんと『超えられない壁的な存在』です。
ソフトウェアエンジニアとは?

まず、工学的な概念を用いてソフトウェアを開発してくソフトウェア工学(エンジニアリング)があります。
ソフトウェアエンジニアは、依頼人の要望を適用可能な技術的解決方法とつなげることで、ソフトウェア開発の関わってきます。そのため、特定の機能を提供するための工程をシステム的に開発していきます。
ですが、これだけじゃありません。法律的な要件もあります。
弊社があるBC州ではソフトウェアエンジニアと名乗るには、以下の要件を満たす必要があります。
エンジニアの条件
エンジニア必須条件
- 以下の学歴証明が必要
- 応用科学、工学、地球科学、科学、または技術の4年間のフルタイムの学士課程を卒業
- もしくはそれに相当する試験を合格
- それに相応する知識とスキルを要すると認められること
- 最低1年間カナダで、最低4年間の満足のいくエンジニアリング業務経験がある。
ソフトウェアエンジニアのための追加条件
前述の条件にさらに下記の条件が必要となります。
- 専門の学位もしくは学歴がある
- カナダ工学認定委員会(Canadian Engineering Accreditation Board)によって認定されたソフトウェアまたはコンピュータ工学プログラムの学位
- 実質的に同等であると認められたカナダ国外のソフトウェアまたはコンピュータプログラムの学位。
- コンピュータ工学またはソフトウェア工学のシラバスの要件を満たす同等の教育を組み合わせたものを習得している
- コンピテンシーアセスメントを修了し、要求されたコンピテンシーに沿った経験を有する
これらの条件を満たし、さらにEnginieers And Geoscientstis BCというBC州の協会から、認可もしくは会員に加入しないといけません。
そうなんです。エンジニアという肩書きは、資格がないと名乗れないのです。
もし、そういう資格も無し・認可無しに『エンジニア』を名乗ったりしますと、BC州の法律によって、Engineers and Geoscientists BCから訴えられます。最大 25,000 ドルの損害賠償金を同協会に支払わなければなりません。
オンタリオ州も同様の法律を定めています。
ソフトウェアエンジニアのスキルと仕事の内容
ソフトウェアエンジニアとは、複雑なシステムを管理ができる、すごく能力の高いソフトウェア開発者のことをさします。完全に機能するアプリを構築できるだけでなく、リファクタリングがしやすく、自己文書化がしやすく、結果的にデバッグがしやすい方法で構築する方法を知っている経験豊富な人です。
様々なプロジェクトのリーダー、コンサルタント、個人の貢献者として活躍していくでしょう。依頼人と会社の戦略的な目標のために、新しいIT特別機能を実装する際に、分析的なアドバイスを提供しなければなりません。リソースを管理し、開発タスクを調整し、技術的なプロジェクト計画を監督することも必要スキルとなるでしょう。ソフトウェア開発のライフサイクルを通して、IT、オペレーション、開発スタッフとの共同作業が頻繁に行われます。
ソフトウェア開発者とは

一方、ソフトウェア開発者は、エンジニアと違って、前述な法律的な用件はまったくありません。プログラミング言語を扱えて、ソフトウェア開発に携わっていれば、開発者です。ほぼプログラマーです。
ソフトウェア開発者は、しばしばコンピュータ会社やメーカーで働きます。主な役割は、コンピュータプログラマーが動作する上で動作するシステムのための基盤を作成することです。設計、書き込み、および効率性を確保するために、新しいシステムやソフトウェアのためのテストコードを作成したりします。ソフトウェア開発者はまた、有効性を証明するためにそれらを起動する前に、既存のプロジェクトの診断プログラムと品質保証テストも行います。
ソフトウェア開発者は、新しいシステムの作成と設計に関連するすべてのプロセスに関与しています。
初期計画からパラメータの確立、設計、書き込み、コーディング、暗号化、テストまで。このプロセスは通常、ソフトウェア開発者のチームによって行われ、各メンバーがプロセスの特定のステップを実行し、スーパーバイザーがプロジェクト全体を監督します。
ソフトウェア開発者の仕事は、データベース管理者の仕事と重複することもあります。多くのシステムは、データ管理システムと何らかの形で相互作用しなければならないので、両方のシステムが互換性を持っていることを確認するのは、ソフトウェア開発者の責任です。ソフトウェア開発者の中には、データ管理システムやソフトウェアに関する十分な知識を持っていれば、自分でこれを行うことができる人もいます。
ソフトウェア開発者は、多くの場合、いくつかのプログラミング言語を使用し、彼らの仕事は非常に複雑であり、それはコンピュータ科学と数学の高度な知識が含まれます。彼らのフィールドは常に進化しており、新しい技術や進歩は毎日行われているので、彼らは学習と自己改善の一定の状態でなければなりません。
役割
- コンピュータプログラマー
- ソフトウェアコードの記述、修正、統合、テスト
- 必要に応じて修正を加え、既存のコンピュータプログラムのメンテナンス
- 技術的な問題、プロセス、および解決策を特定し、伝達する
- ソフトウェアの状態、運用、保守に関する報告書、マニュアル等の作成
- ユーザー要件の収集と文書化をアシスト
- 論理的・物理的仕様の開発をアシスト
- コンピュータプログラマーのチームを指揮し、調整することができる
- 様々なソフトウェア製品を調査し、評価することができる。
- インタラクティブメディアの開発者
- インタラクティブなビデオゲーム、インターネット、モバイルアプリケーションのための事前に定義された仕様に合わせてアニメーションソフトウェアをプログラミング
- 映画やビデオアプリケーション用の特殊効果ソフトウェアをプログラムする
- 電子商取引、インターネット、モバイルアプリケーションのためのソフトウェアコードの記述、修正、統合、テスト
- ユーザー要件の収集と文書化をアシスト
- 論理的・物理的仕様の開発をアシスト
- インタラクティブメディア開発者のチームをリードし、調整する
- 様々なインタラクティブメディアソフトウェア製品を調査し、評価する
まとめ

色々な英語の記事をいくつかピックアップし、DeepLを多用して、エンジニアと開発者の違いをまとめ上げてみました。
述べているとおり、同じソフトウェアを開発にあたり、エンジニアと開発者の間には大きく別れています。カナダ国内では、法律的な面も大きな要因があります。
なぜ多くの日本のソフトウェア、コンピューターエンジニアがカナダで開発者となっているか、ざっくりと言いますと、その人達は、カナダでは『エンジニア』と名乗れない可能性が高いからです。エンジニアというタイトルを得るには、かなりの高度の学歴とスキル、経験を要します。それだけ、エンジニアという地位がカナダでは、弁護士、会計士なみに守られているという証です。
また、法律的な解釈さておき、広義にかんしては、オンライン学習講座を提供している教育プラットフォーム『Udacity』ではこう述べられています。
“ソフトウェア開発者とソフトウェアエンジニアという用語は、一般的に信じられていることとは逆に、交換可能なものではありません。開発者は、コードを書く方法を知っていて、意味のある製品を構築するために必要な技術的なスキルを持っているかもしれません。ソフトウェアエンジニアは、要件を理解し、利害関係者と協力し、彼らのニーズを満たすソリューションを開発するという体系的なプロセスに従います。開発者は一人で仕事をする傾向があります。ソフトウェアエンジニアは、より大きなチームの一員である”
Software ‘Developer’ or ‘Engineer’: What’s the Difference? – ShecanCode
私的な解釈では、エンジニアは、システム・プログラム言語の深い所を追求して、学術的な面、まるでプログラミング言語を作り直してソフトウェア開発に携わっていく、開発者は既存のシステム/プログラム言語を専門知識を創造的に利用して、ソフトウェア開発に携わっていいく、感じでしょうか?
両者ともカナダでは非常に求められている人材の1つであり、移民の近道ともなる職種です。
カナダでソフトウェアエンジニアを1から目指すのであれば、学校4年、実務経験4年、計8年くらいの期間を考慮しないと行けませんが、ソフトウェア開発者のほうは学校の期間も1年から2年と短く、早い段階で職に就ける可能性が高いです。
どちらにしろ、両方とも高度なスキルと経験が必要とされる面が多く、創造力が求められています。
あなたなら、まずどちらを目指しますか?
参考
