ソフトウェアエンジニアリングが正式な職業になるには、何を変える必要がありますか?


11

他の職業(会計、法律、医学など)とは異なり、ソフトウェアエンジニアリングの職業全体の認定はありません。

専門性と経験の証明を目的とする多くの技術と方法論に固有の認定をよく知っていますが、一般に受け入れられている専門的な基準を設定する(そして法的に評価する権限を持つ)公的なソフトウェアエンジニアリング学会/統治機関はありません。

私はソフトウェアが動的な獣であることを理解しています-それは芸術でもあり科学でもありますが、ソフトウェアエンジニアリングが正式な職業になる可能性があるのか​​と思っています。

これを実現するには何を変更する必要がありますか?

(誰かがこのトピックの正式な研究を知っているなら、参考文献を大いに歓迎します)



更新

ソフトウェアエンジニアリングの現在の認定レベルに関して、以下に挙げた多くの良い点に同意します。また、一部の国ではソフトウェアエンジニアリングを職業として扱い、他の国ではそうではないことも非常に興味深いと感じています。

しかし、「正式な職業」という用語を取り巻くシュラウドと、それがソフトウェアエンジニアリングにどのように適用されるかについては、多少のシュラウドがあるようです。ソフトウェアエンジニアリングの重要な問題-そしてそれが本格的な職業ではない主な理由-は、認定ソフトウェアエンジニアである場合、たとえば-エレベーター用に書いたソフトウェアが誤動作して人を殺すためだと思う正式な専門機関の認定やメンバーシップが取り消されることはありません。

確かに、あなたの会社は何百万人も訴えられるかもしれませんし、あなたは個人的にあなたの仕事を失い、悪い評価を得るかもしれませんが、一般的に言えば、あなたは個人的にはその会社に雇用された結果として有限責任のシールドによって保護されています。言い換えれば、私の知る限り、巨大な詰め込みを行った後、取引を公式に禁止する義務がある法的評価/執行はありません(他の正式な専門職やその統治社会とは異なります) 。

私は、ソフトウェアエンジニアリング-現状では-能力主義であり、正式な職業である必要はなく、これは変更すべきでない良いことであるという事実に触れた答えがとても気に入りました。同時に、ミッションクリティカルなソフトウェアのソフトウェアエンジニアとその他の/クリティカルでないソフトウェアの開発者を明確に区別する必要があると思います。

ミッションクリティカルなソフトウェアに取り組んでいる、またはこれまでに取り組んだことのある人に、個人的な責任はありますか?確かに、ソフトウェアエンジニアが費用のかかるミスを犯した場合、正式な影響が必要ですか?


3
正式な職業になることの利点は何ですか?
ピーターB

1
非常にローカライズされています。ここケベックでは、エンジニアと呼ばれるためには、エンジニアの注文に参加する必要があります。ソフトウェアエンジニアにも同じルールが適用されます。など。倫理、規則のコード、responsability保険、付属しています
ジャン=フランソワ・コテ

5
明らかに白衣。ネクタイ付き。
ベンBrocka

2
@Pieter B:すべての医師が満たす必要のある標準を保証する正式な職業がなかった場合、医師の診察についてどう思いますか?
ジョルジオ

1
この質問を再開することに投票しました。「ソフトウェアエンジニアが認定されたプロフェッショナルエンジニアになることはできますか?」の複製ではありません。その質問は、職業の現在のステータスを考慮して、キャリアの選択について尋ねています。この質問は、その状態と知覚された望ましい状態との間のギャップ、およびそのギャップを埋めるためにどのように行動するかについて尋ねます。これらはさまざまなトピックです。

回答:


15

利用可能な情報に基づいて、ソフトウェアエンジニアリングはすでに正式な職業であると考えています。それ自体は広く受け入れられていないかもしれませんが、職業の特性について一般的に受け入れられている基準を満たしています。

専門家に関するウィキペディアの記事から:

職業の特徴を定義することについてはかなりの合意があります。彼らは「専門職協会、認知基盤、制度化されたトレーニング、ライセンス、仕事の自律性、同僚の統制...(および)倫理規範」[18]を持ち、ラーソンはさらに「高度な職業的および知的卓越性、 "(ラーソン、p。221)"職業は特別な力と名声を持つ職業である "(ラーソン、px)、そしてそれらはすべての社会で"排他的なエリートグループ "(ラーソン、p。20)を構成する。

