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


24

私はアメリカで最高の給与のかかる仕事についてのCNNの記事を読んでいます。ソフトウェアアーキテクトは、#1と表示されています#9として記載されているソフトウェアエンジニア。また、ソフトウェア開発者(プログラマー)は#35にリストされています。コンピューター科学者をプログラマーに置き換えることは有効だと思いますか?

これに先立ち、私は常に「ソフトウェアエンジニア」が経験豊富なプログラマーとチームリーダーの肩書きであると考えていました。しかし、「ソフトウェアアーキテクト」はどこに収まり、正確に何をするのでしょうか?私はCNNの説明を読みましたが、それらは本当に私を満足させないので、ここで素晴らしいユーザーベースからより徹底的で経験豊富な説明を得ることができると思います。

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


1
役職については既に多くの関連する質問がありますが、これはローカライズされすぎているか、重複している可能性があります。
ジョシュK

1
:これらは、潜在的な重複などの関連思えるprogrammers.stackexchange.com/questions/13439/...programmers.stackexchange.com/questions/22124/...。しかし、私はそれをすべて一緒に持っているものを見ていません。
アダムリア

9
ソフトウェアアーキテクトがより多くの支払いを受けたい:
スティーブンC

4
うーん、散髪?
ポーカ

7
@Rob S、コンピューター科学者はソフトウェア開発者(プログラマー)ではありません
systemovich

回答:


24

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

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

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

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

TL; DRバージョン

  1. ソフトウェアエンジニアは、しばしば「プログラマ」のためだけの見せかけのタイトルであるかもしれない、やや上級であることを示します。
  2. ソフトウェアアーキテクトは、おそらくプロジェクトの全体的なアーキテクチャを設計する責任を負う高レベルのチームリーダーにほぼ適合しています。
  3. ソフトウェアエンジニアリングディレクターは、高レベルのプロジェクトマネージャーであり、最高レベルの報告を行う可能性があり、おそらくコードにはまったく触れません。

0.02ドル


22
なんて素晴らしいユーザー名、「Bobby Tables」。
ジョシュK

2
0.02ドルとは?
サラウトポジットウィニュ

10
@Sarawut:「私の2セント」。「これは私の意見です」という意味です。:)
ボビーテーブル

7

私はこの方法でそれを学びました:

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

「ソフトウェア開発者」はどうですか?
アダムリア

私は本当にその役割を定義する方法を知りません。プログラマーだと思いますが、よくわかりません。コンピューターサイエンティストと比べてはいけないということです。ごめんなさい:s
Osukaa

「コンピューターサイエンティスト」は単なる学術的称号であり、それ以上ではありません。私が働いているほとんどのプログラマーは「コンピューターサイエンティスト」です。なぜなら、「コンピューターサイエンス」を学んだからです。デジタルシステムやステートマシンの操作方法とその背後にある数学について多くを教えている科目です。「コンピューターエンジニアリング」は、「プログラミング以上のもの」が含まれる職業です。物理学や電気についても多くを教えてくれるからです。
ヤムマルコビッチ

6

ここテキサス州では、多くの企業が「ソフトウェアエンジニア」という用語を敬遠する傾向があります。なぜなら、テキサスではエンジニアのライセンスを取得しており、実際には、「密閉」プロフェッショナルエンジニア、ソフトウェア(http:// www .tbpe.state.tx.us / eng_req.htm)。

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

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

また、企業は、「ソフトウェアエンジニア」ではなく「ソフトウェア開発者」のVisaの問題に対処する時間が少し楽になります。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.