web-dev-qa-db-ja.com

ソフトウェアアーキテクト、ソフトウェアエンジニア、ソフトウェア開発者(プログラマー)の違いは何ですか?

アメリカで最も給与が高い仕事についてCNNの記事を読んでいます。 ソフトウェアアーキテクトは#1としてリストされます 。 A #9としてリストされているソフトウェアエンジニア 。そして ソフトウェア開発者(プログラマー)は#35にリストされています です。コンピューターサイエンティストをプログラマーに置き換えるのは有効だと思いますよね?

それ以前は、「ソフトウェアエンジニア」が経験豊富なプログラマやチームリーダーの称号であると常に考えていました。しかし、「ソフトウェアアーキテクト」はどこに適合し、正確には何をするのでしょうか。私はCNNの説明を読みましたが、実際には満足していません。そのため、ここの素晴らしいユーザーベースから、より詳細で経験豊富な説明を入手できると思います。

受け取ったすべての応答に対して事前に感謝します。

24
Rob S.

警告:事例証拠が続きます...

私の経験では、少なくともここオーストラリア市場では、プログラマー、ソフトウェア開発者、ソフトウェアエンジニアという用語はほぼ同じです(実際の作業をまったく同じものにするために3つすべてを保持しました)。

CNNリンクに記載されている「ソフトウェアエンジニアリングディレクター」は「ソフトウェアエンジニア」と同じではありません。それは、実際には高レベルのテクニカルプロジェクトマネージャーの役​​割に似ています。この種の人は、たとえあったとしても、実際にはあまりプログラムしません。この役割は、典型的な「ソフトウェアエンジニア」とはほとんど関係がありません。これは、多くの場合、中級から上級のプログラマにとって称賛された称号です。

リンクで説明されている「ソフトウェアアーキテクト」は、基本的には、高レベルのチームリーダーのように聞こえます。このタイプは、ソフトウェアシステムの全体的な構造を設計し、多分、後輩プログラマーにうんざりするような仕事の一部をやっています。これは、プロジェクトの責任者であり、おそらく「ソフトウェアエンジニアリングディレクター」に報告する人です。大企業では、多くのチームがさまざまな製品を作成しており、特にそれらの統合が必要です。

TL; DRバージョン

  1. 多くの場合、ソフトウェアエンジニアは「プログラマ」の称賛に値するタイトルですが、たぶんやや上級であることを示しています。
  2. おそらく、ソフトウェアアーキテクトは、プロジェクトの全体的なアーキテクチャの設計を担当する高レベルのチームリーダーとほぼ同じです。
  3. ソフトウェアエンジニアリングディレクターは、高レベルのプロジェクトマネージャーで、おそらく最高レベルに報告し、おそらくコードにはまったく触れないタイプです。

$ 0.02

24
Bobby Tables

私はこのようにしてそれを学びました:

  • ソフトウェアエンジニアは、ソフトウェア開発プロセスのすべての側面(要件、仕様、設計、アーキテクチャ、設計、実装など)を理解しているため、管理ジョブを達成したり、プロセスの任意の場所で作業したり、プロセスを改善したりできます。
  • ソフトウェアアーキテクトは、設計段階の後のアーキテクチャ段階でのみ機能する人物であり、目指すことができる最高の技術的仕事です。管理者になることができるソフトウェアエンジニアとは対照的に、プログラミングはまだ必要です。それはまた、見習いタイプの仕事です。
  • また、コンピュータサイエンスと比較しないでください。コンピュータサイエンティストはプログラムを作成できますが、他にも多くのことができるため、プログラミングの分野に限定されません。
7
Osukaa

ここテキサス州では、多くの企業が「ソフトウェアエンジニア」という言葉を敬遠する傾向があります。テキサス州ではエンジニアにライセンスを付与しているため、実際には「封印された」プロフェッショナルエンジニア、ソフトウェア( http ://www.tbpe.state.tx.us/eng_req.htm )。

一度も会ったことがないし、知り合いもいない。もちろん、エンジニアギルドは、「hello world」を書くためのライセンスを要求することで競争を非常に制限したいと思っていますが、それはまだ起こっていません。

「ソフトウェア開発者」は、ソフトウェアを書くことを主な仕事とする人によく使用されます。

また、企業は、「ソフトウェアエンジニア」よりも「ソフトウェアデベロッパー」のVisaの問題に対処するのが少し楽になります。

私は過去15年間スタートアップで働いていたので、細かく差別化された多数の役職に慣れていませんが、一般にソフトウェア「アーキテクト」は、「全体像」のレイアウトが得意な上級開発者です'ソフトウェアプロジェクトの設計。私が今までに知ったすべてのアーキテクトは、他の人と同じように、特にメインデザインが合意された後、コードの作成に多くの時間を費やしています。

6
Jim In Texas