これは、マガリ・サルファッティ・ラーソンの「プロフェッショナリズムの台頭:社会学的分析」を広く引用しています。「職業の特性」を検索すると、同様の結果が得られる傾向があります。

ソフトウェアエンジニアリングはこれらの特性に対してどのように積み重ねられますか?

  • 専門家協会ソフトウェアエンジニアには多くの専門家協会があります。IEEEより具体的にはIEEEコンピュータ学会は、 IEEEコンピュータ学会は、コンピュータとソフトウェアエンジニアに特に焦点を当てて、世界中のエンジニアで働く専門家を提供しています。ACMは、一般的にアメリカでは、コンピューティングで働く専門家のための別の専門的な組織です。また、一般に英国には、情報通信技術の専門家のさまざまな側面に対応するBritish Computer Societyもあります。

  • Cognitive Baseソフトウェアエンジニアリングの知識体系は、IEEE、ボーイング、カナダ国立研究評議会、レイ​​セオン、Construx Software、カナダプロフェッショナルエンジニア評議会、MITRE Corporation、NIST、Rational、SAP(2004年版)が後援しています。これは、特に「ソフトウェアエンジニアリングを正当なエンジニアリングの規律と認められた職業にする」ためのステップとして開始されまし

  • 制度化されたトレーニング米国では、情報技術、コンピューターサイエンス、およびソフトウェアエンジニアリングプログラムはABETによって認定されています。カナダでは、コンピューターサイエンスおよびソフトウェアエンジニアリングプログラムはCIPSの認定を受けています。これらの組織は、認定プログラムを卒業した学生がプロフェッショナルな環境で機能できるようにするための最小基準と期待される成果を定義しています。IEEEは、Software Engineering Body of Knowledgeに基づく2つの試験も提供しています- 大学生(または最近卒業した大学生)向けのCertified Software Development Associate試験と、中途採用者向けのCertified Software Development Professional試験です。

  • ライセンス 2013年4月現在、NCEESはソフトウェアエンジニアリングのプロフェッショナルエンジニアリング試験を提供しています。米国では州ごとに提供されています。ただし、Software Engineering PE試験は現在すべての州で提供されているわけではなく、ライセンスを必要とするものはさらに少なくなっています。IEEE Softwareの1999年11月/ 12月号に掲載されたこの記事、テキサス州でのライセンス要件と、オンタリオ州、ブリティッシュコロンビア州、カナダ、および英国でのライセンスの簡単な説明について説明します。テキサス州では、ライセンスは、「設計された電気または機械コンポーネントの詳細な理解が必要」な組み込みシステムまたはリアルタイムシステムの設計、テスト、または実装、および「機械デバイス、電気デバイス、および電力システム」-比較的少量のソフトウェア開発作業。ライセンスを提供する州では、最悪のシナリオは懲戒処分、制裁、またはクライアントまたは雇用主が苦情を申し立てた場合のライセンスの喪失です。ただし、実際の被害はライセンスを必要とする州でのみ発生します。ライセンスが作業を行うために必要でない限り、それを失うことは何の意味もありません。

  • Code of Ethics ACMとIEEE Computer Societyは、ソフトウェアエンジニアリングのEthics and Professional Practiceを作成しました。米国では、ソフトウェアエンジニアリングプログラムを含むABET認定エンジニアリングプログラムの卒業生は、一般にプロのエンジニアに適用される倫理規定を維持するエンジニア注文にも参加できます。

  • 仕事の自律性、同僚の管理、プロフェッショナルおよび知的卓越性の高い基準これらは、ソフトウェアエンジニアリングがエンジニアリング分野として扱われる環境で頻繁に見られます。つまり、すべての雇用主(またはフリーランサー)がソフトウェア開発をエンジニアリングとして扱うわけではありません。


6
90%、または私はプログラマーの99%がIEEE CSが存在することさえおそらく知らないとさえ言えばいいのです。医師の99%がAMAに属していなかった場合、私はその職業に対する信頼がはるかに低くなります。
ジョナサンリッチ

3
@JonathanRich-私は大学で知っていた誰もが少なくともIEEEに参加しました。どこで数字を思いついたのですか?IEEEに接続したので、実際に実際のサブスクリプション番号を持っていますか?
ラムハウンド

2
@Ramhound:私が大学にいたとき、人々はIEEEに気付いていましたが、参加した人はほとんどいなかったようです。それから、私の学校にはソフトウェアエンジニアリングプログラムではなくコンピューターサイエンスプログラムがあり、他の学校にはコンピュータープログラミングコースがありました。学校がコースの認定を取得するにつれて、ソフトウェアエンジニアリングが行われるようになりましたが、ほとんどありませんでした。また、私たちは米国にいませんでしたが、それがIEEEの参加に影響を与えるかどうかはわかりません。
FrustratedWithFormsDesigner

11
@JonathanRich、プログラマーの90%はソフトウェアエンジニアではありません。
フィリップ

6
@Philipそして、そこには問題があります。あなたはプログラマーですか?開発者ですか?ソフトウェア開発者ですか?ソフトウェアエンジニアですか?システムアナリスト?どれがプロフェッショナルで、どれがプロフェッショナルではありませんか?WordPressサイトのセットアップにソフトウェアエンジニアが必要ですか?開発者を社内のデータウェアハウジングプラットフォームに近づける必要がありますか?私が働いた人の90%よりもソフトウェアエンジニアリングに専門的にアプローチしたいと強く願っていますが、芝生を刈る人よりもDBAにお金を払いたくない人がいる場合、あなたはそうではありません最高の人材を獲得するつもりです。
ジョナサンリッチ

4

ソフトウェア開発者/エンジニア/アーキテクト/その他のために広く確立され、受け入れられている専門団体は良いことではないでしょう。

現在、これは実力主義として機能できる数少ない分野の1つです。同様に、あなたがどの程度の学位を持っているか(または、学位を持っているかどうか)、どのくらい年功序列を持っているか、どの言語を知っているかなどは気にしません。 、そして一日の終わりには、それだけが重要なことです。すなわち、あなたは物事を成し遂げることができますか?

現在、あなたは、誰かがあなたに授与した何らかの認定ではなく、あなたの能力によって評価されています。そして、これは公正で、良いもの(tm)です。


2
売春との類似性はやや
混乱してい

@mattnzそれは知的売春と呼ばれ、私の時給はおそらく従来の種類よりも低いでしょう。
MrFox

洞察に富んだ回答@MrFoxに感謝します。可能であれば、もう少しあなたの脳を選びたいです。医師/会計士/弁護士が重大で費用のかかるエラーを犯した場合、彼らは認証を失い、さらなる取引が禁止されるリスクがあります。一方、ソフトウェアエンジニアはそのようなリスクに直面することはありません。なぜなら、彼らはお金を失うことはめったにないからです(彼らが雇われている会社によって彼らに与えられた有限責任のため)。彼らが失うことになるのは、現在の仕事と評判だけです。これに照らして、ソフトウェアエンジニアリングのベストプラクティスを統治する正式な社会を持つことは理にかなっていると思いますか?
コスタコントス

2
@KostaKontosそれが現実の世界で何を意味するかを考えてみてください-ユニットテストを書かなかったり、十分なドキュメントを持っていなかったら違反になりますか?または、セキュリティ上の欠陥がある本番環境にコードをプッシュした場合、ライセンスを失いますか?それはフィールドにとって良いことでしょうか?私の主張は、これにより多くの赤字、政治、非難が追加され、すべての開発者が医療過誤保険を購入しなければならないことで保険会社の利益を膨らませるということです。しかし、それは興味深い考えです。自分のエンジニアを訴えるのは悪い考えだから、まだ起こっていないに違いない。
MrFox

0

変更する必要はありません。

以下のようトーマスが指摘し、ソフトウェアエンジニアリングは、すでに職業です。それは、エンジニアリング、プログラミング、ハッキング、および/またはクラフティングと呼ぶことができますが、それ職業としてのものであり、多くの人々がそれにお金をmakingけています。

あなたの質問はライセンスに関するものだと思います。

現在、ソフトウェアエンジニアリングの正式なライセンスはありません。十分な知能とプログラミング能力を備えた人なら誰でも、機械やデバイスで実行するよりも、コードを作成するために雇われ、支払いを受けることができます。

これは他の業界とは異なります(質問で引用されているように、法律と医学は例です)。これらの職業にはライセンスが必要です。誰でも車を運転できますが、合法的に運転するには、ダーバーライセンスが必要です。誰でもプログラムでき、ライセンスや認証は必要ありません。

今、私は、誰かが何かをする能力を持っていることを証明し(車を運転するなど)、ルールの内外を知っているという点で、ライセンスが良いと信じています。

ソフトウェアエンジニアリングには同様のライセンスが必要になる可能性がありますが、それほど良いことはないと思います。実際、恐ろしいドライバーである多くのライセンスされたドライバーがいるので、ライセンスを持っているからといって、良いドライバーやプログラマーというわけではありません。

ライセンスは参入の障壁を作りますが、この業界ではそれは良いことではないので、そのようなライセンスの利点は認識されていません。

ソフトウェアエンジニアを雇用する企業は、必要なスキルセットに基づいて、潜在的なプログラマの能力を「プログラミングテスト」でテストする必要があります。「認定」を取得したプログラマーは紙上では良さそうに見えますが、実際の経験と適性を評価するために、実際のテストで実際にテストする必要があります。


2
「「認定」を取得したプログラマーは、紙上では見栄えがよくなります」、そうではありません。
フィリップ

0

弁護士が司法試験に合格するのと同じ方法で試験に合格すれば、認定ソフトウェア開発者になることができると思います。また、認定されていないプログラマーもプログラマーとして動作できるはずだと思います。違いは、雇用主が認定プログラマ向けに広告を出したい場合、広告主が特定の説明責任を保証し、より高い価格で提供できることです。

私は、ソフトウェア開発は説明責任のないバグの多い混乱であると言っているポスターに同意します。私はそれがそのようである必要はないと思います。優れたソフトウェアを作りたいと考えている開発者もいます。自分を区別する方法が必要なだけです。

私は20年以上ソフトウェアを開発しています。私はこれが自分を素晴らしい開発者にするとは言いませんが、私はかなり良い開発者だと思います。問題は、空き時間にプログラミングを学び、私と同じ仕事を望んでいるすべての子供よりも優れた開発者である理由を常に実証しなければならないことです。わずかなお金で同じ仕事をすることを約束する「オフショア」開発者の軍隊は言うまでもありません。今のところ、これには多くの努力が必要です。仕事のサンプル、参考資料を提供し、テストを受け、インタビューをしなければなりません。私は簡単に悪い日を過ごし、テストで間違いを犯し、失格になる可能性がありました。むしろ、「はい、認定開発者であり、ここに私の証明書があります」と言いたいだけです。私はまだ面接をする必要がありますが、少なくとも私は他の認定開発者とのみ競争しています。


洞察に満ちた答えをありがとう。開発者が「司法試験」を受ける前に、最低限の実務経験が必要だと思いますか?弁護士/会計士が2〜3年の記事を完了する方法と同様です。この最小要件があった場合、仕事全体で得られる経験の一貫性を確保するために、仕事自体をある程度標準化すべきだと思いますか?
コスタコントス

-2

少なくとも完全にではありません。ソフトウェアは塗料のような媒体です。大規模な構造の工業規模の塗装作業を行う人、高い水準で機能するように新しい塗料を設計する人がいますが、小屋の塗装のような小規模の仕事をするために塗料を購入する人もいます。独自のペイントが、猫の絵を描くためにそれを使用します。

同様に、安全性が重要なソフトウェアや金融ソフトウェアに認定エンジニアが必要な未来を見ることができましたが、アートやエンターテイメントソフトウェアを制作する人々が必要になることは決してありません。認定エンジニアがいるために必要な安全ソフトウェアまたは金融ソフトウェアを入手するには、何を変更する必要がありますか?他の職業と同じように、それを命じるには法律が必要です。


4
他のエンジニアリング分野とどう違うのですか?土木を取りましょう。誰でも小川の上に背の芝生に橋を架けることができます。しかし、誰もが湖に高速道路の橋を架けることはできません。それは他の多くの工学分野にも適用できると思います。そして、工学は職業であると一般に受け入れられています。
トーマスオーエンズ

我々はreall正式なのに来る部分、「誰もが道路橋BUIDできる」持っていないソフトウェアでしかし本当です@ThomasOwens
JKを。

2
それは真実ではない。誰もが商用ジェット旅客機用のアビオニクスソフトウェアを構築できるわけではありません。または、放射線治療装置の制御ソフトウェア。制御、規制されているソフトウェアはたくさんあり、特定の標準が必要です。ただし、ごく最近まで、他のエンジニアリング分野と同じライセンスはありませんでした。
トーマスオーエンズ

1
@ThomasOwens商用ジェット旅客機(OBIGGS)のアビオニクスソフトウェアに取り組んでいるソフトウェアエンジニアとして、実際、誰でもおそらくこれを構築できます。ソフトウェアはそれほど複雑ではありません。しかし、顧客はそれが堅牢であり、爆発しないことを確信していることに本当にうるさいです。誰もが橋を架けることができるように、ひどく、だれでもOBIGGSユニットをコーディングすることができます。専門的な側面は、テスト、プロセス、DO-178bへの取り組み、そして国際日付変更線を越えても空から落ちないことを自信を持って示すことができることです。
フィリップ

3
「ソフトウェアには物理学の類似物はありません」:数学または他の形式的な方法と呼ばれています。実際、ミッションクリティカルなソフトウェアの場合、作業の大部分は仕様、検証、テストに費やされ、実際のコーディングに費やされる作業はわずか10%です。ミッションクリティカルではないソフトウェアのみがアジャイルで試行錯誤の方法(背部芝生に橋を架ける方法)で開発できますが、アビオニクスソフトウェアの構築には同じ方法を使用してください!
ジョルジオ

-2

ソフトウェアは職業ではありませんし、職業になることもありません。

「職業は、教育、見習い、試験に基づいた正式な資格の開発、メンバーを認めて規律する権限を持つ規制機関の出現、およびある程度の独占権によって、取引または職業が変化するときに発生します。」

その説明はソフトウェアとまったく一致しません。

まず、ソフトウェアに興味のある人は誰でも外出して、ソフトウェアを開発する仕事を見つけることができます。これらの人々の多くは、コンピュータープログラミングとはまったく関係のない大学の学位を取得しており、多くは学位を取得していません。これらのグループのいずれかがソフトウェアプログラマーになることを妨げるものは何もありません。

「ライセンスを取得した」メンバーは、彼らが引き起こす損害や医療過誤に対して責任を負うため、ソフトウェアは職業になれません。80〜90%の開発者は、それだけで数年以内に仕事を失うでしょう。

一般に、ソフトウェアの品質は凶悪で、バグが発生しやすく、あまりよくできていません。それは職業に値するのでしょうか?人々が免許を取得するために停止することを予測していますか プロフェッショナルな組織が高い基準とプロフェッショナルな品質を維持できない場合、それは意味がありません。それは業界の慣行に直接反します。市場投入までの時間、コスト、それは十分であり、壊れたソフトウェアを修正しようとする他のものを壊したくないため、品質、堅牢で動作するソフトウェアを書くことは世の中のほとんどの企業の原則に反していますプロ級のソフトウェアよりも重要です。

また、医療過誤について。ある開発者と別の開発者が責任があることをどのように証明するつもりですか。ソフトウェアでは、指を指すのが簡単な方法であり、両方の開発者は「正しい」。その開発者がOSの腸に隠されている文書化されていないAPIを使用し、OSベンダーがその機能を変更したり削除したりした場合、誰が責任を負うのでしょうか?

その規制機関のことで頑張ってください。マイクロソフトが「ライセンスされた」開発者を雇うことだけを許可するので、マイクロソフトが彼らにその法案を殺すよう彼らに頼むとき、議会がノーと言うのを見てみましょう。その規制機関がなければ、特に規制機関なしで独占権を取得するような付加価値がない場合、あなたを懲戒し、あなたに会費を請求する権利を有する組織に参加しようとする人。

に関しては、ライセンスを要求するのは良いことでしょうか?絶対に、認定を受けることができる人のために。新たに見つかった独占により、給与は劇的に上昇します。

しかし、他のすべての人にとって...ビジネスでのコンピューター技術の使用は、最近見られる急速な進歩に伴っておそらく減少するでしょう。言語や設計手法など、新しいソフトウェアの進歩には確かに障壁があります。結局のところ、あなたのライセンスを維持するために何年もの再訓練を必要とすることをする新しい方法をプッシュしたい人がいるでしょう。ほとんどのライセンスを受けた開発者は、その点で物事をそのままにしておくことを好みます。


あなたの主張をサポートするためにいくつかの参照を追加します(私には一定の意味を作るが、それは問題ではない)、と私はdownvoteを削除します
GNAT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.